Send your key
You can pass the key in either of two header forms. Both are equivalent. Pick one and use it consistently.Scopes
Each key is granted one or more scopes. A scope controls which families of routes the key may call. Calling a route your key lacks the scope for returns403 forbidden.
admin is a superset: a key with admin can also call data:read and ops:read routes. Request the narrowest scope that covers your use case.Endpoints that need no key
A small set of discovery and health endpoints are open and require no authentication:GET /healthGET /readyGET /openapi.jsonGET /llms.txtGET /llms-full.txt
/llms.txt and /llms-full.txt files are agent-readable indexes of the API, designed so an AI agent can discover Financial Data API before it ever holds a key.
Errors
Authentication and authorization failures use the standard Financial Data API error envelope with a stable machine-readablecode:
401
No key was supplied, or the key is invalid. Check that the header is present and the value is correct.
403
The key is valid but lacks the scope required by the route. Request a key with the needed scope (or use an
admin key).401 unauthorized
Rate limits
Rate limits are enforced per client, per required scope, in a fixed window. Every API response includes the current limit state in headers:
Default limits use a 60-second window:
data:read allows 1000 requests per minute, ops:read allows 500 per minute, and admin allows 250 per minute. When you exceed a limit, Financial Data API returns 429 rate_limited with details describing the breach:
429 rate_limited
Next steps
Quickstart
Make your first authenticated call and page through results.
API reference
Browse every endpoint, parameter, and response field.

