Economic statistics your AI can actually cite.
StatCite serves official macro data from the World Bank, IMF, ECB and others, and every number ships with its full citation: source, dataset, series ID, canonical URL, license, and retrieval date. Plus verify_stat: check any claimed figure against the official series before it goes in your report.
Why citations, why now
AI agents write a growing share of the world's reports, briefs and analysis, and they miscite numbers at measurable rates. StatCite exists so the number in your draft is the number in the official series, with the receipt attached.
CJR, 2025
EBU/BBC, 2025
UPenn researchers, 2026 (arXiv preprint)
arXiv 2605.07723
We measured it ourselves, on our own claim
The stats above are general research on AI and citations. This is StatCite's own benchmark: 6 models across 3 vendors (4 Anthropic models, 1 OpenAI, 1 Google preview model) answering 100 real economic-statistics questions, instructed to answer from memory only. No tools, no retrieval, no StatCite. It's the honest baseline StatCite exists to fix.
| Model | Within-Tolerance Rate | Confabulation Rate | Answer Rate |
|---|---|---|---|
| claude-opus-5 | 82.0% | 15.5% | 97.0% |
| claude-fable-5 | 81.0% | 15.6% | 96.0% |
| gemini-3-flash-preview | 79.0% | 20.2% | 99.0% |
| gpt-5.5 | 75.0% | 22.7% | 97.0% |
| claude-sonnet-5 | 64.8% | 31.4% | 94.5% |
| claude-haiku-4-5 | 33.3% | 32.5% | 49.4%* |
*claude-haiku-4-5's Answer Rate falls below the 70% threshold the pre-registered methodology requires for a model's result to be interpreted at all. It is reported for completeness, not as a headline finding, per the methodology's own pre-committed rule.
Within-Tolerance Rate, Confabulation Rate, and Answer Rate are a single unit by our own publication covenant, never quoted apart from one another. At this sample size (Wilson 95% CIs, minimum detectable model-to-model difference ~12–15pp) this is not a league table. How the benchmark is built, why it is hard to game, and what is pre-registered for the next run: the benchmark page. Full methodology, pre-registration, raw model outputs, and scoring code: the R1 report. Post-publication sensitivity analyses and the logged protocol deviations for this run: the R1 addenda.
Connect your agent
One URL. No signup, no API key, no OAuth. Works in every major MCP client.
Once connected, three ready-made prompts appear in clients that support them: fact_check (paste a draft, every macro claim in it gets checked), country_brief and cite_this_stat. What they do.
Settings → Customize → Connectors → Add custom connector → paste the URL. Works on all plans (Free allows one custom connector).
Name: StatCite URL: https://statcite.com/mcp
Then confirm it works with a test prompt: “Using StatCite, verify that US inflation was 4.1% in 2023 and cite the official source.”
Settings → Apps & Connectors → enable Developer mode (availability varies by plan and tier, see OpenAI's current docs) → create app with No Authentication. The server also implements the search/fetch pair used by deep-research connectors.
MCP server URL: https://statcite.com/mcp Authentication: No authentication
Then confirm it works with a test prompt: “Using StatCite, verify that US inflation was 4.1% in 2023 and cite the official source.”
Add to ~/.cursor/mcp.json (or per-project .cursor/mcp.json):
{
"mcpServers": {
"statcite": { "url": "https://statcite.com/mcp" }
}
}
Add to .vscode/mcp.json:
{
"servers": {
"statcite": { "type": "http", "url": "https://statcite.com/mcp" }
}
}
Recommended, the plugin. It connects the server and installs the verify-then-cite skill, so the model reaches for verify_stat before publishing a number rather than only having the tool available:
/plugin marketplace add asokore/statcite /plugin install statcite@statcite
Or connect the server on its own, without the skill:
claude mcp add --transport http statcite https://statcite.com/mcp
Then confirm it works with a test prompt: “Using StatCite, verify that US inflation was 4.1% in 2023 and cite the official source.”
StatCite ships a Gemini CLI extension:
gemini extensions install https://github.com/asokore/statcite
Then confirm it works with a test prompt: “Using StatCite, verify that US inflation was 4.1% in 2023 and cite the official source.”
Any stdio-only client, via mcp-remote (use ≥ 0.1.16):
{
"mcpServers": {
"statcite": {
"command": "npx",
"args": ["-y", "mcp-remote@latest", "https://statcite.com/mcp"]
}
}
}
Plain HTTP for scripts, notebooks, spreadsheets and Custom GPT Actions. OpenAPI spec:
curl "https://statcite.com/v1/indicator/inflation_cpi?country=BRB&latest_only=true" curl "https://statcite.com/v1/verify?indicator=inflation_cpi&country=USA&period=2023&value=4.1" curl "https://statcite.com/v1/fx?amount=100&from=USD&to=BBD"
Where StatCite is listed
Independent directories that carry this server, so you can check it somewhere that is not this page. Each link was verified live on 2026-09-07, and the site's own audit re-checks every one of them.
- Claude Connectors Directory, listed as a Community connector (automated review, not Anthropic-verified)
- Official MCP Registry,
io.github.asokore/statcite, kept at the version this service serves - Glama, independent quality scan, grade A, and its remote-connectors directory
- awesome-mcp-servers, Finance & Fintech section, merged 7 September 2026
- Smithery
- Apify Store, the metered twin of this server
- Source on GitHub, MIT licence, with the benchmark and the licence ledger
What a verified number looks like
An agent drafts “US inflation was 4.1% in 2023.” Before publishing, it calls verify_stat:
// tools/call → verify_stat {indicator:"inflation_cpi", country:"USA", period:"2023", claimed_value:4.1} { "verdict": "match", "claimed_value": 4.1, "official_value": 4.116338383, "explanation": "Claimed 4.1 vs official 4.1163 % (annual average) for 2023, consistent (difference of 0.016 pp is within normal rounding).", "citation": { "source": "World Bank", "dataset": "World Development Indicators", "series_id": "FP.CPI.TOTL.ZG", "series_name": "Inflation, consumer prices (annual %)", "source_url": "https://data.worldbank.org/indicator/FP.CPI.TOTL.ZG?locations=USA", "license": "CC BY 4.0", "retrieved_at": "2026-07-25", "citation_text": "World Bank, World Development Indicators, series FP.CPI.TOTL.ZG (Inflation, consumer prices, annual %), data last updated 2026-07-13. Retrieved 2026-07-25 via StatCite (https://statcite.com). https://data.worldbank.org/indicator/FP.CPI.TOTL.ZG" } }
Illustrative response. Live values, source-update dates and retrieval dates change as sources publish revisions.
And when the number is wrong, the diagnostics say how it went wrong. Claim 0.041 instead and:
// tools/call → verify_stat {indicator:"inflation_cpi", country:"USA", period:"2023", claimed_value:0.041} { "verdict": "mismatch", "claimed_value": 0.041, "official_value": 4.116338383, "diagnostics": ["The claimed value is ~100× smaller than the official figure, possibly a percent-vs-decimal mix-up (e.g. 0.05 vs 5%)."] }
Wrong year? Percent-vs-decimal slip? Billions-vs-millions? Sign flipped on a fiscal balance? verify_stat diagnoses the classic errors and returns the correct, citable figure.
Try a live verification
No setup, no key. This form calls the same public GET /v1/verify endpoint your agent would. Pick an indicator, claim a number, get the verdict and the citation.
Twelve tools, one contract: every number carries its receipt
Available over MCP and mirrored as a REST API. All read-only.
verify_stat
Check a claimed figure against the official series → match / close / mismatch / cannot_verify, with diagnostics and the correct citation.
verify_claims
Fact-check a whole draft in one call: extract every macro claim, submit up to 15 together (also POST /v1/verify_claims). Verdict summary + per-claim results. One bad claim never sinks the batch.
get_indicator
42 active curated indicators: inflation, GDP growth, unemployment, government debt, current account, FDI and more, for 200+ economies, with source fallback (World Bank → IMF DataMapper, current vintage → IMF WEO via DBnomics).
country_snapshot
Headline economic picture of any country in one call, every indicator carrying its own citation. Coverage varies by economy, from a full headline set down to what a small state's central bank publishes. Built for country briefs.
inflation_adjust
“What is $100 (1995) worth in 2024 money?” CPI-ratio method with the exact index values and formula disclosed. Any country with CPI data.
fx_convert
ECB daily reference rates for ~30 majors since 1999, plus official annual-average rates for ~90 more currencies (BBD, XCD, JMD, KES…). Method always stated.
get_series
Raw access by explicit id: worldbank/…, imf/…, dbnomics/IMF/WEO:latest/…, and caribstat/… for the Caribbean central bank tables. Transforms: YoY, % change, index rebase.
compare_sources
The same indicator from every source that publishes it, side by side, with the spread, the agreement and one citation per source. For when "what does the official data say?" has more than one official answer.
search_indicators
Free-text search over the curated registry plus DBnomics dataset discovery (IMF, OECD, Eurostat, BIS…).
list_sources
Exactly which official sources power each answer, their licenses, and the attribution lines you're required to use.
search + fetch
The deep-research compatibility pair, so StatCite plugs into ChatGPT connectors and similar research pipelines out of the box.
Sources & licenses
StatCite is a citation layer over official statistics, never a black box. Data is fetched live from the sources and cached briefly for politeness.
| Source | Coverage | License |
|---|---|---|
| World Bank, World Development Indicators | ~1,400 annual indicators, 200+ economies, from 1960 | CC BY 4.0 |
| IMF, World Economic Outlook & Fiscal Monitor (via the DataMapper API, with DBnomics as fallback) | Growth, fiscal & external indicators, 190+ economies, incl. projections. Primary path serves the IMF's current edition directly. If unavailable, it falls back to the newest DBnomics has ingested (responses flag stale vintages and vintage-crossing fallbacks) | Redistribution and derivative use permitted with attribution in the IMF's format ("Source: International Monetary Fund, <database>, <link>"). Downstream users must be told these terms, and data sold as a standalone product must disclose it is free from the IMF |
| IMF, dated WEO vintages (api.imf.org, SDMX 3.0) | The IMF's own frozen dated editions, used by as_of historical verification and the automatic revision probe. DBnomics remains the deep archive back to 2010 | Same IMF data terms as above |
| Bank for International Settlements | Central bank policy rates, 49 economies (daily/monthly) | Reproduction & redistribution with attribution |
| European Central Bank, Data Portal | Euro-area HICP inflation and euro-area aggregates | Reproduction with attribution |
| European Central Bank (via Frankfurter) | Daily euro reference FX rates, ~30 currencies, since 1999 | Attribution, informational rates |
| Eastern Caribbean Central Bank | ECCU monetary, fiscal, debt, tourism, interest-rate and CPI statistics across the eight member geographies and the currency-union aggregate. Includes Anguilla and Montserrat, which are not World Bank reporting economies, so for several of these series this is the only citable machine-readable source anywhere | ECCB website terms of use, plus written permission granted to the operator |
| Central Bank of Barbados | 16 tables: balance of payments back to 1967, GDP, retail prices and inflation, labour, wages, industrial production, tourism, trade in goods, exchange rates, interest rates, international reserves, the depository-corporations surveys and financial soundness indicators | Central Bank of Barbados website terms of use, plus written permission granted to the operator |
| FRED, St. Louis Fed | Not served. Six US-only registry keys are reserved for it but always decline. FRED's terms of use reserve its content from AI/ML use and from caching or redistribution | n/a |
| DBnomics (aggregator) | 90+ official providers (OECD, Eurostat, BIS, national offices) | Per provider, named in each citation |
The complete licence ledger, with every source, its verbatim licence basis, verification date and required attribution, is served live at /sources and GET /v1/sources.
Pricing
Free while the agent economy grows up. Infrastructure costs are near zero by design. When paid tiers arrive, the free tier stays.
Free
- All 12 tools, full citation payloads
- No key, no signup, no OAuth
- MCP + REST
- Fair-use: be reasonable, heavy automated loads may be throttled
Metered (Apify)
- Same engine as a managed Apify actor
- Per-result billing on Apify's managed platform (Apify's store terms govern the offering)
- For pipelines that want an invoice
- Listing: StatCite: Economic Data & Stat Verification
Pro
- API keys, higher limits, bulk endpoints
- More sources (OECD, Eurostat curated sets)
- x402 / agent-native payments
- Email hello@statcite.com to shape it
Support StatCite
StatCite is free, with no ads, no trackers and no data resale. Running it costs very little by design, so there is no funding drive here. If it caught a wrong number before you published it, you can put something in the tin.
Contributions go to the domain, the data-source costs and the time to keep the registry curated. They buy no priority support, no influence over which sources StatCite trusts, and no change to how verify_stat scores a claim. The verdict is not for sale. That is the whole point of the project.
FAQ
Is it really free? What's the catch?
Yes. The service runs on near-zero-cost infrastructure and free official data APIs, so a generous free tier is sustainable. The long-term plan is boring and honest: keep the free tier, add paid convenience (keys, volume, bulk) for heavy users. No ads, no data resale.
How accurate is the data?
StatCite does not originate the underlying statistical observations. It relays the official series and tells you exactly which one, fetched live from the source or its aggregator and cached briefly. Derived values (YoY, inflation adjustment, FX bridging) and verification verdicts are calculated transparently, with the method and inputs disclosed. Macro data gets revised, and aggregators can lag the source's newest release. Every citation states the exact series and vintage served, and responses flag when a vintage trails the expected current release.
Can I redistribute the numbers?
It depends on the source, and every response tells you exactly which applies. World Bank data is CC BY 4.0, so reuse including commercial use is allowed with attribution. Published IMF statistical data may be copied, redistributed and used in derivative works under the IMF's data terms: attribute in the IMF's format ("Source: International Monetary Fund, <database>, <link>", and every StatCite citation supplies this line ready-made), don't alter the data in ways affecting accuracy, tell your own downstream users these terms apply, and if you sell it as a standalone product, disclose that the data is free from the IMF. ECB reference rates are informational, reused with attribution. Every response includes the exact attribution line and license for that number, which is precisely the point of StatCite.
Who built this?
A professional economist who got tired of AI drafts with unverifiable numbers. The indicator registry, source fallbacks, and verification thresholds are economist-curated. For example, government debt defaults to the IMF's general government gross debt series (current vintage via the DataMapper API), not the patchier World Bank central-government series.
How should agents cite StatCite itself?
Cite the original source (the citation object gives you everything). Mentioning “via StatCite” is appreciated but never required.
What about rate limits?
Fair use, no hard published limit. Responses are cache-friendly, so identical queries are served from edge cache. If your use case needs guarantees, email hello@statcite.com.