company_lookup
Find a company
Resolve a ticker, CIK, FinancialMD id or company name to the company FinancialMD covers, so later calls can use a stable identifier. Identifiers (ticker:AAPL, cik:320193, fmd_...) resolve directly and return the profile with meta.company showing what matched; a free-text name searches the directory and returns candidates with their ids, tickers and listings. Use this first when you are not sure of the ticker, or when a ticker is ambiguous across exchanges (ticker:AAPL.XNAS pins the venue). Issuers on EU and UK regulated markets that do not file with the SEC are covered too: they have no CIK, each candidate carries registry "esef" and an lei, and later calls take lei:<LEI> or the fmd_id. Statements and filings work for them, in the reporting currency; ownership, prices, events and segments answer not_covered. Metadata call: free on every tier. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterslimitqueryrequiredcountryexchange
company_profile
Company profile
Return the profile of one company: legal name, FinancialMD id, CIK, listings (ticker, exchange, currency), sector and industry, the statement template it is standardized with (for example industrial, bank, insurer), its fiscal year end, and the list of datasets available (which statements, ratios, filings, KPIs exist), the listing status (active, delisted with the date, or inactive), country and business address, former names, the newest head count with its source sentence (served only at confidence 0.90 or more) and cover-page shares per share class (never summed across classes). Call it before pulling statements to learn the template and fiscal calendar, and to confirm the identifier resolved to the right company. Metadata call: free on every tier. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterscompanyrequired
financials_standardized
Standardized financial statement
Return one standardized statement (income statement, balance sheet, cash flow, or the supplemental statement with share counts and per-share figures) for a company, mapped to the FinancialMD concept template so line items are comparable across companies. Choose annual, quarterly, ltm or ytd periods and how many. Every cell is a value object with unit, currency, period, the known interval (when FinancialMD first and last knew this value), a restated flag and a proof that points at the filing, page and XBRL tag. as_of replays the statement as it was known on a date; original=true returns the first-reported version of each period; history=true returns every knowledge version of each period, oldest first, so restatements are visible. Filing-layer read: served with generous limits. Free through this connector within the keyless limits; the per-call price on agent.financial.md is $0.05. Use it for comparable statement numbers, trends over periods and the inputs of a model. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_oflimitcompanyrequiredhistoryoriginalstatementrequiredperiod_type
financials_as_reported
As-reported financial statement
Return a statement exactly as the filer presented it: the company's own line-item labels, XBRL taxonomy and tags, dimensions, and the values with proof. Use it when the standardized template hides a detail you need (an unusual line, a segment axis, a footnote-level item) or when you must quote the filer's own wording. Supports as_of for point-in-time replay. Filing-layer read: served with generous limits on every tier. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_oflimitcompanyrequiredhistorystatementrequiredperiod_type
metrics_list
Concept list for a company
List the standardized concepts (metrics) available for a company's template, with display order, statement, label, unit and the formula for derived concepts (for example free_cash_flow = cash_from_operations - capital_expenditure). Use it to learn the exact concept ids before calling verify_value or compare_versions, and to see which rows a statement will contain. Optionally filter to one statement. Metadata call: free on every tier. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterscompanyrequiredstatement
ratios
Ratios computed from the filings
Return the ratios FinancialMD computes from a company's standardized facts: gross, operating, net and free cash flow margins, revenue growth year over year, return on equity and on assets, asset turnover, current ratio, debt to equity, interest coverage, basic and diluted EPS; for banks net interest income to average loans and securities (not the bank's reported NIM), efficiency ratio and loans to deposits; for insurers loss and acquisition cost ratios; and valuation at each period end (market cap, EV, P/E, P/S, P/B, EV/EBITDA, EV/EBIT, FCF and dividend yield) from the last IEX close on or before the period end (data.price_basis says which close, or why valuation is empty: several share classes, an ADR, no prices). The result has the statement grid shape (periods most recent first, one row per ratio, cells aligned with periods); margins and growth are fractions (0.462 is 46.2 percent). Every cell is a value object whose proof lists the proof ids of its inputs (proof.inputs) and whose method is derived_lineitem; proof_get on a ratio proof returns the inputs and the formula. A cell is null when an input is missing (a bank has no gross margin) or a denominator is zero: never NaN. as_of computes from the facts known on that date. For valuation on every trading day use ratios_daily. Metered call: 1 of 25 keyless calls a day. Free through this connector within the keyless limits; the per-call price on agent.financial.md is $0.05. Use it when the question is about margins, returns, leverage, growth or valuation at period ends. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_oflimitratioscompanyrequiredperiod_type
ratios_daily
One ratio as a series (daily for valuation)
Return one ratio as a series, most recent first. For a valuation ratio (market_cap, enterprise_value, pe_ttm, ps_ttm, pb, ev_ebitda_ttm, ev_ebit_ttm, fcf_yield, dividend_yield) there is one point per trading session: the IEX close of that day times the standardized facts known that evening (trailing twelve months for flows, the latest balance sheet), so a P/E series never uses a filing accepted later. Points are withheld after a split-sized move until split data exists; data.price_basis says which listing was used and why a company is not priced (several share classes such as BRK-A and BRK-B, an ADR, no prices). Each point is a value object whose proof.inputs lists the close first, then the facts; proof_get recomputes it. For a fundamentals ratio (gross_margin, roe, nii_to_avg_loans_securities...) there is one point per fiscal period of period_type. IEX is a single venue and its last trade is not the official close; say so when quoting. Metered call: 1 of 25 keyless calls a day. Free through this connector within the keyless limits; the per-call price on agent.financial.md is $0.05. Use it for the history of one ratio, such as a P/E series or a margin trend. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstofromas_oflimitcursortickercompanyrequiredratio_idrequiredperiod_type
filings_list
Filings index
List a company's filings newest first: accession number, form type (10-K, 10-Q, 8-K, 20-F, 40-F, 6-K and others), filing date, acceptance time, period end, fiscal year and period, the primary document and its SEC URL, and the filing it amends. Filter by form; as_of limits the list to filings known on a date; cursor pages through long histories. Use filing_get for one filing's details and financials_as_reported to read its numbers. Filing-layer read: served with generous limits on every tier. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersformas_oflimitcursorcompanyrequired
Return one filing by its SEC accession number: registry, form, period end, fiscal year and period, filing date and acceptance time, the primary document name and its SEC source URL, and the accession it amends (for 10-K/A and 10-Q/A). The document itself is not returned (it can be megabytes); read it from source_url, and read its numbers with financials_as_reported. Filing-layer read: served with generous limits on every tier. Use it when you hold an accession number and need the filing's form, dates and source URL. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersaccessionrequired
filing_facts
Facts of one filing
Return every fact one filing tagged that maps to a FinancialMD concept, across all statements in one call: income statement, balance sheet, cash flow and supplemental (share counts, per-share figures), each in display order with the newest period first. Each fact is a value object with the filer's XBRL taxonomy, tag and dimensions, the concept it maps to, its label, and a proof pointing at the page and anchor in the filing. Prior-year comparatives printed in the filing are included (their fiscal labels are null). Tags without a mapping (company extensions) are not included. Use it to read a filing end to end instead of calling financials_as_reported once per statement. Filing-layer read: served with generous limits on every tier. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterslimitaccessionrequiredstatement
screen
Screen all companies
Screen every covered company on its latest period: range filters on metrics, a sort and paging, all applied on the server over the whole universe. A metric is a standardized concept id (from metrics_list, for example income_statement_total_revenues) or a ratio id (gross_margin, operating_margin, net_margin, fcf_margin, revenue_growth_yoy, roe, roa, asset_turnover, current_ratio, debt_to_equity, interest_coverage, eps_basic, eps_diluted, bank and insurer ratios) or a valuation id (market_cap, enterprise_value, pe_ttm, ps_ttm, pb, ev_ebitda_ttm, ev_ebit_ttm, fcf_yield, dividend_yield: the latest IEX close times the screened period, so use period_type ltm for trailing multiples). Filter bounds are raw values: 0.2 is 20 percent, amounts are in the reporting currency. A company with no value for a filtered metric does not match; when sorting, missing values come last. Each item has the company (with sector and industry), the period screened and one value object with proof per metric, so every number can be cited. data.total is the size of the whole match and data.next_cursor pages through it. as_of screens on what was known on a date. Metered call: 1 of 25 keyless calls a day. Free through this connector within the keyless limits; the per-call price on agent.financial.md is $0.10. Use it to find or rank companies by fundamentals or valuation instead of calling each company in turn. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_oflimitquerycursorsectorcountryfiltersmetricssort_bycurrencyindustrysort_dir+2 more
proof_get
Proof for a value
Return the full proof behind a value: the proof itself (filing accession, form and filing date, XBRL taxonomy, tag and dimensions, source URL, page and anchor), the kind (std for a standardized value, ar for a raw as-reported fact), the value object, the concept it maps to, the company, the filing summary, the raw as-reported facts the standardized value derives from, and the derivation (method, calc_type and the pipeline run). For a ratio (kind "ratio") it also returns the formula and the standardized input values, each with its own proof. Every value object carries proof.id; pass it here when a person asks "where does this number come from" or before quoting a figure in a report. A human page exists at meta.proof_base + proof_id. Metadata call: free on every tier. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersproof_idrequired
verify_value
Verify a number against the filing
Check a number you have (from a model, a news story, a spreadsheet or memory) against what the company filed. Give the company, the concept (a concept_id or fiscal alias from metrics_list, for example revenue or net_income), the period (fiscal_year plus fiscal_period, or a period string such as "FY2024", "Q4 2024" or a period end date) and the value in whole currency units; FinancialMD returns the filed value object with its proof, the delta (absolute and percent), the tolerance (half a unit at the filed precision), a scale_hint when the number would match after a power-of-ten scale (millions given as units), and a verdict: matches, differs, or unknown (company and concept exist but no fact matches the period). Optionally name the source so the audit trail records it, and as_of to verify against what was known on a date. Metered call: 1 of 25 keyless calls a day. Free through this connector within the keyless limits; the per-call price on agent.financial.md is $0.05. Use it before repeating a figure that came from a model, an article or memory. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_ofvaluerequiredperiodsourcecompanyrequiredconceptrequiredfiscal_yearfiscal_period
changes_since
What changed since a time
List facts whose knowledge interval opened since a timestamp: new periods from fresh filings and restatements of earlier periods. Each item has the company, the concept_id, the version number (1 for a first report, higher for a restatement) and the new value object with its period, known interval, restated flag and proof. This is the pull twin of the financial_data_updated webhook: poll it to keep a model, a cache or a watchlist current, or scope it to one company to see what changed in its history. Cursor paging via data.next_cursor. Metadata call: free on every tier. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterslimitsincerequiredcursorcompany
snapshot_as_of
All statements as known on a date
One call that returns the income statement, balance sheet and cash flow statement of a company exactly as FinancialMD knew them on a date: no later restatements, no periods filed afterwards. This is the tool for point-in-time work: backtests, "what did an investor know on the day", reproducing a past model, or checking whether a decision was made on numbers that were later restated. Each statement carries its own meta; a statement the company does not have is reported as an error inside the snapshot rather than failing the whole call. The ratios computed from the same facts as known on that date ride along under `ratios`. Costs three filing-layer reads and one metered ratios read. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_ofrequiredlimitcompanyrequiredperiod_type
compare_versions
First-reported versus current values
For one fiscal period of a company, compare every line item as first reported (the original filing) with its current value (after any restatement, reclassification or correction in later filings), with the proofs of both versions so each can be traced to its filing. The result lists each concept with first_reported, current, changed, delta and delta_percent, and counts how many items changed. Use it for restatement reviews, earnings-quality work and to explain why a number in an old report differs from today's database. Optionally restrict to one concept. Costs two standardized reads. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterscompanyrequiredconceptstatementrequiredfiscal_yearrequiredperiod_typefiscal_periodrequired
insider_transactions
Insider transactions
List the transactions a company's officers, directors and ten percent owners reported on SEC Forms 3, 4 and 5, newest first: transaction date, the owner and their relationship and title, the security, the SEC transaction code as filed (P purchase, S sale, A grant, M exercise, F tax withholding, G gift), acquired or disposed, shares, price and shares owned after. Every number carries a proof that opens the ownership form on sec.gov. as_of limits the list to forms accepted by a date; cursor pages. Filing-layer read: served with generous limits on every tier. Use it when asked what a company's insiders bought or sold. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_oflimitcursorcompanyrequired
institutional_holders
Institutional holders of a company
List the investment managers that reported a position in a company on SEC Form 13F for one quarter, largest reported value first: the manager, shares, market value as the manager reported it, the same manager's shares one quarter earlier, the change, whether the position is new, increased, decreased or unchanged, and the share of the company's reported shares outstanding. data.periods lists the quarters on file. Only positions that an SEC filing ties to the company are listed, so coverage is partial and the list is not a full register. Every number carries a proof that opens the 13F on sec.gov. Filing-layer read: served with generous limits on every tier. Use it when asked which institutions hold a company and how their positions changed. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_oflimitcursorperiodcompanyrequired
institutional_holdings
A 13F manager's portfolio
Read the portfolio an investment manager reported on SEC Form 13F for one quarter, largest reported value first: issuer and class as the manager wrote them, the company the security resolves to when an SEC filing ties them together (null otherwise, never guessed), shares, market value, the prior quarter's shares and the change. data.filings carries the filing with the manager's own summary totals and whether the loaded table adds up to them; data.periods lists the quarters on file. Pass holder as cik:<n>, or pass a manager name: one match returns its portfolio, several return the matching managers with their CIKs so you can pick. Filing-layer read: served with generous limits on every tier. Use it when asked what a manager owns, or what it bought and sold in a quarter. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_oflimitcursorholderrequiredperiod
stock_prices
Daily prices (IEX only)
Daily open, high, low, close and volume of one listing of a company, newest session first, built from trades executed at IEX only. IEX is a single exchange with a small share of US volume: this is not the consolidated tape, close is the last IEX trade of the session and not the official closing price, volume is IEX volume only, and nothing is adjusted for splits or dividends. Say so when you quote a number, and show the citation in meta.attribution. For P/E, market capitalisation and other multiples use ratios_daily, which pairs each close with the facts known that day and withholds points after a likely split. ticker picks another listing of the company; from and to bound the session dates; as_of replays what was known on a date; cursor pages. Every number carries a proof naming the IEX session file it was read from. Filing-layer read: served with generous limits on every tier. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstofromas_oflimitadjustcursortickercompanyrequired
dividends
Cash dividends with their dates
Return a company's cash dividends per share as its SEC filings state them, newest first: amount (on the basis of the day declared, not split-adjusted), declaration, record, ex-dividend and payment dates, each null when the filing does not state it, with how each was captured (xbrl date tags, a dividend table or a sentence) and the citation text. ex_date_method says whether the ex-date is stated or derived from the record date by the settlement rule. When EDGAR states no record date (JPMorgan after 2018) or only the month paid (Realty Income), there is no ex-date: say so and do not make one up. Dividends announced only on a company's website are absent. For split-adjusted and total-return prices call stock_prices with adjust. Filing-layer read: served with generous limits on every tier. Use it for dividend history, ex-dividend dates and payment dates. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstofromas_oflimitcompanyrequired
fund_profile
Fund type and share-class fees
Return a fund's type from its latest Form N-CEN (ETF, index, money market, interval, fund of funds...), closed-end fees and tracking difference where filed, and every share class with its prospectus fee table (expense ratio, management fee, 12b-1, waivers) as fractions of net assets (0.0003 is 0.03 percent). Give a series id (S000002839) or a class ticker (VOO). Filing-layer read: served with generous limits on every tier. Use it when asked what kind of fund this is or what it charges. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersfundrequiredas_of
company_kpis
Company-reported metrics (adjusted and operating)
Return the metrics a company reports in its own earnings releases and reports: adjusted (non-GAAP) measures such as adjusted EBITDA or adjusted EPS, and operating KPIs such as segment or product sales. Each value carries the filer's row label, confidence (high: printed identically in two or more places; medium: printed once) and a proof id; proof_get on it returns the exact citation: accession, document, table, row and value index, character span, the raw printed text and the GAAP reconciliation table. Adjusted metrics are the company's own definitions: say "as reported by the company (non-GAAP)", never call them GAAP and never compare them across companies. Values two documents print differently are withheld and not returned (data.withheld counts them). data.metrics lists the company's metrics; filter with metric, kind, period_type, from and to. Percent metrics are percent points. Filing-layer read: served with generous limits on every tier. Use it when the question is about a non-GAAP figure or an operating metric the standardized statements do not carry. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstofromkindas_oflimitcursormetriccompanyrequiredperiod_type
company_estimates
Model-based estimates, company guidance and track record
Return FinancialMD's own forward estimates for a company: the next four quarters and two fiscal years of revenue, operating income, net income, diluted EPS and free cash flow, each a point with an 80 percent interval, computed from the company's SEC filings by the published method fmd-baseline-1 (the median of four seasonal components, moved to the company's own guidance midpoint where it gave one). These are NOT consensus and NOT analyst or Street estimates: always call them "FinancialMD model-based baseline estimates", never "the estimate" or "expected by the market". Every estimate carries generated_by: model, the proof ids of the facts it read, its components, and track_record: the error of the same method replayed over history using only facts known at each date (median_ape, wape against naive_wape, bias, interval_coverage), for this company and for all companies; quote the track record whenever you quote an estimate. data.guidance is what the company itself stated (range, basis GAAP or adjusted, the exact sentence, accession and character offsets). data.signals are rule-based descriptions: guidance raised, lowered or maintained against the prior statement, the direction of our own estimate revisions, and the reported result against the guided range and against our prior estimate. There are no ratings, no price targets and no advice here. as_of answers as known at that date. Metered call: 1 of 25 keyless calls a day. Free through this connector within the keyless limits; the per-call price on agent.financial.md is $0.25. Use it for forward-looking questions, guidance, and whether a result came in above or below what the company guided. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_ofmetriccompanyrequiredperiod_type
corporate_actions
Splits and dividends per share
Return a company's stock splits (as reported in XBRL, with whether IEX prices across the ex-date confirm the ratio) and its dividends per share declared or paid in each fiscal period, as filed. A dividend row is a per-period total, not one payment, and has no ex-date. Every value carries the XBRL fact as proof. For split-adjusted prices call stock_prices with adjust "splits". Filing-layer read: served with generous limits on every tier. Use it to check for a stock split before comparing per-share figures or prices across dates. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterskindas_oflimitcompanyrequired
events_calendar
Earnings calendar
Return earnings-release dates for one company or every company: confirmed dates are when an 8-K with Item 2.02 (results of operations) was accepted, with session bmo, dmh or amc; predicted dates are a model (the release a year earlier plus 364 days), labelled "expected (model)". Without from or to the window starts 30 days before as_of. Do not call a confirmed date an earnings call. Filing-layer read: served with generous limits on every tier. Use it when asked when a company reports results, or which companies report in a window. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstofromas_oflimitcursorcompanyconfidence
Return the 8-K filings of a company, newest first, each with the items the filer selected (2.02 results, 5.02 officer changes, 1.01 agreements, 2.01 acquisitions, 4.02 non-reliance...) classified by event_type, with a headline and an importance from 1 to 5 (importance_min 4 keeps the major ones). A filing-based event feed, not wire news; for all companies use news; follow source_url for the text. Filing-layer read: served with generous limits on every tier. Use it when asked what material events one company disclosed. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_oflimitcursorcompanyrequiredevent_typeimportance_min
segments
Segment data as reported
Return a company's segment facts as the filer tagged them (business segments, geographies, products) from the SEC Financial Statement Data Sets: tag, member, dims and value with the filing as proof. Members are never renamed or mapped across companies; eliminations appear under dims.ConsolidationItems. tag narrows to one line (for example RevenueFromContractWithCustomerExcludingAssessedTax). Filing-layer read: served with generous limits on every tier. Use it when asked for revenue or profit by business line, geography or product. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstagkindas_oflimitcompanyrequiredperiod_type
insider_holders
Insider holdings
Return what each director and officer owned after their latest reported transaction (shares_owned_after on Forms 4 and 5), per security and direct or indirect ownership, largest first: the later of the balance after their latest transaction and their latest holding line (a Form 3 initial statement, or a Form 4 or 5 holdings table); source says which. Say "as last reported" with the date. Filing-layer read: served with generous limits on every tier. Use it when asked how much a company's directors and officers own. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_oflimitcompanyrequired
fund_holders
Funds holding a company (N-PORT)
Return the mutual funds and ETFs (Form N-PORT series) holding a company in their latest report, largest position first: value in USD, shares, percent of the fund's net assets (a fraction), report month end, with the filing as proof. Complements institutional_holders (13F managers). Only the latest report per fund in each quarterly SEC data set is loaded. Filing-layer read: served with generous limits on every tier. Use it when asked which funds hold a company. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_oflimitcursorperiodcompanyrequired
fund_holdings
One fund's holdings (N-PORT)
Return one fund's Form N-PORT portfolio: give a series id (S000002277) or a fund name, which is searched first. Positions are largest first with value in USD, balance, percent of net assets and the company when the CUSIP maps to one; data.periods lists other report months. Filing-layer read: served with generous limits on every tier. Use it when asked what a fund holds. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersfundrequiredas_oflimitcursorperiod
identifiers
Company identifiers (LEI, FIGI)
Return a company's CIK, LEI and FIGI identifiers with their evidence: LEI accepted only when Form N-PORT filers agree and GLEIF has the record; FIGI from OpenFIGI by ticker (public domain). Metadata call: free on every tier. Use it to join FinancialMD data to another system by CIK, LEI or FIGI. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_ofcompanyrequired
company_logo
Company logo (for identification)
Return the image that identifies a company and where it came from. kind wikimedia_commons: a logo file from Wikimedia Commons, taken only when it is public domain or under a verified open licence, with its author, licence, source page and the attribution line to show. kind generated: a monogram tile drawn from the ticker when no such file was accepted; it is not the company's mark. data.images holds SVG and PNG links (32 to 512 pixels). Logos are trademarks of their owners: use them only to identify the company, never to suggest endorsement. Use it when an interface needs a picture beside a company name. Metadata call: free on every tier. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterscompanyrequired
filing_document
Filing document: links, PDF and page images
Return where a filing's documents are: the primary document on EDGAR, the filing index, the full submission text, the inline XBRL viewer, a FinancialMD URL that serves the primary HTML document, and URLs for the same document as a PDF with selectable text and as page images. format "pages" renders the PDF if needed and returns its page count; add page to get the URL of that page's PNG image, so an answer can cite a page. The first render of a document can take some seconds; an upstream_unavailable error with a retry time means it is still rendering. A document past the rendering limits answers not_covered with the EDGAR link. Filing-layer read: served with generous limits on every tier. Use it when you need to read, link or cite a page of the text of a filing. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterspageformataccessionrequired
identifier_xref
Cross-reference a security identifier
Given one identifier (ticker, SEC CIK, LEI, FIGI, SEC fund series or class id, FinancialMD id, or a CUSIP or ISIN you already hold), return the company or fund it names and the other open identifiers we hold for it, each with its source and licence. A CUSIP or ISIN is matched only against values that filers reported in public SEC filings, and the answer names the filing; CUSIP and ISIN values are not returned, because those numbering systems are licensed. Check digits are not computed and missing identifiers are never filled in from a vendor source. Metadata call: free on every tier. Use it to join FinancialMD data to another system or to find out what an identifier refers to. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersidrequiredkindas_of
fund_nav
Fund net assets and monthly returns (SEC filings)
Return what a fund's SEC filings state about its value: net assets at each Form N-PORT report month, each share class's monthly total return as reported, our own return index compounded from those months (base 100, not a NAV per share), and for closed-end funds the NAV per share and market price reported on Form N-CEN with the premium or discount. Where we hold a price for the class ticker it is shown as a market price on one venue, not NAV. Daily NAV per share is not served: no public filing carries it. Give a series id (S000002839) or a class ticker (VOO). Filing-layer read: served with generous limits on every tier. Use it for a fund's size over time, monthly performance, or a closed-end fund's discount. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstofromfundrequiredas_ofclasslimit
price_returns
Price returns and drawdowns
Return a company's price return, total return and maximum drawdown over standard windows (1m, 3m, 6m, ytd, 1y, 3y, 5y, max), computed by us from end-of-day bars built from trades at IEX only and from the splits and dividends in the company's SEC filings. Each value lists the bars and filing facts it used. Prices are end of day, published the day after the session: not real time, not the consolidated tape, not the official close. A window that starts before our first session is null. Filing-layer read: served with generous limits on every tier. Use it when asked how a stock has performed or how far it fell from a peak. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstoas_oftickercompanyrequiredwindows
company_research
AI-written company report and bull and bear cases
Return the AI-written report on a company (business, segments, financial trajectory, capital allocation, and risks taken from the filing's own risk factors) or, with artefact "bull_bear", its bull and bear cases. The text is written by a model from FinancialMD's standardized facts and the company's own SEC filings only: no outside research, no news, no price targets, no buy, sell or hold view, no advice. Every claim lists the fact proof ids behind its numbers and the filing passage it rests on (accession, section, character span, quotation); data.grounding counts claims, cited and verified. When you repeat any of it, say it is AI-written, keep the citations, and never present it as reported fact, as an analyst's estimate or rating, or as investment advice. data.quality_scores are descriptive bands computed by published formulas from our own ratios, not ratings. Reports are versioned and point-in-time (as_of); a company without a published report answers not_found with details.status. Filing-layer read: served with generous limits on every tier. Use it for a cited plain-language overview of a company; for the numbers themselves call financials_standardized or ratios. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_ofcompanyrequiredartefact
filing_summary
AI-written summary of one filing
Return the AI-written summary of one 10-K, 10-Q, 8-K or 20-F: its key points, financial highlights and the risks or events it reports. The text is written by a model from FinancialMD's standardized facts and the company's own SEC filings only: no outside research, no news, no price targets, no buy, sell or hold view, no advice. Every claim lists the fact proof ids behind its numbers and the filing passage it rests on (accession, section, character span, quotation); data.grounding counts claims, cited and verified. When you repeat any of it, say it is AI-written, keep the citations, and never present it as reported fact, as an analyst's estimate or rating, or as investment advice. Other forms are not summarised, and a filing without a published summary answers not_found with details.status. Filing-layer read: served with generous limits on every tier. Use it to see what a filing says before reading it; filing_document gives the filing itself. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersas_ofaccessionrequired
news
News from 8-K filings
Return the newest 8-K filings across all companies (or one), each with its items, event types (earnings, acquisition_disposition, leadership_change, restatement, bankruptcy, agreement...), a headline and an importance from 1 to 5. Use importance_min 4 for top stories (earnings, M&A, impairments, auditor changes, restatements, bankruptcies). Importance is FinancialMD's rule by 8-K item number; this is a filing-based feed, not wire news, so follow source_url for the text. Filing-layer read: served with generous limits on every tier. Use it for what was filed recently across the market or by one company. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstofromas_oflimitcursorcompanyevent_typeimportance_min
filing_search
Search filing text
Keyword search across the text of EDGAR documents filed since 2001 (10-K, 10-Q, 8-K and their exhibits, proxies, S-1s...) through SEC EDGAR full-text search. Put a phrase in double quotes. Returns documents, best match first, each with its form, filing date, the companies on it (FinancialMD ids where covered) and links to the document and the filing index. Use it to find which companies mention a risk, customer, product or term; then read numbers with financials_standardized or the document with filing_document. Filing-layer read: served with generous limits on every tier. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersqrequiredtofrompageformslimitcompany
coverage
What FinancialMD covers (and does not)
Say whether FinancialMD serves a dataset, and if not, why and what to use instead. Call it before searching for data that may not be here: Street consensus estimates, consensus EPS and revenue estimates, analyst ratings, price targets, earnings call transcripts and audio, real-time, intraday or consolidated prices, CUSIP or ISIN, Morningstar research, wire news and mutual fund NAV are not served (licensed, not built, or waiting on a decision). For forward numbers FinancialMD serves its own model-based estimates and company guidance (company_estimates), which are not consensus. With no topic it lists every dataset with its routes and tools. Metadata read: free. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstopicstatus
event_feed
Company events feed from SEC filings
Return FinancialMD's own company events, newest first, across all companies or one. Built only from SEC filings as EDGAR accepts them: 8-K and 6-K (earnings, restatements, officer changes, M&A, bankruptcy...), Schedule 13D and 13G stakes, Rule 425 merger communications, late-filing notices (NT 10-K), S-1 registrations and clusters of insider purchases. Each event has a type, an importance from 1 to 5 with the rule that set it, a headline FinancialMD generates by rule from the filing's own facts (labelled, never a wire headline), key numbers quoted with their passage, and the filing link. Amendments fold under the original. Filing-layer read: served with generous limits on every tier. Use it for what happened at a company or across the market; it is not wire news. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstoformfromas_oflimitcursorcompanyamendmentsevent_typeimportance_min
issuer_releases
Releases published by issuers
Return releases companies publish about themselves, newest first: press releases and earnings releases filed as SEC exhibits (source edgar; read the text with call_material), and the headline, link and time from issuers' own investor-relations feeds (source issuer_site; no article body is stored, follow the link). No wire-service or publisher content. Filing-layer read: served with generous limits on every tier. Use it for a company's own announcements in its own words. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstofromas_oflimitcursorsourcecompany
call_materials
Earnings-call materials filed by the issuer
List what a company itself filed with the SEC around its earnings calls: earnings releases, prepared remarks, shareholder letters, presentations and any call transcript the issuer chose to file (8-K exhibit 99, Rule 425). Each document has its kind, fiscal period, whether it has a Q&A section, speaker count and link. This is FinancialMD's alternative to licensed transcripts: most issuers do not file a transcript, so expect prepared remarks and releases more often than full Q&A, and no webcast audio is transcribed. Filing-layer read: served with generous limits on every tier. Use it to find what management said in its own filed words; then read passages with call_material. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstofromkindas_oflimitcursorcompanyrequired
call_material
Read one issuer-filed document as passages
Return one issuer-filed document (from call_materials or issuer_releases) as ordered passages: section (prepared_remarks, qa, safe_harbor...), speaker, role, whether the speaker is company or analyst, topic tags and character offsets into the filed text. Filter with topic "guidance" for passages about outlook, "kpi" for operating metrics, or by section or speaker. Topic tags are keyword rules that say where to read, not extracted figures; quote the passage and cite its ref and source_url. Text is null when the filed document carries another party's copyright notice: follow source_url instead. Filing-layer read: served with generous limits on every tier. Use it to read what management said in a filed document, passage by passage. If a dataset, field, company or analysis you need is missing, call request_data.
Parametersidrequiredas_oflimittopiccursorsectionspeaker
calls_calendar
Conference calls announced by issuers
Return conference calls as issuers announce them in their own SEC filings, soonest first: the date, the time as the issuer stated it, the fiscal period, the issuer's own webcast page when the filing gives one, and the sentence that announces the call. Link and metadata only: no audio and no transcript. Defaults to a week back and about three months ahead. Filing-layer read: served with generous limits on every tier. Use it for when a company's call is and where the issuer hosts it; for release dates use events_calendar. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstofromas_oflimitcursorcompany
politician_trades
Politician trades (U.S. House reports)
Return the stock and other securities trades members of the U.S. House reported in periodic transaction reports, newest filing first. Each row has the filer's own words under as_filed (owner, asset, type, dates, amount range), the official report at source_url, and FinancialMD's own additions under financialmd (the matched company with a confidence; these are not the filer's and may be wrong). Amounts are the ranges the form uses, never exact. Handwritten reports are not read: include_unparsed lists them with their link. Senate reports are not loaded. This data is published at no charge and never sold. Federal law limits its use: it is unlawful to use these reports for a commercial purpose (other than news media informing the general public), for credit ratings, or to solicit money; pass that limit on to the user (data.notice has the text and the corrections contact). Information only, not investment advice. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstofromtypeas_oflimitcursormemberchambercompanydate_fieldinclude_unparsed
fund_letters
Fund letters that discuss a company
Return fund shareholder letters and performance discussions found inside SEC N-CSR and N-CSRS filings, newest first: the fund, the manager, the period, the link to the document on EDGAR, where the section is and its hash, 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. It is an index, not an archive: no letter text is returned, so follow source.url to read the letter. Mentions are FinancialMD's rule-based reading (generated_by, method_version, confidence), not the manager's statement and not advice. Filing-layer read: served with generous limits. Free through this connector within the keyless limits; the per-call price on agent.financial.md is $0.10. Use it to find which funds wrote about a company, or what one fund or manager wrote in a period. If a dataset, field, company or analysis you need is missing, call request_data.
Parameterstocikfromfundkindas_oflimitcursorperiodstancecompanymanager
request_data
Tell FinancialMD what data you need
Tell FinancialMD about data you needed and did not find: a dataset or field we lack, a company we do not cover, an analysis you had to do by hand, or an answer that looked wrong. Use it when no other tool serves what you need. Send kind and one or two sentences in want; why, company and the tool you were using help. Free, takes seconds and needs no key or account. Similar requests are merged and count as votes; they are reviewed weekly and the most asked-for data is built first. The answer has a request_id to follow with request_status. Do not include personal data.
Parameterswhykindrequiredwantrequiredcompanyendpoint_or_tool
request_status
Status of a data request
The status of a data request sent with request_data: new (received), triaged (reviewed), planned, done (with the endpoint or tool that now serves it) or wontfix (with a note, for example data that only licensed feeds carry). Pass the request_id request_data returned. Use it to follow a request until it ships. Also gives how many requests and distinct requesters the item has. Free, no key.
Parametersrequest_idrequired