/api/v1/marketsList markets in your plan
Catalog of markets for the caller's plan.
- 200
ProductMarketsOut
operationId: get_api_v1_markets
OpenAPI
Every public endpoint, its parameters, and its response type — generated from the OpenAPI document. For walkthroughs and examples, see the API guides.
Programmatic access to multi-market filings, as-filed financials, supply chain, people, and market data. Authenticate with an API key (X-API-Key). Base URL: https://api.openfilings.org.
X-API-Keycurl -s https://api.openfilings.org/api/v1/openapi.json | head
Markets covered by your plan.
/api/v1/marketsCatalog of markets for the caller's plan.
ProductMarketsOutoperationId: get_api_v1_markets
Issuer search and identity lookup.
/api/v1/entities/lookupOne catalogue issuer by LEI, ISIN, or ticker (+ market_id when ambiguous).
| Param | In | Type | Notes |
|---|---|---|---|
| lei | query | string | — |
| isin | query | string | — |
| canonical_key | query | string | — |
| ticker | query | string | — |
| market_id | query | string | — |
ProductEntityLookupOutoperationId: get_api_v1_entities_lookup
/api/v1/entities/searchCross-market entity discovery (no filings). Same semantics as MCP search_ticker.
Use query for company names, ticker for exchange symbols, lei/isin for structured IDs.
Pass market_id to disambiguate a ticker reused across markets (e.g. 7203 + jp).
Inspect entity.listings (and entities[] when ambiguous) before fetching filings.
A name query can return several issuers (Toyota Motor vs Tsusho); entity is
the top hit and entities[] lists the others.
| Param | In | Type | Notes |
|---|---|---|---|
| query | query | string | — |
| ticker | query | string | — |
| cn_ticker | query | string | — |
| hk_ticker | query | string | — |
| lei | query | string | — |
| isin | query | string | — |
| market_id | query | string | — |
ProductSearchEntitiesOutoperationId: get_api_v1_entities_search
Filing history, full-text search, sections, and KPIs.
/api/v1/filings/{filing_id}/earnings-eventSEC ex99-1 earnings flash attached to an 8-K Item 2.02 (same filing row).
| Param | In | Type | Notes |
|---|---|---|---|
| filing_id* | path | string | — |
ProductEarningsEventOutoperationId: get_api_v1_filings_by_filing_id_earnings_event
/api/v1/filings/{filing_id}/kpis| Param | In | Type | Notes |
|---|---|---|---|
| filing_id* | path | string | — |
| include_groups | query | boolean | — |
| include_red_flags | query | boolean | — |
| include_gold | query | boolean | — |
ProductFilingKpisOutoperationId: get_api_v1_filings_by_filing_id_kpis
/api/v1/filings/{filing_id}/sections| Param | In | Type | Notes |
|---|---|---|---|
| filing_id* | path | string | — |
ProductFilingSectionsOutoperationId: get_api_v1_filings_by_filing_id_sections
/api/v1/filings/{filing_id}/sections/{section_key}| Param | In | Type | Notes |
|---|---|---|---|
| filing_id* | path | string | — |
| section_key* | path | string | — |
| content_format | query | string | — |
| part | query | string | — |
ProductFilingSectionOutoperationId: get_api_v1_filings_by_filing_id_sections_by_section_key
/api/v1/filings/discoverCross-market filing discovery. Same payload as MCP list_filings.
Omit market scoping: all resolved listings are searched. Use query for names,
ticker for symbols, lei/isin for structured IDs (not in ticker). Prefer
GET /filings/discover over legacy /tickers/{ticker}/filings?market_id=us.
| Param | In | Type | Notes |
|---|---|---|---|
| query | query | string | — |
| ticker | query | string | — |
| cn_ticker | query | string | — |
| hk_ticker | query | string | — |
| lei | query | string | — |
| isin | query | string | — |
| limit | query | integer | — |
| since_year | query | integer | — |
| form_types | query | string[] | — |
ProductDiscoveryOutoperationId: get_api_v1_filings_discover
/api/v1/filings/resolve| Param | In | Type | Notes |
|---|---|---|---|
| ticker* | query | string | — |
| market_id | query | string | — |
| form_type | query | string | — |
| filing_date | query | string | — |
| filing_id | query | string | — |
ProductFilingResolveOutoperationId: get_api_v1_filings_resolve
/api/v1/filings/searchFull-text search over filing section bodies (Latin markets).
| Param | In | Type | Notes |
|---|---|---|---|
| q* | query | string | websearch_to_tsquery syntax |
| registry | query | string | Limit to one registry (us_sec, eu_esef, …). Default: all phase-1 Latin. |
| filed_from | query | string | ISO date YYYY-MM-DD |
| filed_to | query | string | ISO date YYYY-MM-DD |
| section_key | query | string | — |
| lang | query | string | Override query regconfig (english/simple/portuguese). Default: derived from registry so it matches how rows were indexed. |
| limit | query | integer | — |
| offset | query | integer | — |
FilingSectionSearchOutoperationId: get_api_v1_filings_search
/api/v1/red-flags/screenIssuers with a red flag in the window, one card each.
The card is the newest filing in the window that still has a flag
judged event, or not yet judged. Boilerplate and unclear are left
out. A bare call uses 90 days; pass window_days (1 to 1825) or
window for any other length. Metered.
| Param | In | Type | Notes |
|---|---|---|---|
| rule_id | query | string | Exact rule id |
| severity | query | string | CRITICAL, HIGH, MEDIUM, or LOW |
| market_id | query | string | — |
| window_days | query | integer | — |
| window | query | string | 7d, 1m, 3m, 6m, 1y, 3y, 5y. Must agree with window_days. |
| limit | query | integer | — |
| cursor | query | string | — |
RedFlagScreenOutoperationId: get_api_v1_red_flags_screen
/api/v1/tickers/{ticker}/filingsFilings for one ticker in one market. For cross-market queries use GET /api/v1/filings/discover.
| Param | In | Type | Notes |
|---|---|---|---|
| ticker* | path | string | — |
| market_id | query | string | — |
| limit | query | integer | — |
| since_year | query | integer | Period-end year lower bound (reporting_for >= since_year). |
| form_types | query | string[] | — |
ProductListFilingsOutoperationId: get_api_v1_tickers_by_ticker_filings
As-filed multi-year series and the KPI taxonomy.
/api/v1/companies/financialsCompany + period financials (no filing_id). One call for a multi-year series.
| Param | In | Type | Notes |
|---|---|---|---|
| ticker | query | string | — |
| market_id | query | string | — |
| lei | query | string | — |
| isin | query | string | — |
| canonical_key | query | string | — |
| fiscal_year | query | integer | — |
| fiscal_year_from | query | integer | — |
| fiscal_year_to | query | integer | — |
| fiscal_period | query | string | — |
| statement_type | query | string | — |
| line_items | query | string | Comma-separated canonical keys, or ALL (default) |
| as_of | query | string | ISO date YYYY-MM-DD |
CompanyFinancialsOutoperationId: get_api_v1_companies_financials
/api/v1/kpi-taxonomyCanonical KPI line_item codes (income/balance/cashflow/shares).
| Param | In | Type | Notes |
|---|---|---|---|
| statement_type | query | string | — |
| market | query | string | — |
KpiTaxonomyOutoperationId: get_api_v1_kpi_taxonomy
Earnings releases, supply chain, quotes, and holders.
/api/v1/analyst/screenIssuers by our analyst verdict. Call is the latest primary earnings call. Filing is the latest annual report. A bare call has no date window: the row is already the latest verdict. Metered.
| Param | In | Type | Notes |
|---|---|---|---|
| stance* | query | string | Comma-separated: strong_buy, buy, hold, sell, strong_sell, no_conviction |
| source | query | string | call or filing. Omit to prefer the call. |
| market_id | query | string | — |
| window_days | query | integer | — |
| window | query | string | — |
| limit | query | integer | — |
| cursor | query | string | — |
IssuerScreenOutoperationId: get_api_v1_analyst_screen
/api/v1/climate/screenIssuers with a published climate target. Empty while that licence is off.
| Param | In | Type | Notes |
|---|---|---|---|
| near_term_status | query | string | — |
| net_zero_year_max | query | integer | — |
| market_id | query | string | — |
| limit | query | integer | — |
| cursor | query | string | — |
IssuerScreenOutoperationId: get_api_v1_climate_screen
/api/v1/companies/{market}/{ticker}/earnings-releasesStreet earnings calendar rows for this issuer (upcoming + recent reported).
| Param | In | Type | Notes |
|---|---|---|---|
| market* | path | string | — |
| ticker* | path | string | — |
| limit | query | integer | — |
EarningsCalendarResponseoperationId: get_api_v1_companies_by_market_by_ticker_earnings_releases
/api/v1/companies/{market}/{ticker}/institutional-holdersForm 13F managers holding the issuer, one row per house.
total counts houses after successor CIKs are folded together.
limit (default 25, max 500) and offset page that set, largest
position first.
| Param | In | Type | Notes |
|---|---|---|---|
| market* | path | string | — |
| ticker* | path | string | — |
| limit | query | integer | — |
| offset | query | integer | — |
InstitutionalHoldersOutoperationId: get_api_v1_companies_by_market_by_ticker_institutional_holders
/api/v1/companies/{market}/{ticker}/market-snapshotLatest quote and market capitalisation for the issuer.
| Param | In | Type | Notes |
|---|---|---|---|
| market* | path | string | — |
| ticker* | path | string | — |
| range | query | string | Yahoo daily close history window (1mo, 6mo, 1y, 2y, 5y, max) |
MarketSnapshotoperationId: get_api_v1_companies_by_market_by_ticker_market_snapshot
/api/v1/companies/{market}/{ticker}/supply-chainNamed supplier↔customer edges + anonymous concentration disclosures.
| Param | In | Type | Notes |
|---|---|---|---|
| market* | path | string | — |
| ticker* | path | string | — |
| as_of | query | string | As-of date (YYYY-MM-DD); only used when include_expired=false |
| include_expired | query | boolean | Include edges past valid_to (default true — no 1y display cutoff) |
| disclosure_limit | query | integer | — |
| hops | query | integer | 1 = direct edges only, 2 = also walk one step from resolved counterparties |
| include_correlations | query | boolean | Attach multi-horizon price correlations on hop-1 resolved edges |
CompanySupplyChainOutoperationId: get_api_v1_companies_by_market_by_ticker_supply_chain
/api/v1/holders/screenIssuers with a current mandate at least this many years old.
officer and director are a seat. shareholder is a disclosed
holding. match.since_meaning says which. A relation with no dated
mandate in scope is a 400, not an empty page. Metered.
| Param | In | Type | Notes |
|---|---|---|---|
| relation | query | string | director, officer, or shareholder |
| min_tenure_years | query | integer | — |
| market_id | query | string | — |
| limit | query | integer | — |
| cursor | query | string | — |
IssuerScreenOutoperationId: get_api_v1_holders_screen
/api/v1/institutional-managers/{manager_cik}One Form 13F manager's latest book, largest positions first.
| Param | In | Type | Notes |
|---|---|---|---|
| manager_cik* | path | string | — |
| limit | query | integer | — |
| offset | query | integer | — |
Manager13fBookOutoperationId: get_api_v1_institutional_managers_by_manager_cik
/api/v1/press/screenOne issuer per tier in the window: the latest release, not every wire.
| Param | In | Type | Notes |
|---|---|---|---|
| tier | query | string | — |
| market_id | query | string | — |
| window_days | query | integer | — |
| window | query | string | — |
| limit | query | integer | — |
| cursor | query | string | — |
IssuerScreenOutoperationId: get_api_v1_press_screen
/api/v1/screenIssuers that match every include and none of the excludes.
One window_days applies to every dated predicate. A bare call uses
21 days. exclude_pattern is the exception: a pattern is a
multi-year state, so it keeps its own lookback. At least one include
is required. Metered.
| Param | In | Type | Notes |
|---|---|---|---|
| window_days | query | integer | — |
| window | query | string | — |
| market_id | query | string | — |
| street | query | string | Comma-separated recommendation keys |
| insider | query | string | A or D |
| pattern | query | string | — |
| kind | query | string | — |
| red_flag | query | string | Rule id to require |
| holders | query | string | director, officer, or shareholder. Defaults to director when only min_tenure_years is sent. |
| min_tenure_years | query | integer | — |
| analyst | query | string | strong_buy, buy, hold, sell, strong_sell, or no_conviction |
| analyst_source | query | string | call or filing. Omit to prefer the call. |
| exclude_red_flag | query | string | — |
| exclude_pattern | query | string | — |
| exclude_kind | query | string | — |
| limit | query | integer | — |
| cursor | query | string | — |
IssuerScreenOutoperationId: get_api_v1_screen
/api/v1/street/screenIssuers by analyst recommendation, one card each.
A dual listing is several rows. The card uses the home listing when
that listing has a snapshot; otherwise the listing with the most
analysts, and match.listing says which. match.as_of is the
date of the weekly sweep. Metered.
| Param | In | Type | Notes |
|---|---|---|---|
| recommendation_key | query | string | strong_buy, buy, hold, sell, or strong_sell |
| market_id | query | string | — |
| window_days | query | integer | Keep snapshots dated within this many days. A bare call uses 21. |
| window | query | string | 7d, 1m, 3m, 6m, 1y, 3y, 5y. Must agree with window_days. |
| limit | query | integer | — |
| cursor | query | string | — |
StreetScreenOutoperationId: get_api_v1_street_screen
Issuer press releases.
/api/v1/filings/{filing_id}/press-releasesPress releases near a filing date (±14 day window). Free plans get the preview, not a 403 — see the ticker route above.
| Param | In | Type | Notes |
|---|---|---|---|
| filing_id* | path | string | — |
| limit | query | integer | — |
ProductListPressReleasesOutoperationId: get_api_v1_filings_by_filing_id_press_releases
/api/v1/tickers/{ticker}/press-releasesPress releases published by the issuer, newest first.
| Param | In | Type | Notes |
|---|---|---|---|
| ticker* | path | string | — |
| market | query | string | Listing market. Omit to resolve the issuer on its home market. |
| market_id | query | string | — |
| isin | query | string | — |
| subject_code | query | integer | — |
| tier | query | integer | — |
| limit | query | integer | — |
ProductListPressReleasesOutoperationId: get_api_v1_tickers_by_ticker_press_releases
Officers, directors, and insider transactions.
/api/v1/peopleDirectory of officers, directors, and major shareholders.
| Param | In | Type | Notes |
|---|---|---|---|
| q | query | string | Search on the person / institution name |
| kind | query | string | One of person, institution |
| relation | query | string | Current role filter: officer, director, major_shareholder, significant_control |
| market | query | string | Market id of the issuer |
| canonical_key | query | string | All parties holding a current role at one issuer |
| ticker | query | string | Listed symbol; pass market_id when ambiguous |
| market_id | query | string | Issuer listing market with ticker (identity). Distinct from market, which filters all people on a market. |
| lei | query | string | — |
| isin | query | string | — |
| sort | query | string | companies (mandate count, default), ownership (max stake), name, name_desc, tenure (longest current filing-derived mandate; needs since_date, excludes MarketScreener), renewal (until_date in the next 180 days — term up for renewal, not outgoing; almost only CN) |
| limit | query | integer | — |
| offset | query | integer | — |
| min_tenure_years | query | integer | Current mandate started at least this many years ago. since_date is the seat for an officer or director, and the disclosed holding for a major shareholder. |
PersonListResponseoperationId: get_api_v1_people
/api/v1/people/{slug}Profile for <name-slug>-<id prefix>; the name part is decorative.
| Param | In | Type | Notes |
|---|---|---|---|
| slug* | path | string | — |
PersonProfileResponseoperationId: get_api_v1_people_by_slug
/api/v1/people/{slug}/companiesPaged mandates — institutional holders run to hundreds of positions.
| Param | In | Type | Notes |
|---|---|---|---|
| slug* | path | string | — |
| relation | query | string | — |
| limit | query | integer | — |
| offset | query | integer | — |
PersonRolesResponseoperationId: get_api_v1_people_by_slug_companies
/api/v1/people/{slug}/insider-transactionsInsider transactions attributed to this party. Free plans get the preview, not a 403 — same stripping as the ticker and filing routes.
| Param | In | Type | Notes |
|---|---|---|---|
| slug* | path | string | — |
| limit | query | integer | — |
PersonInsiderTransactionsResponseoperationId: get_api_v1_people_by_slug_insider_transactions
/api/v1/people/facetsCounts by kind, relation, and market for the people search filters.
PeopleFacetsResponseoperationId: get_api_v1_people_facets
/api/v1/tickers/{ticker}/insider-transactionsInsider transactions (SEC Form 4 and equivalents) reported for the issuer.
| Param | In | Type | Notes |
|---|---|---|---|
| ticker* | path | string | — |
| market | query | string | — |
| market_id | query | string | — |
| isin | query | string | — |
| transaction_code | query | string | — |
| acquired_disposed | query | string | — |
| since_date | query | string | ISO date YYYY-MM-DD |
| limit | query | integer | — |
ProductListInsiderTransactionsOutoperationId: get_api_v1_tickers_by_ticker_insider_transactions
Corporate actions and issuer lifecycle events.
/api/v1/lifecycle-eventsMarket-wide lifecycle tape — who left the list, which bids completed. Public like the insider-trades explorer. Each row still names the filing that evidences it.
| Param | In | Type | Notes |
|---|---|---|---|
| kind | query | string | — |
| kinds | query | string | Comma-separated kinds when not filtering to one |
| market_id | query | string | — |
| since | query | string | — |
| until | query | string | — |
| q | query | string | Issuer name, ticker, or LEI fragment |
| limit | query | integer | — |
| offset | query | integer | — |
| exclude_debt | query | boolean | Drop LSE Official List note/bond cancellations (Exits tape) |
| page_by | query | string | issuer = page of companies with all their events; event = raw rows |
MarketLifecycleEventsOutoperationId: get_api_v1_lifecycle_events
/api/v1/tickers/{ticker}/corporate-eventsOne issuer's lifecycle timeline, newest first.
Each event names the filing that evidences it and the regulator item
code that produced it, so a reader can check the claim. kind
acquisition_or_disposal does not say which side the company was on —
the item code cannot distinguish them.
| Param | In | Type | Notes |
|---|---|---|---|
| ticker* | path | string | — |
| market | query | string | — |
| market_id | query | string | — |
| isin | query | string | — |
| kind | query | string | acquisition_or_disposal | delisting | listing_removal | registration_terminated | control_change | restructuring | ipo | tender_offer_announced | tender_offer_completed | tender_offer_withdrawn | name_change | listing_deficiency | bankruptcy | cybersecurity_incident | auditor_change | non_reliance | late_filing_notice | restatement | audit_opinion | investigation_committee | going_concern | internal_control_weakness | exchange_status | regulatory_action | misconduct | guidance_revision | equity_offering | convertible_issue | capital_reduction | buyback | payment_default | business_suspension | dissolution | creditor_management | litigation |
| limit | query | integer | — |
CompanyCorporateEventsOutoperationId: get_api_v1_tickers_by_ticker_corporate_events
Auditor changes, non-clean opinions, restatements, investigations, dilution, distress and forecast revisions read from issuers' own notices — per-issuer dossier with computed profile and named patterns, a pattern screen, and the feed.
/api/v1/signalsScreen issuers by disclosure pattern, or by a single kind.
pattern runs the pattern scan (patterns + profile). kind or
family runs a SQL screen (one card per issuer, match says which
kind hit and when). Passing both is a 400 — they are different engines.
Kind screens default to 7 days only so a bare call answers; pass
window_days (1 to 1825) or window (7d, 1m, 3m, 6m, 1y, 3y, 5y).
Pattern screens keep their multi-year lookback unless you pass a window,
which keeps issuers whose latest trigger falls inside it. A pattern page
still reruns that scan; the cursor only shortens the response.
| Param | In | Type | Notes |
|---|---|---|---|
| pattern | query | string | dilution_spiral | audit_distress | auditor_churn | accounting_failure | late_filer | guidance_cut_streak | exit_risk (omit: any) |
| market_id | query | string | — |
| strength | query | string | strong | moderate |
| limit | query | integer | — |
| offset | query | integer | — |
| kind | query | string | One disclosure kind (going_concern, litigation, auditor_change, …). SQL screen. Do not combine with pattern. |
| family | query | string | dilution | audit | reporting | governance | distress | guidance | capital_return | legal. SQL screen. Do not combine with pattern. |
| window_days | query | integer | — |
| window | query | string | Alias for window_days: 7d, 1m, 3m, 6m, 1y, 3y, 5y. Must agree with window_days. |
| cursor | query | string | — |
SignalScreenOutoperationId: get_api_v1_signals
/api/v1/signals/base-ratesHow each signal has moved prices: abnormal return vs the market benchmark (S&P 500, Nikkei 225, KOSPI, Hang Seng, Shanghai Composite) at 2, 5 and 20 trading days after the last close before the event, per market, kind and variant (direction, status, opinion, salience, authority): n, mean, median, quartiles, share negative, t-stat.
| Param | In | Type | Notes |
|---|---|---|---|
| market_id | query | string | — |
| kind | query | string | — |
SignalBaseRatesOutoperationId: get_api_v1_signals_base_rates
/api/v1/signals/eventsThe signal feed across issuers, newest first — the stream to alert on.
| Param | In | Type | Notes |
|---|---|---|---|
| family | query | string | dilution | audit | reporting | governance | distress | guidance | capital_return | legal |
| kinds | query | string | Comma-separated kinds (overrides family) |
| market_id | query | string | — |
| since | query | string | — |
| until | query | string | — |
| window_days | query | integer | — |
| window | query | string | 7d, 1m, 3m, 6m, 1y, 3y, 5y. Do not combine with since. |
| salience | query | string | notable | routine |
| structured_only | query | boolean | Only events whose document has been read into fields |
| limit | query | integer | — |
| offset | query | integer | — |
SignalEventsOutoperationId: get_api_v1_signals_events
/api/v1/tickers/{ticker}/signalsOne issuer's disclosure dossier.
- profile — dilution over 12 months (stated new-share and
convertible percentages), latest non-clean audit opinion,
going-concern state, auditor changes, late filings, restatements,
investigations, forecast revisions up / down.
- patterns — named combinations (dilution_spiral,
audit_distress, auditor_churn, accounting_failure,
late_filer, guidance_cut_streak, exit_risk), each with
strength, dates, a one-line why and the event_ids behind it.
- cases — events grouped into stories (notices that cite each
other), newest first; each event carries family, salience
(routine | notable), typed fields and evidence.
| Param | In | Type | Notes |
|---|---|---|---|
| ticker* | path | string | — |
| market | query | string | — |
| market_id | query | string | — |
| isin | query | string | — |
CompanySignalsOutoperationId: get_api_v1_tickers_by_ticker_signals
FX and policy rates.
/api/v1/fx/moversLargest stored currency moves against USD.
change_pct > 0 means the currency gained against the dollar.
usd_change_pct and local_per_usd are the raw quote. A currency
with no stored history is omitted.
| Param | In | Type | Notes |
|---|---|---|---|
| window_days | query | integer | — |
| window | query | string | — |
| limit | query | integer | — |
MoversOutoperationId: get_api_v1_fx_movers
/api/v1/fx/ratesSpot FX rates, in local currency units per 1 USD.
FxRatesResponseoperationId: get_api_v1_fx_rates
/api/v1/macro/index-movesLargest stored index moves. The dates in each row are the closes used.
| Param | In | Type | Notes |
|---|---|---|---|
| window_days | query | integer | — |
| window | query | string | — |
| category | query | string | — |
| limit | query | integer | — |
MoversOutoperationId: get_api_v1_macro_index_moves
/api/v1/macro/ratesUS Treasury constant-maturity yields, G10 10-year government bond yields, and central-bank policy rates.
| Param | In | Type | Notes |
|---|---|---|---|
| group | query | string | Comma-separated groups: ust,gov10y,ea_curve,policy (default all) |
| min_value | query | number | Keep policy or gov10y rows at or above this level |
| window_days | query | integer | — |
| window | query | string | — |
| changed | query | boolean | Keep rows whose level differs from the point N days earlier |
MacroRatesResponseoperationId: get_api_v1_macro_rates
/api/v1/macro/weoIMF WEO series for one vintage; is_forecast follows the IMF last-actual year.
| Param | In | Type | Notes |
|---|---|---|---|
| area* | query | string | ISO3, e.g. FRA |
| subject | query | string | — |
| vintage | query | string | WEO vintage YYYY-MM |
WeoSeriesResponseoperationId: get_api_v1_macro_weo
/api/v1/macro/weo/areasCountries (not IMF aggregates) in the latest — or given — IMF WEO vintage.
| Param | In | Type | Notes |
|---|---|---|---|
| vintage | query | string | WEO vintage YYYY-MM |
WeoAreasResponseoperationId: get_api_v1_macro_weo_areas
Raw document archive (Business plan).
/api/v1/documentsList documents (filings + IR publications) with taxonomy filters.
| Param | In | Type | Notes |
|---|---|---|---|
| ticker | query | string | Exchange symbol; pair with market when reused across markets (7203 + jp). |
| isin | query | string | — |
| lei | query | string | — |
| canonical_key | query | string | — |
| market | query | string | With an issuer identifier: disambiguates the ticker. Alone: market filter. |
| registry | query | string | — |
| category | query | string[] | Repeatable: category=annual_report&category=proxy |
| category_group | query | string | — |
| native_type | query | string | — |
| subtype | query | string | — |
| origin | query | string | — |
| from | query | string | — |
| to | query | string | — |
| fiscal_year | query | integer | — |
| archived | query | boolean | Only documents whose bytes are archived |
| limit | query | integer | — |
| cursor | query | string | — |
DocumentListOutoperationId: get_api_v1_documents
/api/v1/documents/{document_id}Document metadata, files and ZIP member manifest.
| Param | In | Type | Notes |
|---|---|---|---|
| document_id* | path | string | — |
| member_offset | query | integer | — |
DocumentDetailOutoperationId: get_api_v1_documents_by_document_id
/api/v1/documents/{document_id}/contentRedirects (302) to a short-lived download URL for the document's raw bytes.
| Param | In | Type | Notes |
|---|---|---|---|
| document_id* | path | string | — |
| file_id | query | string | — |
operationId: get_api_v1_documents_by_document_id_content
/api/v1/documents/taxonomyDocument taxonomy: categories (grouped), IR native types and subtypes.
| Param | In | Type | Notes |
|---|---|---|---|
| counts | query | boolean | Include document_count per category |
DocumentTaxonomyOutoperationId: get_api_v1_documents_taxonomy
Watchlist, notifications, and webhooks.
/api/user/notifications| Param | In | Type | Notes |
|---|---|---|---|
| limit | query | integer | — |
| cursor | query | string | Notification id for pagination |
| unread_only | query | boolean | — |
| since | query | string | ISO8601 — items created after |
| since_hours | query | integer | Relative lower bound in hours (e.g. 24 = last 24h) |
| until | query | string | ISO8601 — items created at or before |
| event_types | query | string[] | Filter by event type (e.g. filing.discovered) |
| market_ids | query | string[] | Filter by market id (e.g. us, eu) |
| categories | query | string[] | Filter by canonical filing category (e.g. material_event) |
| category_groups | query | string[] | Filter by coarse category group (e.g. periodic, mna) |
| tickers | query | string[] | Filter by ticker |
NotificationListResponseoperationId: get_api_user_notifications
/api/user/notifications/{notification_id}| Param | In | Type | Notes |
|---|---|---|---|
| notification_id* | path | string | — |
NotificationItemoperationId: get_api_user_notifications_by_notification_id
/api/user/notifications/{notification_id}/read| Param | In | Type | Notes |
|---|---|---|---|
| notification_id* | path | string | — |
NotificationItemoperationId: patch_api_user_notifications_by_notification_id_read
/api/user/notifications/read-alloperationId: post_api_user_notifications_read_all
/api/user/notifications/unread-countNotificationUnreadCountResponseoperationId: get_api_user_notifications_unread_count
/api/user/watchlistUserWatchlistResponseoperationId: get_api_user_watchlist
/api/user/watchlistUserWatchlistResponseoperationId: post_api_user_watchlist
/api/user/watchlist/{ticker}| Param | In | Type | Notes |
|---|---|---|---|
| ticker* | path | string | — |
UserWatchlistResponseoperationId: delete_api_user_watchlist_by_ticker
/api/user/watchlist/{ticker}| Param | In | Type | Notes |
|---|---|---|---|
| ticker* | path | string | — |
UserWatchlistResponseoperationId: patch_api_user_watchlist_by_ticker
/api/user/webhooksUserWebhookOut[]operationId: get_api_user_webhooks
/api/user/webhooksUserWebhookOutoperationId: post_api_user_webhooks
/api/user/webhooks/{webhook_id}| Param | In | Type | Notes |
|---|---|---|---|
| webhook_id* | path | string | — |
operationId: delete_api_user_webhooks_by_webhook_id
/api/user/webhooks/{webhook_id}| Param | In | Type | Notes |
|---|---|---|---|
| webhook_id* | path | string | — |
UserWebhookOutoperationId: patch_api_user_webhooks_by_webhook_id
/api/user/webhooks/{webhook_id}/testFire one signed webhook.test ping synchronously so integrators can
verify their handler + HMAC verification without waiting for a real filing.
| Param | In | Type | Notes |
|---|---|---|---|
| webhook_id* | path | string | — |
UserWebhookTestResultoperationId: post_api_user_webhooks_by_webhook_id_test