Repository navigation
v0.2.0
Public demo access: try the API without signing up.
Added
CabalSpy::demo()andCabalSpyBuilder::demo(): use the public demo key (DEMO_API_KEY = "demo") againsthttps://api.cabalspy.xyzandwss://stream.cabalspy.xyz. Never used by default.CabalSpy::is_demo().Error::DemoLimit { body, rate_limit, resets_in_seconds, upgrade }for HTTP 429demo_limit_reached. It is not retried. Other 429s are stillError::RateLimited.Envelope::demo: Option<DemoInfo>withnotice,remaining_today(falls back toX-Demo-Remaining) andupgradelinks (DemoUpgrade).ApiErrorBody::resets_in_seconds.- README section "Try it without signing up" with the keyless
https://demo-api.cabalspy.xyzhost and the demo limits.
Breaking changes (0.x minor bump)
Erroris not#[non_exhaustive], so the newDemoLimitvariant breaks exhaustivematches without a wildcard arm.EnvelopeandApiErrorBodyhave new public fields, which breaks code that builds them with struct literals.
Demo limits
20 requests per IP per UTC day (REST and WebSocket share the budget), data delayed by 15 minutes, at most 5 rows per list. For realtime data, get a free test key (1,000 requests/month) at https://apidashboard.cabalspy.xyz/ or pay per call with x402.
🤖 Generated with Claude Code