API reference

REST API

Base URL: https://api.openfilings.org — authenticate with an API key (X-API-Key). Free with a signed-in account. Same normalization pipeline as Filings and MCP. Full OpenAPI endpoint index: API reference. New here? Start with Quick start, Authentication, Rate limits, and Errors.

Endpoints

REST v1 mirrors MCP tools one-to-one — same routes, same data. Category guides: Financials, Filings, Supply chain, Market data, Analyst & transcripts. market_id values come from Market coverage / list_markets.

MCP toolHTTP
list_marketsGET /api/v1/markets
search_tickerGET /api/v1/entities/search?query=
list_filingsGET /api/v1/tickers/{ticker}/filings?market_id=
get_filingGET /api/v1/filings/resolve?ticker=&market_id=
— (REST)GET /api/v1/kpi-taxonomy
get_company_financialsGET /api/v1/companies/financials?ticker=&market_id=&fiscal_year_from=&line_items=
get_company_financials (earnings)GET /api/v1/companies/{market}/{ticker}/earnings-releases
get_company_analysisMCP get_company_analysis (no public REST URL — connect an agent)
screen_analyst_stanceGET /api/v1/analyst/screen?stance=
screen_red_flagsGET /api/v1/red-flags/screen
screen_streetGET /api/v1/street/screen
screen_issuersGET /api/v1/screen
screen_holdersGET /api/v1/holders/screen
screen_climateGET /api/v1/climate/screen
screen_pressGET /api/v1/press/screen
screen_fx_movesGET /api/v1/fx/movers
screen_index_movesGET /api/v1/macro/index-moves
get_company_supply_chainGET /api/v1/companies/{market}/{ticker}/supply-chain
list_transcriptsGET /api/v1/feeds/transcripts?ticker= (directory; full call is get_transcript)
get_company_climateGET /api/v1/companies/{market}/{ticker}/climate
— (REST)GET /api/v1/filings/{id}/kpis
list_filing_sectionsGET /api/v1/filings/{id}/sections
get_filing_sectionGET /api/v1/filings/{id}/sections/{key}
— (REST, Business)GET /api/v1/documents?ticker=&category=
— (REST, Business)GET /api/v1/documents/{id}/content
list_notificationsGET /api/user/notifications
get_company_peopleMCP get_company_people (officers and major shareholders)
search_personGET /api/v1/people?ticker=&market_id=
get_fxGET /api/v1/fx/rates
get_ratesGET /api/v1/macro/rates?group=policy
get_macroGET /api/v1/macro/weo?area=FRA&subject=NGDP_RPCH
list_newsGET /api/v1/tickers/{ticker}/press-releases?market_id=
list_corporate_eventsGET /api/v1/lifecycle-events (public, no auth; page_by=issuer default)

Python SDK (PyPI)

Official client with typed models, short 429 backoff, sync + async, and webhook helpers:

pip install openfilings

from openfilings import Client

client = Client(api_key="of_...")  # or OPENFILINGS_API_KEY

entity = client.entities.search(ticker="AAPL").entity
filings = client.filings.list("AAPL", market_id="us", limit=5)
financials = client.companies.financials(
    ticker="AAPL",
    market_id="us",
    fiscal_year_from=2020,
    fiscal_year_to=2024,
    line_items=["revenue", "ebitda"],
)
weo = client.market.weo("FRA", subject="NGDP_RPCH")

Resources mirror the table: markets, entities, filings, companies.financials, notifications, watchlist, press, webhooks. Set OPENFILINGS_API_KEY or pass api_key=. Details on PyPI.

Webhooks

Business accounts can register HTTPS endpoints for signed push delivery. See the webhooks guide.

API changes

  • 2026-08 — GET /api/v1/feeds/filings and GET /api/v1/feeds/filings.xml default limit=50 when omitted.

Example: list filings

Filing history for Toyota (7203) on Japan:

curl -s -H "X-API-Key: of_your_key" \
  "https://api.openfilings.org/api/v1/tickers/7203/filings?market_id=jp"

Response (abbreviated):

{
  "ticker": "7203",
  "market_id": "jp",
  "company_name": "Toyota Motor Corporation",
  "filings": [
    {
      "filing_id": "jp:7203:yuho:2025",
      "form_type": "Yūho",
      "period_end": "2025-03-31",
      "filed_at": "2025-06-25T09:00:00Z",
      "url": "https://disclosure.edinet-fsa.go.jp/..."
    },
    {
      "filing_id": "jp:7203:quarterly:2025-q1",
      "form_type": "Quarterly",
      "period_end": "2025-06-30",
      "filed_at": "2025-08-08T09:00:00Z",
      "url": "https://disclosure.edinet-fsa.go.jp/..."
    }
  ]
}

Example: canonical KPIs

Golden KPIs for a resolved filing:

curl -s -H "X-API-Key: of_your_key" \
  "https://api.openfilings.org/api/v1/filings/jp:7203:yuho:2025/kpis"

Response (abbreviated):

{
  "filing_id": "jp:7203:yuho:2025",
  "ticker": "7203",
  "market_id": "jp",
  "company_name": "Toyota Motor Corporation",
  "form_type": "Yūho",
  "period_end": "2025-03-31",
  "currency": "JPY",
  "accounting_standard": "jp-gaap",
  "canonical": {
    "revenue": 45095300000000,
    "gross_margin": 0.214,
    "operating_income": 4300000000000,
    "net_income": 4756000000000,
    "total_assets": 90300000000000,
    "equity": 28000000000000,
    "operating_cash_flow": 5100000000000
  },
  "kpi_validation_status": "published"
}