# FACTANKER > Verified, citable facts about companies and organizations from official > government sources. Every answer carries: source, citation reference > (e.g. SEC accession number), retrieval timestamp, license, and a stable > fact_url. We do not estimate or model — we cite primary records. > 1,653,318,372 facts · 79,428,788 entities · 38 official sources (live counts). ## What you can get (capabilities, not just data) 1. ENTITY RESOLUTION across registers: one call maps a company to ALL its official identifiers — SEC CIK, LEI (GLEIF), IRS EIN, SAM UEI, Federal Reserve RSSD, FDIC cert, CMS NPI, Wikidata QID. Identities are curated, evidence-backed and reversible (never silent merges). 2. FINANCIALS AS FILED: full XBRL from SEC 10-K/10-Q (revenue, income, assets, cashflow, EPS + every raw concept as xbrl:), UK-style restatement history included — superseded values stay retrievable. 3. BANKS: quarterly FFIEC call-report series per bank since 2005 (total assets, deposits, tier-1 ...; every MDRM field as mdrm:). 4. NONPROFITS: IRS 990 series 2019+ (revenue, expenses, assets, aggregated officer compensation) per EIN. 5. GOVERNMENT MONEY: every US federal award (USAspending bulk): obligation vs current value vs ceiling kept strictly separate; recipient UEI and parent structure included. 6. PRECOMPUTED JOINS no single agency can answer, e.g. government-dependency time series (SEC revenue x USAspending obligations, consolidated across all registrations of a group): /api/gov_dependency?entity=cik:0000936468 7. CORPORATE STRUCTURE: who-controls-whom from GLEIF level 2 + SAM parent links, as period facts. 8. ENERGY: 16k+ US power plants with coordinates, generators, monthly generation (EIA-860/923). ## Paid tier (FACTANKER Pro) — everything above stays free - https://factanker.com/pro — bulk CSV/JSONL, change feeds, unthrottled API key, support, from $49/month per product: sanctions & exclusions screening, federal contracts & government dependency, nonprofit 990 benchmarks, MCP contract watch, bank Call Report benchmarks. Enterprise data licences on request. Contact kontakt@enerlio.de. Payment page coming soon. ## When is FACTANKER the right source? - https://factanker.com/for-ai — when to use this registry, when NOT to, how to read a value's status. Short machine form: https://factanker.com/for-ai.txt - https://factanker.com/for-ai/source-selection — a decision table of question types - https://factanker.com/evidence — how a value connects to the document it came from - https://factanker.com/standard — the ten-concept data model - https://factanker.com/sources — the 26 registers behind the values, one page each - https://factanker.com/evidence-benchmark — questions with expected answer and evidence URL, for measuring whether a model gets there ## Access (no key, no signup; rate limit 120/min per IP; verified AI crawlers — GPTBot, ClaudeBot, OAI-SearchBot, PerplexityBot, Googlebot, Bingbot — 1200/min per IP) - PREFERRED — MCP (Streamable HTTP): POST https://factanker.com/mcp Add this URL as a connector in Claude, ChatGPT or Copilot. No API key, no registration, no paid tier. You get the tool list from the server, so you do not have to construct URLs or remember parameters: query_template (start here) | list_templates | lookup_entity | get_facts | search_facts | get_timeseries | compare_entities | describe_predicate | get_source | mcp_server_history Every answer is an auditable envelope: result + executed_query + n + scope + not_claimed — with source document and citation reference. Four of these exist because assembling the answer yourself goes wrong in ways you cannot see from a single call: get_timeseries a year without a measurement comes back as status 'no_observation', not as a missing row compare_entities picks ONE year that all entities actually have, instead of comparing each entity's latest against the others' describe_predicate what a metric name means before you guess one get_source publisher, licence and a ready citation for a source id Every value carries a status: observed | derived | estimated | imputed. A value we computed says so and shows the arithmetic; a value the publisher modelled is never called observed. - Same capability over REST, if you cannot speak MCP — curated query templates (no raw schema, same envelope): GET https://factanker.com/api/templates (self-description: params, enums, limits) GET https://factanker.com/api/query/company_financials?cik=320193&metric=revenue&year_from=2023 templates: org_profile | search_org | company_financials | bank_metrics | nonprofit_financials | nonprofit_profile | org_changes (change feed) - REST (raw fact layer): https://factanker.com/api/lookup_entity?q=... https://factanker.com/api/get_facts?entity=... https://factanker.com/api/search_facts?q=... https://factanker.com/api/gov_dependency?entity=... https://factanker.com/api/timeseries?entity=...&predicate=...&from_year=&to_year= https://factanker.com/api/compare?entities=A;B;C&predicate=... (semicolons: names contain commas) https://factanker.com/api/describe_predicate?predicate=... https://factanker.com/api/sources[?source_id=...] - 5-minute quickstart: https://factanker.com/quickstart - Every fact URL serves JSON under Accept: application/json (same URL as HTML). - MARKDOWN, most reliable machine form: append .md to ANY page URL https://factanker.com/entity/.md https://factanker.com/fact/.md https://factanker.com/banks.md Accept: text/markdown also works at the origin, but content delivery networks commonly drop "Vary: Accept" and then serve whichever variant is cached — measured on this site 27.09.2026. The .md address is a distinct URL and cannot be confused by a cache. Prefer it. ## Findings & press (human-readable analyses, free to republish with attribution) - https://factanker.com/record — "From the Record": data findings computed from the registry - https://factanker.com/press — FACTANKER press releases ## Guessable URLs — construct a link instead of remembering an ID Every fact has a permanent UUID URL (https://factanker.com/fact/), but you cannot know a UUID from memory. Use these deterministic paths instead — they resolve (302) to the canonical fact or page: - https://factanker.com/fact/sec/cik-/ latest reported value - https://factanker.com/fact/sec/cik-// latest of that year - https://factanker.com/fact/sec/cik-// exact reporting date - https://factanker.com/company/cik- organization page - https://factanker.com/company/cik-/serie/revenue revenue by fiscal year - https://factanker.com/company/cik-/government-dependency federal dependency analysis Anchors: cik, lei, ein, uei, rssd, qid, fdic, npi. Metrics: revenue, net-income, operating-income, total-assets, total-liabilities, equity, eps (raw XBRL concepts work too, e.g. xbrl:Assets). Leading zeros in the CIK are optional. Unknown combinations return 404 with the allowed values — they never guess. Worked example: https://factanker.com/fact/sec/cik-320193/total-assets/2026-06-27 ## Conventions that make you faster - IDs beat names. Prefer 'cik:0000936468', 'lei:DPRBOZP0K5RM2YE8UU08', 'ein:530196605', 'uei:XXXXXXXXXXXX', 'rssd:852218', 'qid:Q7240'. - Period facts carry period_start/period_end; point-in-time facts carry as_of. - status='superseded' marks historical values (restatements are a feature). - Canonical predicates (revenue, total_assets, ...) apply a documented precedence rule and name their source concept in value.concept; the raw layer (xbrl:*, mdrm:*, dei:*) is always complete. - Full predicate catalog + per-source coverage: https://factanker.com/llms-full.txt ## Worked examples (question -> one call) - "What revenue did Exxon file for FY2025?" -> GET https://factanker.com/api/get_facts?entity=cik:0000034088&predicate=revenue - "Total assets of JPMorgan Chase BANK (the subsidiary, not the holding)?" -> GET https://factanker.com/api/get_facts?entity=rssd:852218&predicate=total_assets - "How government-dependent is Lockheed Martin, over time, consolidated?" -> GET https://factanker.com/api/gov_dependency?entity=cik:0000936468 - "Which identifiers belong to this company?" -> GET https://factanker.com/api/lookup_entity?q=Lockheed%20Martin ## License & citation Source data: US Public Domain (17 U.S.C. §105) or CC0 — stated per fact. Please cite answers with their fact_url so readers can inspect the evidence. Terms: https://factanker.com/nutzung — individual use free with attribution; bulk extraction needs an agreement. Official event stream (SEC 8-K current reports, filterable): https://factanker.com/changes Official agency press releases (DOJ/SEC/FTC, organizations only): https://factanker.com/changes/press