Skip to main content
The FocusAlpha Data API is a REST API served from a single base URL:
Every route lives under /v1. All endpoints are GET except POST /v1/retrieve.
Prefer working from an AI client? Every dataset here is also exposed as a tool on the hosted MCP server — see Connect via MCP.

Conventions

Authentication. Pass your API key on every request, either as a bearer token (preferred) or in X-API-Key:
Keys start with fa_live_. See Authentication. Pagination. Most dataset routes return { data, next_cursor, coverage }. Pass next_cursor back verbatim as ?cursor= until it is null. A handful of SEC statement routes use limit-only paging instead. See Pagination. Coverage. Responses that use the data envelope carry a coverage object describing where the dataset starts and ends, how often it refreshes, and whether history is complete — read it before interpreting an empty result as “no such data exists”. Errors. Standard routes return a structured error envelope with a request id; the SEC statement family (/v1/filings*, /v1/financials*, /v1/financial-metrics, /v1/company/facts*, /v1/institutional-holdings, /v1/insider-trades) returns a flat { "error", "message" } body. See Errors. Credits. Every data call costs 1 credit, regardless of endpoint. Vocabulary and discovery routes (facets, term search, coverage lists, news themes, 8-K families) are free. Failed requests are refunded. See Plans and credits. Plans. Endpoint groups are gated by plan tier: Free (and every tier above) covers company identity and the SEC filing/financials baseline; Professional adds ownership, market data, and regional datasets; Fund adds screening, news, events, and guidance.

Endpoint groups

Company identifiers

Company-scoped dataset routes (/v1/companies/:company_id/...) accept a canonical id (cmp_006294), a ticker, a CIK, or an ISIN in the path — the API resolves any of them. The exception is the four registry routes — GET /v1/companies/:company_id and its /identifiers, /listings, and /events siblings — which require the literal cmp_ id. Non-US symbols carry their market suffix: 2330.TW (Taiwan), 005930.KS (Korea). A bare local code is ambiguous across markets — resolve it through GET /v1/companies first.

Rate limits

Requests are rate-limited per API key, per minute, by plan: Free 20/min, Professional 120/min, Fund 600/min. Exceeding the limit returns 429 on POST /v1/retrieve and 402 on the SEC statement family. Dataset routes are bounded by credits rather than a per-minute cap. See Plans and credits.