17 federal datasets — SEC, FEC, Census, weather, energy, crime, and more — queryable in plain English via Claude Desktop, or directly from Python with one pip install.
pip install 'askamerica[engine]'
Updated daily from primary government sources. No API keys per dataset — one AskAmerica key accesses everything.
AskAmerica handles ingestion, formatting, and serving. You write SQL.
askamerica install-engine to pull the JDBC query engine.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 install-engine # downloads JAR once askamerica login # set API key
Python 3.8+. Java 11+ must be on your PATH (or set JAVA_HOME).
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 askamericaimport askamericaaskamerica.configure(api_key=)