Search one company's filed reports (US SEC filers and companies listed in Germany, the UK, France, Switzerland, India, Japan and South Korea)
search_company_filingsThis is FactIQ's central tool for company filings. It searches structured facts and report metadata from one company's filed reports, for every company in the filings store: US SEC filers (10-K, 10-Q, 8-K, plus 20-F, 40-F, 6-K for foreign filers, and the IPO registration statements S-1 and F-1 with the final prospectus, 424B4 or 424B1) and companies listed in Germany, the UK, France and Switzerland (annual, half-year, Q1, and Q3 reports; for example company="BAS" for BASF SE from German issuer reports in EUR, company="ULVR" for Unilever plc from the FCA National Storage Mechanism, company="MC.PA" for LVMH from the AMF via info-financiere.gouv.fr, and company="NESN" for Nestlé from the reports on the company's own website; UK values are in the issuer's reporting currency, GBP, USD or EUR, French values in EUR, and Swiss values in the issuer's reporting currency, CHF, USD or EUR). A UK, French or Swiss company whose symbol is also a US ticker is stored with its exchange suffix (.L London, .PA Paris, .SW Zurich); the bare symbol goes to the SEC filer, so company="MC" is Moelis & Company and company="MC.PA" is LVMH. It also covers the Nifty 50 companies listed in India, from the quarterly financial results they file with the National Stock Exchange (Q1 to Q4; the Q4 results also carry the audited full-year figures; values in INR; for example company="RELIANCE" for Reliance Industries). It also covers large companies listed in Japan, from the securities reports they file on EDINET, and in South Korea, from the business reports they file on DART (annual, half-year, Q1, and Q3 reports; values in JPY or KRW as filed; for example company="7203.T" for Toyota Motor and company="005930.KS" for Samsung Electronics). The search is deterministic and does not call a language model. Every successful response is a tree and does not expose database row IDs. Set format="json" for the structured tree field. Set format="pretty" for only a human-readable rendered_tree text. The two formats are never returned together. JSON filing and fact nodes retain source_url and add a standardized source_link object for the original filing/report; the pretty rendering ends with a "Source documents" list mapping each cited filing to its URL. When using a returned figure, place its source URL beside the claim as a Markdown link, for example: FY2025 revenue was $40.0B (Visa Inc. FY2025 10-K). A sources line that names the filing without linking its URL is not sufficient. Do not make a second call solely to find a citation or substitute a related press release. source_precision="document" means the URL opens the source document, not an exact passage.
Use an exact ticker when possible. A company name is accepted only when it identifies one issuer. A share-class sibling ticker resolves to the same SEC filer (for example GOOGL resolves to the stored GOOG). If a ticker has several exact matches, possible_matches lists every tied company and its identifiers. When nothing matches, possible_matches lists the closest stored companies. When a bare ticker resolves to one company and other companies are stored under that ticker plus an exchange suffix (MC resolves to Moelis & Company; MC.PA is LVMH), the result is still the bare-ticker company and possible_matches lists the suffixed companies.
concept selects one registered financial concept and returns it over time. For example, concept="revenue" selects the best revenue concept stored for that company. The response states the selected concept. Use query instead for a broad search across several concepts.
search_target controls the tree content. coverage shows available report types and dates. filings shows report records and source URLs. metrics shows available concepts, dimensions, units, and period coverage. facts shows reported numeric values. An empty facts browse is filing-first. A facts search with query or concept is concept-first so that values across reporting periods stay together. For a US-listed company that went public recently, statement facts for the periods before its first periodic report come from the financial statement pages of its IPO registration statement, and single quarters also come from the quarterly results table that many prospectuses print in their MD&A (report_type="quarterly" returns them); a figure that a later report states for the same period replaces it. metric_class="offering_terms" returns the offering price, shares offered and proceeds printed in the registration statement.
commentary and risk_changes return qualitative statements extracted from SEC filings when each filing was processed; every statement carries a verbatim quote from the filing. commentary returns management's explanatory statements from MD&A sections and earnings press releases: growth drivers, demand and pricing commentary, capacity and execution milestones, strategy changes, and vaguely quantified statements such as "grew mid-teens" with a numeric range attached. risk_changes returns year-over-year changes in the stated risk factors of annual reports (Item 1A or Item 3.D): new, modified, and removed risks, with the changed passage quoted. A period with no risk_changes rows means the risk factors were unchanged from the prior year only when the result's annual_report_years lists that year as compared; other years were never compared. A year also listed in compared_with_prospectus was compared with the IPO prospectus, so no rows means unchanged from the prospectus. It never means that the company reported no risks. commentary also returns the MD&A statements of a company's final IPO prospectus; set report_type="424B4" (or "424B1") to read only those. Both targets cover US SEC filers only; commentary and risk_changes remain SEC-only and return no rows for German, UK, French, Swiss, Indian, Japanese, or Korean issuer reports.
query searches concept names, source labels, source codes, XBRL concepts, aliases, definitions, and segment names. For commentary and risk_changes it searches topics, statements, and quotes. Filters are applied before search. report_type accepts a common report type (annual, quarterly, half_year) or a source form such as 10-K or 10-Q. For German, UK, and French filers, quarterly covers the Q1, half-year, and Q3 reports; their source forms are the document codes of the source (FCA ACS, FR, IR; AMF AMF-RFA, AMF-RFS, AMF-IT, AMF-URD, AMF-RES). An Indian company files no separate annual report: its Q4 results hold the audited full-year statements. For Indian filers, quarterly covers the Q1, Q2, and Q3 results plus the fourth-quarter values of the Q4 results; annual covers the Q4 results; the source forms are "Financial Results" and "Integrated Filing (Financials)". fiscal_period="FY" returns the full-year values of the Q4 results. For Japanese and Korean filers, quarterly covers the Q1, half-year, and Q3 reports. Japan ended the quarterly securities report for quarters that start on or after 1 April 2024, so later Japanese periods have no Q1 or Q3 report. The Korean source forms are the DART report codes 11011 (annual), 11012 (half-year), 11013 (Q1), and 11014 (Q3). fiscal_year and fiscal_period accept company reporting labels such as 2026 and Q3. Earnings 8-Ks take their quarter from the 10-Q or 10-K whose period ended within the 80 days before the 8-K, and keep the 8-K filing date as the reported date. A freshly announced 8-K whose periodic filing has not arrived yet carries a quarter estimated from the company's fiscal calendar, replaced by the exact period when the filing lands. If neither is available, the tool omits the fiscal label instead of guessing.
Some companies file the same concept twice for one period and segment — for example a gross segment total next to a net-of-eliminations figure. Both are served: the extra line is its own series node whose name ends in "(reported line 2)", and its evidence_note says so. The two lines are alternative statements of the same item. Never add a "reported line 2" series to its ordinary counterpart — that double-counts.
A fact's value is served as stored, and the tool never changes its sign. Figures read from the report pages of companies in Germany, the UK, France, Switzerland, and India carry the sign the page prints, so a figure printed in brackets is negative. A few older rows from these markets were stored with another sign, and their evidence_note says so. SEC XBRL, Japanese, and Korean figures, and other figures taken from XBRL tags, carry the sign of the XBRL tag, which can differ from the page: Apple's 2024 cash flow statement prints its share buybacks as (94,949) million, and the stored value is a positive 94,949,000,000. Where FactIQ has stored what the sign stands for, the fact carries sign_meaning, a short text such as "Total expenses shown in brackets in the income statement.", and sign_meaning_kind, one of money_paid_out (cash that left the company in the period, for example "Tax paid"), money_received (cash that came into the company in the period, for example "Proceeds from sale of shares"), expense (a cost or loss that lowers profit), income (revenue, a gain, or a profit item that raises profit), liability (a balance the company owes at a date), asset (a balance the company owns or is owed at a date), deduction (an amount taken off another line to reach a subtotal, for example treasury shares in equity), increase (the balance of the item in the label went up in the period; it never means "adds to cash" or "adds to profit"), decrease (the balance of the item in the label went down in the period), net_amount (the result of pluses and minuses, for example profit or loss, an operating margin, or net cash flow), change_in_balance (a movement line in a table that rolls a balance from the start to the end of the period, for example additions or disposals), as_reported (the sign has no meaning beyond the printed number, for example total equity or a share count), or other (none of the 12 fits; the sign_meaning text says what the sign means). Read the value's sign together with them before adding or subtracting figures. A fact without them has no stored meaning; SEC XBRL and Japanese figures carry none, and most Korean figures carry them. The pretty rendering prints the meaning after the value.
When a company states one per-share figure with two values, both are served as is, and the series name ends with the reason: "on the share count before/after the 2-for-1 share split of 2025-04-01" for earnings per share counted before or after a share split, or "as stated in an earlier report" / "as restated in a later report" when a later report changed the value.
A figure whose value a later, amended or restated report changed carries revision_note, for example "revised: 1,942 in the report of 2026-02-10, now 1,950 (restated, report of 2026-05-04)", or "revised 2 times; last: ..." when the value changed more than once. The note also appears when a still later report repeated the revised value. The pretty rendering prints it after the value.
For non-admin callers, active_only is always enforced by the tool endpoint. With active_only enabled, every target is limited to facts currently marked active and serving; coverage and filings omit reports with no such facts.
If an exact-ticker metrics or facts request has no matching serving data, the tool falls back to Twelve Data standardized consolidated statements. A resolved issuer listed in Germany, the UK, France, Switzerland, India, Japan, or South Korea is sent to the vendor with its exchange suffix (.DE, .L, .PA, .SW, .NS, .T, .KS, .KQ) appended to a bare stored ticker; a stored ticker that already carries the suffix (MC.PA, RELIANCE.NS, 7203.T, 005930.KS) is sent as is, and the bare symbol (RELIANCE, 7203) is sent with the stored suffix. Company names and bare tickers without a resolved issuer remain filings-database-only so vendor data cannot be attributed to a different issuer with the same ticker. A request that names no report_type or fiscal_period tries quarterly statements and then annual, so annual-only vendor coverage still answers. A concept the filings database already holds is never answered from the vendor, even when the other filters leave no rows. Fallback values carry no filing-document, source-page, or segment evidence. coverage, filings, and segment-filtered requests remain filings-database-only.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum matched rows before tree grouping. For facts, each numeric observation is one row, so one series with many periods uses many rows — filter by period, metric class, or segment instead of raising the limit. The range is 1 to 50 and the default is 20. For coverage, it limits the latest filing records. | |
| query | No | Broad lexical search across concept names, labels, codes, aliases, definitions, and segment names. For commentary and risk_changes it searches statement topics, summaries, and verbatim quotes. It applies to every target except coverage. Normally leave it empty when concept is set. | |
| format | No | Response form for a successful tree result. json returns only the JSON tree. pretty returns only readable rendered_tree text. The forms are never combined. | json |
| company | Yes | Required company identifier. Use an exact ticker, full company name, LEI, or another stored identifier. A share-class sibling ticker such as GOOGL resolves to the same SEC filer as the stored GOOG. A company listed in Germany, the UK, France, or Switzerland resolves by its local ticker (BAS for BASF SE, ULVR for Unilever plc, MC.PA for LVMH, NESN for Nestlé), full name, or LEI. When a UK, French or Swiss symbol is also a US ticker, the company is stored with its exchange suffix (.L London, .PA Paris, .SW Zurich: MC.PA, BA.L, ROP.SW) and the bare symbol (MC, BA, ROP) goes to the SEC filer; the response then lists the suffixed company under possible_matches. A Nifty 50 company listed in India resolves by its NSE symbol (RELIANCE, M&M), the same symbol with .NS, its BSE scrip code, or its full name. A company listed in Japan or South Korea resolves by its stock code with the exchange suffix (7203.T for Toyota Motor, 005930.KS for Samsung Electronics, .KQ for KOSDAQ), the bare stock code (7203, 005930), its EDINET or DART code, or its full name. A tied ticker match returns every possible company instead of selecting one. | |
| concept | No | One requested metric, such as Revenue. The tool selects the best stored concept for this company, reports what it selected, and returns that concept across periods. Valid only for metrics or facts. | |
| date_to | No | Optional inclusive latest period-end date for filings, metrics, or facts. | |
| segment | No | Optional case-insensitive filter for a business segment, product, region, dimension member, dimension axis, or source label. It applies to metrics and facts. | |
| date_from | No | Optional inclusive earliest period-end date for filings, metrics, or facts. | |
| active_only | No | Return only current serving facts. This is always enforced for non-admin users; admins may set false to inspect inactive rows. When true, coverage and filings also omit reports with no serving facts. | |
| fiscal_year | No | Optional company fiscal-year label, such as 2026. It applies to filings, metrics, and facts. For metrics and facts it selects the fiscal year of the period a value covers, even when a later report stated the value. | |
| report_type | No | Optional report filter for every target except coverage. Accepts a common type such as annual, quarterly, or half_year, or a source form such as 10-K or 10-Q (or a source document code such as ACS, FR, IR, AMF-RFA, AMF-RES). For German, UK, and French filers, quarterly covers Q1, half-year, and Q3 reports. For Indian filers, quarterly covers the Q1, Q2, and Q3 results, and annual covers the Q4 results, which hold the audited full-year statements. For Japanese and Korean filers, quarterly covers Q1, half-year, and Q3 reports, and the Korean source forms are the DART codes 11011 to 11014. For metrics and facts, quarterly also returns every quarter-length value from other reports, including the fourth quarter, which is stored on the annual report. For commentary and risk_changes, annual covers 10-K and 20-F, quarterly covers 10-Q, current covers 8-K, and 424B4 or 424B1 selects the final IPO prospectus. | |
| metric_class | No | Optional metric class for metrics or facts, such as financial, ifrs, segment, kpi, apm, or offering_terms (the price, shares and proceeds of an offering in a registration statement). Matching ignores letter case, so Product and product select the same facts. | |
| fiscal_period | No | Optional company fiscal-period label, such as Q1, Q2, Q3, Q4, or FY. It applies to filings, metrics, and facts. For metrics and facts it selects the fiscal period a value covers; Q4 returns the fourth-quarter values stored on the annual report. | |
| search_target | No | Result type. coverage shows available report dates, types, and metric classes. filings shows report records and source URLs. metrics shows available concepts and series. facts shows numeric reported values. commentary shows management's qualitative statements from MD&A sections and earnings press releases. risk_changes shows year-over-year risk-factor changes from annual reports; no rows for a year means unchanged risk factors only when annual_report_years lists that year as compared (unchanged from the IPO prospectus when the year is in compared_with_prospectus), and never means no risks. | facts |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||