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 tool | HTTP |
|---|---|
| list_markets | GET /api/v1/markets |
| search_ticker | GET /api/v1/entities/search?query= |
| list_filings | GET /api/v1/tickers/{ticker}/filings?market_id= |
| get_filing | GET /api/v1/filings/resolve?ticker=&market_id= |
| — (REST) | GET /api/v1/kpi-taxonomy |
| get_company_financials | GET /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_analysis | MCP get_company_analysis (no public REST URL — connect an agent) |
| screen_analyst_stance | GET /api/v1/analyst/screen?stance= |
| screen_red_flags | GET /api/v1/red-flags/screen |
| screen_street | GET /api/v1/street/screen |
| screen_issuers | GET /api/v1/screen |
| screen_holders | GET /api/v1/holders/screen |
| screen_climate | GET /api/v1/climate/screen |
| screen_press | GET /api/v1/press/screen |
| screen_fx_moves | GET /api/v1/fx/movers |
| screen_index_moves | GET /api/v1/macro/index-moves |
| get_company_supply_chain | GET /api/v1/companies/{market}/{ticker}/supply-chain |
| list_transcripts | GET /api/v1/feeds/transcripts?ticker= (directory; full call is get_transcript) |
| get_company_climate | GET /api/v1/companies/{market}/{ticker}/climate |
| — (REST) | GET /api/v1/filings/{id}/kpis |
| list_filing_sections | GET /api/v1/filings/{id}/sections |
| get_filing_section | GET /api/v1/filings/{id}/sections/{key} |
| — (REST, Business) | GET /api/v1/documents?ticker=&category= |
| — (REST, Business) | GET /api/v1/documents/{id}/content |
| list_notifications | GET /api/user/notifications |
| get_company_people | MCP get_company_people (officers and major shareholders) |
| search_person | GET /api/v1/people?ticker=&market_id= |
| get_fx | GET /api/v1/fx/rates |
| get_rates | GET /api/v1/macro/rates?group=policy |
| get_macro | GET /api/v1/macro/weo?area=FRA&subject=NGDP_RPCH |
| list_news | GET /api/v1/tickers/{ticker}/press-releases?market_id= |
| list_corporate_events | GET /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/filingsandGET /api/v1/feeds/filings.xmldefaultlimit=50when 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"
}