330+ datasets from 30 federal agencies — cross-linked by legal entity, geography, and time since 2010. Includes text similarity search across SEC filings and the Federal Register. Query everything in plain English via Claude Desktop, or directly from Python with one pip install.
pip install 'askamerica[engine]'
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.
AskAmerica handles ingestion, formatting, and serving. Choose how you want to query.
pip install 'askamerica[mcp]'pip install 'askamerica[engine]' then askamerica install-engine to pull the query engine once. Java 11+ required.askamerica login to store your key, or pass it directly: aa.configure(api_key="...")aa.query("SELECT ...") and get a pandas DataFrame back. Standard SQL across all 330+ datasets.askamerica-engine.jar from the GitHub releases page. A single fat JAR — no other dependencies.jdbc:askamerica:source=sec,geo and your API key as the password.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=)