Skip to main content
The FocusAlpha Data API gives you programmatic access to the data layer behind FocusAlpha: SEC filings and financial statements, earnings call transcripts, a global company registry spanning roughly 25,000 companies across 82 countries, 13F and insider ownership, the Form ADV adviser directory, ETF holdings and NAV, corporate events and news signals, and native coverage of Taiwan, Korea, Japan and foreign private issuers. Everything is served as JSON over HTTPS from a single base URL:
Requests are authenticated with an API key and metered in credits — one credit per data call, with discovery and vocabulary endpoints free. See Plans & credits for how metering works.

Get started

Quickstart

Create a key and make your first request in under five minutes.

Authentication

How API keys work, how to send them, and how to manage them.

Plans & credits

What each plan includes and how usage is metered.

Connect via MCP

Use every dataset from Claude, Cursor, or any MCP client.

Coverage & freshness

What each dataset covers and how often it refreshes.

Company identifiers

One identifier across every company-scoped dataset.

The datasets

Coverage windows and refresh cadence vary by dataset — Coverage & freshness has the full picture, and Dataset status reports it live.

How the API behaves

  • Server-to-server. The API is designed to be called from your backend. Keep keys out of client-side code.
  • Predictable pagination. Most dataset routes return { data, next_cursor, coverage }; pass next_cursor back verbatim to page. Details in Pagination.
  • Honest errors. Validation fails loudly, out-of-credit and plan-gate refusals are explicit 402s, and every response carries a request ID you can quote to support. Details in Errors.
  • One identifier to rule them all. Company-scoped routes accept a ticker, CIK, ISIN, or a canonical cmp_… id interchangeably. Details in Company identifiers.
Questions or coverage requests? Reach us at jennifer@focusalpha.ai.