Riferimento API
Ogni percorso dell'API, letto dal documento OpenAPI. Ciascuno include una richiesta di esempio con una società reale. Il riferimento interattivo esegue le stesse chiamate nel browser.
GET /v1/companies
Search or page the company directory. Use it to turn a name into a company id, or to list every company with a dataset. Each item has fmd_id, cik, primary_ticker, registry, lei and available_datasets. Issuers on EU and UK regulated markets are listed with registry=esef and no CIK: filter them with registry=esef or country=FR, and pass company=lei:<LEI> to the company routes.
Example: GET https://api.financial.md/v1/companies?q=Apple&limit=5
| Parameter | In | Description |
|---|---|---|
q | query | Name or ticker search (names as substring, tickers as prefix; case-insensitive) |
country | query | ISO 3166-1 alpha-2 |
registry | query | The regulator the statements are read from: sec, or esef for issuers on EU and UK regulated markets |
exchange | query | MIC of a listing, e.g. XNAS |
template | query | Reporting template |
status | query | Company status |
updated_since | query | Companies updated since this date or timestamp |
limit | query | Maximum companies per page |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/companies?q=Apple&limit=5"GET /v1/company/profile
One company's identity: CIK, listings with exchange codes, sector, industry, reporting template, fiscal year end and which datasets are served. Call it first when you are unsure a ticker is covered. registry names the regulator the statements come from, reporting_currency the currency every value is served in (never converted), and registrations every regulator the company is known at.
Example: GET https://api.financial.md/v1/company/profile?company=ticker:AAPL
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
curl "https://api.financial.md/v1/company/profile?company=ticker:AAPL"GET /v1/company/financials/{statement}/standardized
A financial statement on the FinancialMD template, so line items compare across companies. Use it for questions such as "What was Apple's revenue in fiscal 2024?" or "What is AAPL's free cash flow?". data.periods is most recent first and row.cells[i] is the value object for periods[i], each with the 10-K or 10-Q it came from. Add as_of for what was known on a date, original=true for first-reported values, history=true for every restatement.
Example: GET https://api.financial.md/v1/company/financials/income_statement/standardized?company=ticker:AAPL&period_type=annual&limit=5
| Parameter | In | Description |
|---|---|---|
statement (required) | path | Statement; supplemental carries share counts and per-share figures |
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
period_type | query | Period type |
limit | query | Maximum periods (most recent first) |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
original | query | First-reported version of each period |
history | query | Every knowledge version of each period, oldest first |
curl "https://api.financial.md/v1/company/financials/income_statement/standardized?company=ticker:AAPL&period_type=annual&limit=5"GET /v1/company/financials/{statement}/as_reported
The same grid with the filer's own line items: one row per XBRL tag and dimension as filed. Use it when you need the company's exact label or a line the template folds into a total.
Example: GET https://api.financial.md/v1/company/financials/balance_sheet/as_reported?company=cik:320193&period_type=annual&limit=2
| Parameter | In | Description |
|---|---|---|
statement (required) | path | Statement |
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
period_type | query | Period type (as-reported serves annual, quarterly and half-year facts; balance sheets are instants at the period end) |
limit | query | Maximum periods |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
history | query | Every filing's version of each line and period, oldest first |
accession | query | Only facts from this filing |
curl "https://api.financial.md/v1/company/financials/balance_sheet/as_reported?company=cik:320193&period_type=annual&limit=2"GET /v1/company/ratios
Margins, returns, leverage, liquidity, growth and per-share ratios for each period, computed from the standardized facts. Each ratio carries the proof ids of its inputs, so it can be traced to the filing.
Example: GET https://api.financial.md/v1/company/ratios?company=ticker:AAPL&period_type=annual&limit=5
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
period_type | query | Period type |
limit | query | Maximum periods (most recent first) |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
curl "https://api.financial.md/v1/company/ratios?company=ticker:AAPL&period_type=annual&limit=5"GET /v1/company/ratios/daily/{ratio_id}
One ratio as a series. Fundamental ratios have one point per fiscal period; valuation ratios (market cap, P/E, EV/EBITDA and others) have one point per trading session, pairing the IEX close with the facts known that evening.
Example: GET https://api.financial.md/v1/company/ratios/daily/gross_margin?company=ticker:AAPL&period_type=annual&limit=10
| Parameter | In | Description |
|---|---|---|
ratio_id (required) | path | Ratio id from GET /v1/company/metrics?statement=ratios |
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
period_type | query | Period type |
limit | query | Maximum periods (most recent first); sessions for a valuation ratio |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
ticker | query | Valuation ratios: the listing whose close is used |
from | query | Valuation ratios: first session, inclusive |
to | query | Valuation ratios: last session, inclusive |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/company/ratios/daily/gross_margin?company=ticker:AAPL&period_type=annual&limit=10"GET /v1/company/metrics
The concept ids, labels, display order and subtotal formulas of the company's template. Use the ids in /v1/screen, /v1/verify and to read statement rows. statement=ratios lists the ratio ids and formulas.
Example: GET https://api.financial.md/v1/company/metrics?company=ticker:AAPL&statement=income_statement
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
statement | query | Only this statement; ratios lists the serve-time ratios with their formulas |
curl "https://api.financial.md/v1/company/metrics?company=ticker:AAPL&statement=income_statement"GET /v1/company/filings
A company's SEC filings, newest first, with accession number, form, period and filing date and an EDGAR link.
Example: GET https://api.financial.md/v1/company/filings?company=ticker:AAPL&form=10-K&limit=5
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
form | query | Form type, e.g. 10-K |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum filings |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/company/filings?company=ticker:AAPL&form=10-K&limit=5"GET /v1/filing/{accession}
One filing by accession number: form, fiscal period, filing and acceptance times, primary document and EDGAR link.
Example: GET https://api.financial.md/v1/filing/0000320193-24-000123
| Parameter | In | Description |
|---|---|---|
accession (required) | path | Accession number, e.g. 0000320193-24-000123 |
curl "https://api.financial.md/v1/filing/0000320193-24-000123"GET /v1/filing/{accession}/document
Links to every document of a filing on EDGAR. format=html returns the primary document itself, format=pdf the same document printed to pages with selectable text, format=pages its page count, and format=png&page=N one page as an image to cite.
Example: GET https://api.financial.md/v1/filing/0000320193-24-000123/document
| Parameter | In | Description |
|---|---|---|
accession (required) | path | Accession number |
format | query | json: the links. html: the primary document as EDGAR serves it (relative links resolve to EDGAR). pdf: the primary document printed to US Letter pages, with selectable text. pages: the PDF's page count and its links, as JSON. png: one page of the PDF as an image (needs page) |
page | query | With format=png: the page to return, from 1 to the page count that format=pages and the X-FMD-Page-Count header give |
curl "https://api.financial.md/v1/filing/0000320193-24-000123/document"GET /v1/filing/{accession}/facts
Every fact one filing tagged that maps to a statement concept, grouped by statement, in one call. Use it to read what a single 10-K or 10-Q said.
Example: GET https://api.financial.md/v1/filing/0000320193-24-000123/facts?statement=income_statement
| Parameter | In | Description |
|---|---|---|
accession (required) | path | Accession number |
statement | query | Only this statement |
limit | query | Maximum facts |
curl "https://api.financial.md/v1/filing/0000320193-24-000123/facts?statement=income_statement"GET /v1/company/ownership/insiders
Insider transactions from Forms 3, 4 and 5, newest first: who, role, transaction code, shares, price and the filing.
Example: GET https://api.financial.md/v1/company/ownership/insiders?company=ticker:AAPL&limit=20
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum transactions |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/company/ownership/insiders?company=ticker:AAPL&limit=20"GET /v1/company/ownership/institutional
Form 13F managers that reported a position in the company for a quarter, with shares, value and the change against the prior quarter.
Example: GET https://api.financial.md/v1/company/ownership/institutional?company=ticker:AAPL&limit=20
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
period | query | Calendar quarter end the holdings are reported for |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum positions |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/company/ownership/institutional?company=ticker:AAPL&limit=20"GET /v1/ownership/institutional/holders
Search Form 13F managers by name. Each has a CIK to pass to /v1/ownership/institutional/holdings.
Example: GET https://api.financial.md/v1/ownership/institutional/holders?q=Berkshire
| Parameter | In | Description |
|---|---|---|
q | query | Manager name search (case-insensitive substring) |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum managers |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/ownership/institutional/holders?q=Berkshire"GET /v1/ownership/institutional/holdings
One Form 13F manager's portfolio for a quarter, largest positions first.
Example: GET https://api.financial.md/v1/ownership/institutional/holdings?holder=cik:1067983&period=2026-06-30&limit=20
| Parameter | In | Description |
|---|---|---|
holder (required) | query | The manager's SEC CIK |
period | query | Calendar quarter end the holdings are reported for |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum positions |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/ownership/institutional/holdings?holder=cik:1067983&period=2026-06-30&limit=20"GET /v1/company/stock_prices
Daily bars built from trades at IEX only. This is not the consolidated tape and the close is not the official close. adjust=splits adds split-adjusted values; adjust=total_return adds dividend-reinvested values.
Example: GET https://api.financial.md/v1/company/stock_prices?company=ticker:AAPL&from=2026-10-01&to=2026-10-31
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
ticker | query | One of the company's listings; default is the ticker named in company, else the primary listing with bars |
from | query | First session, inclusive |
to | query | Last session, inclusive |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum sessions |
cursor | query | Opaque cursor from meta.next_cursor |
adjust | query | splits: each bar also carries split_adjusted values (confirmed splits after the session only); total_return: also total_return values (split-adjusted times the dividend factors of every ex-date after the session) |
curl "https://api.financial.md/v1/company/stock_prices?company=ticker:AAPL&from=2026-10-01&to=2026-10-31"GET /v1/company/splits
Stock splits as filed in XBRL, each with whether IEX prices confirm it.
Example: GET https://api.financial.md/v1/company/splits?company=ticker:AAPL
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
curl "https://api.financial.md/v1/company/splits?company=ticker:AAPL"GET /v1/company/dividends
Dividends per share declared or paid in each fiscal period, as filed, with proof.
Example: GET https://api.financial.md/v1/company/dividends?company=ticker:AAPL&limit=8
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
kind | query | Only declared or only paid |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum periods |
curl "https://api.financial.md/v1/company/dividends?company=ticker:AAPL&limit=8"GET /v1/events_calendar
Earnings releases (8-K Item 2.02 filed) and model-expected report dates, for one company or for every company in a date range.
Example: GET https://api.financial.md/v1/events_calendar?company=ticker:AAPL
| Parameter | In | Description |
|---|---|---|
company | query | Optional: one company |
from | query | First date, inclusive |
to | query | Last date, inclusive |
confidence | query | confirmed: 8-K Item 2.02 filed; predicted: cadence model |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum events |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/events_calendar?company=ticker:AAPL"GET /v1/company/events
A company's 8-K filings with the items they report (earnings, leadership changes, agreements and others), newest first.
Example: GET https://api.financial.md/v1/company/events?company=ticker:AAPL&limit=10
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
event_type | query | Only items of this type |
importance_min | query | Only filings whose highest item is at least this important |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum items |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/company/events?company=ticker:AAPL&limit=10"GET /v1/news
8-K filings across every company, newest first, each with its items, event types, a headline and an importance from 1 to 5 (FinancialMD's rule by item number). importance_min=4 gives the top stories: earnings, M&A, impairments, auditor changes, restatements, bankruptcies. Built from EDGAR, not wire news.
Example: GET https://api.financial.md/v1/news?importance_min=4&limit=20
| Parameter | In | Description |
|---|---|---|
company | query | Optional: one company |
event_type | query | Only filings with an item of this type |
importance_min | query | Only filings whose highest item is at least this important (FinancialMD's rule by 8-K item; see note) |
from | query | Accepted on or after this date (UTC) |
to | query | Accepted on or before this date (UTC) |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum filings |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/news?importance_min=4&limit=20"GET /v1/news/feed
FinancialMD's own event feed, built only from SEC filings as EDGAR accepts them: 8-K and 6-K, Schedule 13D and 13G, Rule 425, NT 10-K and NT 10-Q, S-1, and clusters of insider purchases. Each event has a type, an importance from 1 to 5 with the rule that set it, a headline made by rule from the filing's own facts (labelled, never a wire headline), key numbers with the passage they come from, and the filing link. Amendments fold under the original unless amendments=all.
Example: GET https://api.financial.md/v1/news/feed?importance_min=4&limit=20
| Parameter | In | Description |
|---|---|---|
company | query | Optional: one company |
event_type | query | Only events of this type |
importance_min | query | Only events at least this important (FinancialMD's rule; see note) |
form | query | Only events from this form (amendments included) |
amendments | query | collapse folds an amendment under its original (amended_by); all shows every filing |
from | query | Accepted on or after this date (UTC) |
to | query | Accepted on or before this date (UTC) |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum events |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/news/feed?importance_min=4&limit=20"GET /v1/news/issuer_releases
Releases issuers publish about themselves, newest first: press and earnings releases filed as SEC exhibits (text readable as passages), and the headline, link and time from issuers' own feeds (no article body stored). No wire or publisher content.
Example: GET https://api.financial.md/v1/news/issuer_releases?company=ticker:AAPL&limit=10
| Parameter | In | Description |
|---|---|---|
company | query | Optional: one company |
source | query | edgar: exhibits filed with the SEC. issuer_site: headline and link from the issuer's own feed |
from | query | Published on or after this date (UTC) |
to | query | Published on or before this date (UTC) |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum releases |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/news/issuer_releases?company=ticker:AAPL&limit=10"GET /v1/company/call_materials
What a company itself filed with the SEC around its earnings calls: earnings releases, prepared remarks, shareholder letters, presentations and any transcript the issuer chose to file. Each document has its kind, period, whether it has a Q&A section, and a link. Not a complete transcript archive: most issuers do not file call transcripts.
Example: GET https://api.financial.md/v1/company/call_materials?company=ticker:AAPL&limit=10
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
kind | query | Only documents of this kind |
from | query | Accepted on or after this date (UTC) |
to | query | Accepted on or before this date (UTC) |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum documents |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/company/call_materials?company=ticker:AAPL&limit=10"GET /v1/call_material/{id}
One issuer-filed document as ordered passages: section (prepared remarks, Q&A, safe harbor), speaker, role, topic tags and character offsets. Filter by section, speaker or topic (topic=guidance finds the passages that talk about outlook). Text is null when the filed document carries another party's copyright notice; the link still works.
Example: GET https://api.financial.md/v1/call_material/doc_1?topic=guidance
| Parameter | In | Description |
|---|---|---|
id (required) | path | Document id from /v1/company/call_materials or /v1/news/issuer_releases |
section | query | Only passages of this section |
speaker | query | Only passages whose speaker name contains this text |
topic | query | Only passages tagged with this topic |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum passages |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/call_material/doc_1?topic=guidance"GET /v1/calls_calendar
Conference calls as issuers announce them in their own SEC filings: date, time as stated, fiscal period, and the issuer's own webcast page. Link and metadata only; no audio and no transcript.
Example: GET https://api.financial.md/v1/calls_calendar?company=ticker:AAPL
| Parameter | In | Description |
|---|---|---|
company | query | Optional: one company |
from | query | Calls on or after this date (default: a week before as_of) |
to | query | Calls on or before this date (default: 97 days after from) |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum calls |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/calls_calendar?company=ticker:AAPL"GET /v1/politician_trades
Stock and other securities trades that members of the U.S. House reported in periodic transaction reports (PTRs), newest filing first. Each row carries the filer's own words under as_filed (owner, asset, type, dates, amount range), the official report at source_url with its retrieval time, and FinancialMD's own additions under financialmd (the matched company and a confidence). Handwritten reports are listed with parse_status unparsed and the link only, never guessed. The company filter matches high and medium confidence only. Every answer carries data.notice: 5 U.S.C. 13107(c)(1) limits your use of this data (no commercial use other than news media informing the public, no credit rating, no solicitation). This route is never priced. Senate reports are not loaded.
Example: GET https://api.financial.md/v1/politician_trades?company=ticker:NVDA&type=purchase&from=2026-01-01&limit=20
| Parameter | In | Description |
|---|---|---|
company | query | Optional: only trades FinancialMD matched to this company with high or medium confidence |
member | query | A member key from an earlier answer, or part of the filer's name |
chamber | query | Only this chamber (Senate reports are not loaded) |
type | query | Only this transaction type (sale also matches sale_partial) |
from | query | Transaction date on or after this date; with date_field=filing, the filing date |
to | query | Transaction date on or before this date; with date_field=filing, the filing date |
date_field | query | Which date from and to apply to |
include_unparsed | query | Also list reports that could not be read (handwritten scans) as link-only entries in data.unparsed_filings |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum transactions |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/politician_trades?company=ticker:NVDA&type=purchase&from=2026-01-01&limit=20"GET /v1/search/filings
Find the EDGAR documents (filings and exhibits since 2001) that contain words or a quoted phrase, through SEC EDGAR full-text search. Each hit names its filing, form, date and companies with FinancialMD ids, and links the document.
Example: GET https://api.financial.md/v1/search/filings?q=%22going%20concern%22&forms=10-K&limit=10
| Parameter | In | Description |
|---|---|---|
q (required) | query | Words to find; a phrase in double quotes matches exactly |
forms | query | Comma-separated form types |
company | query | Optional: only this company's documents |
from | query | Filed on or after |
to | query | Filed on or before |
page | query | Page number, 1-based |
limit | query | Maximum documents per page |
curl "https://api.financial.md/v1/search/filings?q=%22going%20concern%22&forms=10-K&limit=10"GET /v1/coverage
Which datasets FinancialMD serves and which it does not (licensed, not built, or waiting on a decision), with the routes, MCP tools, reason and alternatives for each. Read it before looking for consensus estimates, transcripts or real-time prices.
Example: GET https://api.financial.md/v1/coverage?status=conceded
| Parameter | In | Description |
|---|---|---|
status | query | Only datasets with this status |
curl "https://api.financial.md/v1/coverage?status=conceded"GET /v1/company/segments
As-reported segment facts: revenue and other lines by business segment, geography or product.
Example: GET https://api.financial.md/v1/company/segments?company=ticker:AAPL&kind=geography
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
period_type | query | Annual (four quarters) or quarterly facts |
kind | query | Segment axis kind |
tag | query | Only this XBRL tag |
limit | query | Maximum period ends |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
curl "https://api.financial.md/v1/company/segments?company=ticker:AAPL&kind=geography"GET /v1/company/ownership/insider_holders
What each insider owned after their latest Form 4 or 5 transaction.
Example: GET https://api.financial.md/v1/company/ownership/insider_holders?company=ticker:AAPL
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum holders |
curl "https://api.financial.md/v1/company/ownership/insider_holders?company=ticker:AAPL"GET /v1/company/ownership/funds
Funds holding the company in their latest Form N-PORT, with shares and value.
Example: GET https://api.financial.md/v1/company/ownership/funds?company=ticker:AAPL&limit=20
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
period | query | Report period window ending on or before this date (default: the newest) |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum funds |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/company/ownership/funds?company=ticker:AAPL&limit=20"GET /v1/funds
Search Form N-PORT funds by name or series id. Each has a series id to pass to /v1/fund/holdings and /v1/fund/profile.
Example: GET https://api.financial.md/v1/funds?q=Vanguard%20500
| Parameter | In | Description |
|---|---|---|
q | query | Fund or registrant name, or a series id |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum funds |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/funds?q=Vanguard%20500"GET /v1/fund/holdings
One fund's Form N-PORT holdings for a report period, largest first.
Example: GET https://api.financial.md/v1/fund/holdings?fund=S000002839&limit=20
| Parameter | In | Description |
|---|---|---|
fund (required) | query | SEC series id |
period | query | Report period (month end); default the newest |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum holdings |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/fund/holdings?fund=S000002839&limit=20"GET /v1/company/kpis
Company-reported metrics read from earnings releases and reports: adjusted (non-GAAP) measures and operating statistics such as product-line sales. Each value carries its exact citation and a confidence.
Example: GET https://api.financial.md/v1/company/kpis?company=ticker:AAPL&kind=operating&limit=20
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
metric | query | Only this metric slug (data.metrics lists the company's) |
kind | query | adjusted: non-GAAP measures under the company's own definition; operating: operating statistics |
period_type | query | Only this period type |
from | query | First period end, inclusive |
to | query | Last period end, inclusive |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum values |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/company/kpis?company=ticker:AAPL&kind=operating&limit=20"GET /v1/company/dividend_events
Cash dividends with declaration, record, ex and pay dates as the company's filings state them. When a filing states a record date but no ex-date, the ex-date is derived by the settlement rule and labelled ex_date_method: settlement_rule. With no record date there is no ex-date.
Example: GET https://api.financial.md/v1/company/dividend_events?company=ticker:AAPL&limit=8
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
from | query | First date, inclusive |
to | query | Last date, inclusive |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum dividends |
curl "https://api.financial.md/v1/company/dividend_events?company=ticker:AAPL&limit=8"GET /v1/company/ownership/insider_holdings
Holding lines of Forms 3, 4 and 5 as filed.
Example: GET https://api.financial.md/v1/company/ownership/insider_holdings?company=ticker:AAPL&limit=20
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
form | query | Only lines of this form |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum lines |
curl "https://api.financial.md/v1/company/ownership/insider_holdings?company=ticker:AAPL&limit=20"GET /v1/fund/profile
A fund's type (ETF, index fund and others) from Form N-CEN and each share class's prospectus fees and expense ratio. Accepts a series id or a share-class ticker.
Example: GET https://api.financial.md/v1/fund/profile?fund=VOO
| Parameter | In | Description |
|---|---|---|
fund (required) | query | Series id or share-class ticker |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
curl "https://api.financial.md/v1/fund/profile?fund=VOO"GET /v1/company/identifiers
CIK, LEI and FIGI of a company with the evidence for each.
Example: GET https://api.financial.md/v1/company/identifiers?company=ticker:AAPL
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
curl "https://api.financial.md/v1/company/identifiers?company=ticker:AAPL"GET /v1/identifiers/xref
Cross-reference one identifier to the others we lawfully hold: FMD id, CIK, tickers, LEI, FIGI, and for funds the series and class ids. Each identifier names its source and licence. A CUSIP or ISIN you already hold can be looked up; the answer names the SEC filing that reported it. We hold no licensed identifier master and never generate identifiers.
Example: GET https://api.financial.md/v1/identifiers/xref?id=BBG000B9XRY4
| Parameter | In | Description |
|---|---|---|
id (required) | query | The identifier you hold |
kind | query | What the identifier is; left out, it is detected from its shape |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
curl "https://api.financial.md/v1/identifiers/xref?id=BBG000B9XRY4"GET /v1/identifiers/master
Every covered company with its open identifiers (FMD id, CIK, tickers and exchanges, LEI, FIGI), paged. Contains no licensed identifiers.
Example: GET https://api.financial.md/v1/identifiers/master?limit=100
| Parameter | In | Description |
|---|---|---|
limit | query | Maximum companies |
cursor | query | Opaque cursor from meta.next_cursor |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
curl "https://api.financial.md/v1/identifiers/master?limit=100"GET /v1/fund/nav
What SEC filings say about a fund's value: series net assets at reported month ends and each class's monthly total return (Form N-PORT), a total return index we compute from those returns, and for closed-end funds the NAV and market price per share at fiscal year end (Form N-CEN). Not a daily NAV feed: filings carry none. A market price, where shown, is one venue's close and is labelled as not NAV.
Example: GET https://api.financial.md/v1/fund/nav?fund=VOO
| Parameter | In | Description |
|---|---|---|
fund (required) | query | Series id or share-class ticker |
class | query | Only this share class (class id or ticker) |
from | query | First month end |
to | query | Last month end |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum months per class |
curl "https://api.financial.md/v1/fund/nav?fund=VOO"GET /v1/company/stock_prices/returns
Price return, total return, annualised return and maximum drawdown over trailing windows, computed by us from single-venue daily closes and the splits and dividends in SEC filings. End of day, one venue, not the consolidated tape.
Example: GET https://api.financial.md/v1/company/stock_prices/returns?company=ticker:AAPL&windows=1m,1y,5y
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
ticker | query | One of the company's listings |
windows | query | Comma-separated windows: 1m, 3m, 6m, ytd, 1y, 3y, 5y, max. Default: all |
to | query | End the windows at the last session on or before this day |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
curl "https://api.financial.md/v1/company/stock_prices/returns?company=ticker:AAPL&windows=1m,1y,5y"GET /v1/screen
Screen every covered company on its latest period. filter takes metric:min:max ranges with raw values (0.2 is 20 percent), sort takes metric:desc. Each result carries one value object with proof per metric. Amounts are in each company's reporting currency and are not converted: add country= (for example country=SE) to compare within one market.
Example: GET https://api.financial.md/v1/screen?filter=net_margin:0.2:,income_statement_total_revenues:10000000000:&sort=net_margin:desc&limit=20
| Parameter | In | Description |
|---|---|---|
status | query | Listing status of the companies screened: active (default), delisted, inactive or all |
metrics | query | Comma-separated columns: concept ids (GET /v1/company/metrics) or ratio ids. Up to 12. Defaults to revenue, net income, the three margins, revenue growth and return on equity. |
filter | query | Comma-separated range filters metric:min:max; either bound may be empty. Values are raw: 0.1 is 10 percent, amounts are in the reporting currency. A company without a value for a filtered metric does not match. |
sort | query | <metric|name|ticker>[:asc|:desc]; companies without a value sort last. Default name:asc. |
period_type | query | The period type whose latest period is screened |
q | query | Name or ticker search (names as substring, tickers as prefix) |
sector | query | Exact sector (case-insensitive) |
industry | query | Exact industry (case-insensitive) |
template | query | Reporting template |
country | query | ISO 3166-1 alpha-2 |
currency | query | Reporting currency (ISO 4217): only companies that report in it. Amounts in different currencies are never compared, so a sort or filter on a money column without this parameter screens the currency most companies of the screen report in (USD across the whole universe), and data.currency says so. |
include_stale | query | Keep companies whose latest period ended more than data.stale_after_days before as_of. They are left out by default; each item carries stale. |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum companies per page |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/screen?filter=net_margin:0.2:,income_statement_total_revenues:10000000000:&sort=net_margin:desc&limit=20"GET /v1/company/research
A company report (business, segments, financial trajectory, capital allocation, risks), written by a model from FinancialMD's standardized facts and the company's own SEC filings. Every number was re-checked against the fact store and every claim cites fact proof ids or a filing passage. The answer is labelled generated_by model with the model, the method version and the filings it had seen. It is not reported fact, not a rating and not investment advice.
Example: GET https://api.financial.md/v1/company/research?company=ticker:AAPL
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
artefact | query | Deprecated. Each artefact has its own route; a value that names the other one is answered 400 with that route |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
curl "https://api.financial.md/v1/company/research?company=ticker:AAPL"GET /v1/company/bull_bear
The bull case and the bear case for a company, written by a model from the same standardized facts and filings as the company report, with the same checks, citations, labels and grounding block. It is not a rating, carries no price target and is not investment advice.
Example: GET https://api.financial.md/v1/company/bull_bear?company=ticker:AAPL
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
artefact | query | Deprecated. Each artefact has its own route; a value that names the other one is answered 400 with that route |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
curl "https://api.financial.md/v1/company/bull_bear?company=ticker:AAPL"GET /v1/filing/{accession}/summary
A model-written summary of one 10-K, 10-Q, 8-K or 20-F, with citations into the filing's own text and the same labels and grounding block as the company report. Not investment advice.
Example: GET https://api.financial.md/v1/filing/0000320193-24-000123/summary
| Parameter | In | Description |
|---|---|---|
accession (required) | path | Accession number of a 10-K, 10-Q, 8-K or 20-F |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
curl "https://api.financial.md/v1/filing/0000320193-24-000123/summary"GET /v1/company/estimates
FinancialMD's own model-based baseline estimates for the next four quarters and two fiscal years (revenue, operating income, net income, diluted EPS, free cash flow), each with an 80 percent prediction interval, every component of the method, the facts it read and the method's measured errors. Also the company's own guidance as stated in its filings with the exact sentence, and descriptive signals. Computed only from SEC filings by the published method in docs/estimates.md. Not consensus, not analyst or Street estimates, not investment advice. When the company has no estimate in force and no guidance at as_of the answer is 404 not_found (error.details.reason no_estimates_or_guidance) and is not charged.
Example: GET https://api.financial.md/v1/company/estimates?company=ticker:AAPL&metric=revenue
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
metric | query | Only this estimated line (default all five) |
period_type | query | Only quarters or only fiscal years |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
curl "https://api.financial.md/v1/company/estimates?company=ticker:AAPL&metric=revenue"GET /v1/company/estimates/consensus
Always 404 not_covered: consensus estimates are licensed data FinancialMD does not carry. error.details names the reason and what to use instead (our own model-based estimates are at /v1/company/estimates); do not retry.
Example: GET https://api.financial.md/v1/company/estimates/consensus?company=ticker:AAPL
curl "https://api.financial.md/v1/company/estimates/consensus?company=ticker:AAPL"GET /v1/company/analyst_ratings
Always 404 not_covered: analyst ratings and price targets are licensed. error.details names the reason and what to use instead; do not retry.
Example: GET https://api.financial.md/v1/company/analyst_ratings?company=ticker:AAPL
curl "https://api.financial.md/v1/company/analyst_ratings?company=ticker:AAPL"GET /v1/company/transcripts
Always 404 not_covered: call transcripts and audio are licensed. error.details names the reason and what to use instead; do not retry.
Example: GET https://api.financial.md/v1/company/transcripts?company=ticker:AAPL
curl "https://api.financial.md/v1/company/transcripts?company=ticker:AAPL"GET /v1/company/stock_prices/intraday
Always 404 not_covered: real-time and intraday prices are licensed; daily IEX bars are at /v1/company/stock_prices. error.details names the reason and what to use instead; do not retry.
Example: GET https://api.financial.md/v1/company/stock_prices/intraday?company=ticker:AAPL
curl "https://api.financial.md/v1/company/stock_prices/intraday?company=ticker:AAPL"GET /v1/company/logo
An image that identifies a company. kind is wikimedia_commons (a logo file from Wikimedia Commons, taken only when the company matched a Wikidata item with confidence and the file is public domain or under a verified open licence; source carries the file page, author, licence and retrieval time, and attribution must be shown where the licence asks) or generated (a monogram tile drawn from the ticker, never an imitation of the real mark). format=svg or format=png with size returns the image itself. Logos are trademarks of their owners and are served for identification only; no endorsement is implied.
Example: GET https://api.financial.md/v1/company/logo?company=ticker:AAPL
| Parameter | In | Description |
|---|---|---|
company (required) | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
format | query | json: the description with links, licence and attribution; svg or png: the image itself |
size | query | Longest side of the PNG in pixels (format=png only) |
curl "https://api.financial.md/v1/company/logo?company=ticker:AAPL"GET /v1/fund_letters
The fund letter index, newest first. Each item is one shareholder letter or performance discussion found inside an SEC N-CSR or N-CSRS filing: the fund, the manager, the period, the link to the document on EDGAR, where the section starts and ends, its SHA-256, the returns the letter states for the fund, and the companies it names with a stance (new_position, added, held, trimmed, exited, short, watching or mentioned), topic tags and at most one short attributed quote each. FinancialMD hosts no letter text. Mentions are found by rule and carry generated_by, method_version and confidence; they are FinancialMD's reading, not the manager's statement and not advice. Filter by company, fund, manager, cik, period, from, to, kind and stance. When no letter matches, the answer is 404 not_found with details.reason no_fund_letters and the filters it read; an error is never charged, so an empty list costs nothing on the agent host.
Example: GET https://api.financial.md/v1/fund_letters?limit=10
| Parameter | In | Description |
|---|---|---|
company | query | Optional: only letters that name this company |
fund | query | A fund series id, or part of the fund or registrant name |
manager | query | Part of the manager, adviser or signatory name, or a source slug from /v1/fund_letters/sources |
cik | query | CIK of the registrant that filed the report, or of the manager's 13F filer |
period | query | Report period: a year, or the exact period end date |
from | query | Published on or after this date (UTC) |
to | query | Published on or before this date (UTC) |
source | query | Only letters from this source |
kind | query | Only sections of this kind |
stance | query | With company: only letters where the mention has this stance |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
limit | query | Maximum letters |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/fund_letters?limit=10"GET /v1/fund_letters/sources
Where the fund letter index comes from: each source with its legal basis and whether it is fetched, the manager websites on the seed list with the robots.txt and terms URLs recorded for each, and counts of indexed letters and mentions.
Example: GET https://api.financial.md/v1/fund_letters/sources
curl "https://api.financial.md/v1/fund_letters/sources"GET /v1/fund_letters/{id}
One indexed fund letter by its id from GET /v1/fund_letters: the same item, with every company mention. A letter from which no company mention and no stated return has been read answers 404 not_found with details.reason no_letter_content, as an unknown id answers 404; neither is charged.
Example: GET https://api.financial.md/v1/fund_letters/ncsr:0001999371-26-003978:1
| Parameter | In | Description |
|---|---|---|
id (required) | path | Letter id from GET /v1/fund_letters |
as_of | query | Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then. |
curl "https://api.financial.md/v1/fund_letters/ncsr:0001999371-26-003978:1"GET /proof/{id}
The proof behind any value: the filing, the XBRL tag and dimensions, the source URL and the raw as-reported facts it derives from.
Example: GET https://api.financial.md/proof/p_edt68ehn6cw3ed0
| Parameter | In | Description |
|---|---|---|
id (required) | path | Proof id from any value object |
curl "https://api.financial.md/proof/p_edt68ehn6cw3ed0"POST /v1/verify
Check a number you got elsewhere against what the company filed. Returns verdict (matches, differs or unknown), the filed value with proof, the difference, the tolerance from the filer's precision, and a scale_hint when your number is off by a power of ten.
Example: POST https://api.financial.md/v1/verify with body {"company":"ticker:AAPL","concept":"income_statement_total_revenues","period":"FY2024","value":391035000000}
curl -X POST "https://api.financial.md/v1/verify" -H "content-type: application/json" -d '{"company":"ticker:AAPL","concept":"income_statement_total_revenues","period":"FY2024","value":391035000000}'GET /v1/changes
Standardized facts whose knowledge interval opened since a time: new filings and restatements. Poll it to keep a local copy current.
Example: GET https://api.financial.md/v1/changes?since=2026-11-01T00:00:00Z&company=ticker:AAPL&limit=50
| Parameter | In | Description |
|---|---|---|
since (required) | query | Facts whose knowledge interval opened at or after this instant |
company | query | Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>] or lei:<LEI>; a bare symbol means ticker, bare digits mean cik. A filer outside the SEC (an EU or UK issuer) has no CIK: use its LEI or fmd_id from /v1/companies |
limit | query | Maximum changes |
cursor | query | Opaque cursor from meta.next_cursor |
curl "https://api.financial.md/v1/changes?since=2026-11-01T00:00:00Z&company=ticker:AAPL&limit=50"GET /v1/request-data
How to tell us about data or analysis you needed and did not find: the body POST /v1/request-data takes, the kinds, the limits and how to follow a request.
Example: GET https://api.financial.md/v1/request-data
curl "https://api.financial.md/v1/request-data"POST /v1/request-data
Tell us what you needed and did not find. Free, keyless, never charged. Similar requests merge into one demand item and count as votes; the answer has request_id, item_id, status and the vote counts. Do not include personal data.
Example: POST https://api.financial.md/v1/request-data with body {"kind":"dataset","want":"Quarterly order backlog by segment","why":"Modeling revenue visibility","company":"ticker:BA","endpoint_or_tool":"/v1/company/kpis"}
curl -X POST "https://api.financial.md/v1/request-data" -H "content-type: application/json" -d '{"kind":"dataset","want":"Quarterly order backlog by segment","why":"Modeling revenue visibility","company":"ticker:BA","endpoint_or_tool":"/v1/company/kpis"}'GET /v1/request-data/{id}
Follow a request by the request_id POST /v1/request-data returned: new, triaged, planned, done (with served_by, the endpoint or tool) or wontfix (with a public note), and the vote counts.
Example: GET https://api.financial.md/v1/request-data/0b8f6a52-6f0e-4a8e-9a43-3c0f6b2d1e11
| Parameter | In | Description |
|---|---|---|
id (required) | path | The request_id POST /v1/request-data returned, or a demand item id |
curl "https://api.financial.md/v1/request-data/0b8f6a52-6f0e-4a8e-9a43-3c0f6b2d1e11"GET /v1/requested
Requested and shipped: the reviewed demand items with status, public note, served_by and vote counts, and counts per status. Aggregate only, no submitter details.
Example: GET https://api.financial.md/v1/requested
curl "https://api.financial.md/v1/requested"GET /v1/me
For a keyed caller: principal, plan and remaining limits. Needs an API key; keys are not issued publicly yet.
Example: GET https://api.financial.md/v1/me
curl "https://api.financial.md/v1/me"