The important questions of the day deserve better than dueling talking points. AskAmerica turns the government's own records — 480+ datasets from 40+ federal agencies, cross-linked by entity, geography, and time since 2010 — into a common evidence base anyone can query. Ask Claude to run the numbers and show its work, or run the statistics yourself from Python or SQL. Every answer traces back to a primary source.
pip install 'askamerica[engine]'
"Lies, damned lies, and statistics." The fix for the third one is showing the work — every answer here ships with its SQL and its primary source.
Crime, healthcare costs, inflation — the things people actually worry about come with competing explanations, each backed by somebody's cherry-picked chart. AskAmerica won't tell you which theory is right. It gives you the primary records and the statistical tools to check each one yourself — and Claude to run the numbers while you watch.
The properties an honest public debate needs — provenance, reproducibility, entities and geographies that actually join — are the same ones professionals bill hours against. One key, pay only for bytes scanned, first GB every month free.
Updated daily from primary government sources, with history back to 2010. All schemas cross-linked by legal entity, geography, and time. No API keys per dataset — one AskAmerica key accesses everything. Browse the full schema, table & column catalog →
You could — and for one number from one agency, it works. But the questions worth asking span sources and years, and that's where it breaks down: much of the data exists only as bulk files with no queryable API, identifiers don't match across agencies, figures get revised after you've quoted them, and formats and classification codes shift vintage to vintage. Improvise that pipeline per conversation and you get answers that look right and can't be reproduced. We did the plumbing once — cross-linked, vintage-reconciled, one stable SQL schema — so Claude stops summarizing other people's studies and runs the numbers itself, on the primary records, showing its work. Claude alone gives you an answer. This gives you a receipt.
AskAmerica handles ingestion, formatting, and serving. You get a key, connect a client, and query — three steps, no data to deploy or maintain.
All plans include every dataset. You pay for bytes scanned, not seats.
Same data, same API key — choose the client that fits your workflow.
Bundled JRE — no Java, no Python, no config files. Open the app, enter your API key, click Configure. Works with Claude Desktop and any other MCP-compatible client.
Or via pip: pip install 'askamerica[mcp]' then askamerica mcp-config.
list_schemas → what datasets are available? list_tables → what tables are in fec? describe_table → what columns does contributions have? query → run any SQL and return results
Claude calls these automatically — you just ask questions in plain English. No SQL required on your end.
One package, zero boilerplate. Returns a pandas DataFrame or a raw JDBC connection — JPype is managed internally, never exposed.
pip install 'askamerica[engine]' askamerica login # set your API key
Python 3.8+. The engine JAR downloads automatically on first query (cached under ~/.askamerica). On Python 3.10+ a JVM is bundled too; on 3.8–3.9, Java 11+ must be on your PATH.
import askamerica as aa df = aa.query(""" SELECT company_name, value_dollars FROM sec.financial_facts WHERE canonical_name = 'Revenue' ORDER BY value_dollars DESC FETCH FIRST 10 ROWS ONLY """) print(df)
conn = aa.connect()
rs = conn.createStatement().executeQuery(
"SELECT cik, company_name FROM sec.filing_metadata"
" ORDER BY filing_date DESC FETCH FIRST 5 ROWS ONLY")
while rs.next():
print(rs.getString("company_name"))
conn.close()
A single fat JAR — use from Node, Go, Java, DBeaver, or any JDBC client. No other dependencies.
↓ askamerica-engine.jarJDBC URL: jdbc:askamerica:source=geo,sec Driver JAR: askamerica-engine.jar Driver class: org.apache.calcite.adapter .askamerica.AskAmericaDriver Username: (leave blank)
const { createConnection } = require('jdbc'); const conn = await createConnection({ url: 'jdbc:askamerica:source=sec,geo', drivername: 'org.apache.calcite.adapter .askamerica.AskAmericaDriver', classpath: ['./askamerica-engine.jar'] }); const rows = await conn.query( 'SELECT cik, company_name FROM sec.filing_metadata FETCH FIRST 5 ROWS ONLY');
// go-jdbc wraps the JVM via CGo db, _ := sql.Open("jdbc", "jdbc:askamerica:source=sec,geo") rows, _ := db.Query( "SELECT cik, company_name FROM sec.filing_metadata FETCH FIRST 5 ROWS ONLY")
AskAmericaDriver driver = new AskAmericaDriver(); Connection conn = driver.connect( "jdbc:askamerica:source=sec,geo,econ", new Properties()); ResultSet rs = conn.createStatement().executeQuery( "SELECT cik, company_name FROM sec.filing_metadata FETCH FIRST 5 ROWS ONLY");
Enter your email. We'll send a one-time code — no password required.
Your free API key is below. Keep it safe — it grants access to your quota.
pip install 'askamerica[engine]'askamerica login # key: import askamerica as aadf = aa.query("SELECT 1")