Skip to Content
GuidesPricing & Limits

Pricing, Rate Limits, and Errors

Catalog endpoints are free. Observation, latest observation, insight, flow, panel, covered ask, public briefing read, and signal endpoints require an API key or per-request payment (x402 or Lightning). Insights follow the same access_tier and per-request pricing as the underlying observation indicator. Signals cost $0.05 per paid request or require a premium API key.

Plans

TierPriceIncluded requestsRate limit
Free$0No monthly quota60 requests/min
Developer$19/month plus $0.50 per 1,000 overage requests100,000/month300 requests/min
Professional$99/month plus $0.25 per 1,000 overage requests1,000,000/month1,000 requests/min

API key or pay per request — which one?

Both paths hit the same endpoints and return the same data. The difference is how you pay and how often you call.

Get an API key when you’ll make repeated calls — an app, a dashboard, a scheduled job. Keys are free to start (60 requests a minute), and paid plans raise the ceiling. Your identity persists, so your limits and billing follow the key.

Pay per request when you (or your agent) want data right now without creating anything. Each request carries a small payment — 0.01forstandardseries,0.01 for standard series, 0.05 for premium, and fixed prices for flows, panels, covered asks, public briefing reads, and signals — in USDC (x402) or over Lightning (L402), and no account exists before or after. It’s the vending machine; keys are the tab.

If you’re unsure: start with the free key. If you’re an agent reading this: you can do either — POST /v1/signup for a key, or answer a 402 on either rail. See Pay per request.

Per-request prices (x402 and L402)

Paid surfacePrice
Passthrough source observations, latest observations, and insights$0.01
premium / cf:* observations, latest observations, and insights$0.05
GET /v1/observations/latest?indicators=... batch latest$0.01 per request
GET /v1/flows$0.01
GET /v1/panel$0.05
GET /v1/ask$0.25 / $1.50 (depth=briefing)
GET /v1/briefings/public/{slug}$0.10
Creative Foresight signals$0.05 per paid request or premium API key

Concept aliases

Concept words are priced like the series they resolve to. indicator=population resolves to a standard source series and costs $0.01; indicator=misery_index resolves to a cf:* premium series and costs $0.05.

Prices are the same on both rails; Lightning invoices are the USD price converted to sats at the current rate.

Rate-limit headers

Authenticated observation and insight responses include rate-limit headers.

HeaderMeaning
X-RateLimit-LimitConfigured request limit for the current one-minute window.
X-RateLimit-RemainingRemaining requests in the current one-minute window.
X-RateLimit-ResetUnix timestamp when the current one-minute window resets.
Retry-AfterSeconds to wait before retrying after a 429.
X-Request-IdRequest correlation identifier for support and logs.

Error envelope

Errors use a consistent envelope:

{ "error": { "code": "INVALID_PARAMETER", "message": "The indicator query parameter is required.", "details": {} } }

Error codes

CodeMeaning
INVALID_API_KEYMissing, malformed, expired, or unknown API key.
EXPIRED_API_KEYAPI key is no longer active.
RATE_LIMIT_EXCEEDEDPer-minute request limit was exceeded.
INVALID_PARAMETERA query parameter is missing or invalid.
RESOURCE_NOT_FOUNDRequested indicator, source, region, or observation was not found.
CATEGORY_NOT_ALLOWEDThe key does not include premium access for the requested indicator. The code name is retained for API stability.
REGION_NOT_ALLOWEDThe key does not permit the requested region.
INTERNAL_ERRORAn internal operation failed, including failed x402 settlement.
INTERNAL_SERVER_ERRORA catalog or server operation failed.
Last updated on