Quick Start
Get up and running with OpenData in under 5 minutes.
1. Find a Dataset
Use the search page to find datasets. You can filter by provider, status, or use full-text search.
Search for datasets
curl "https://api.tryopendata.ai/v1/search?q=population&limit=10" | jq2. Explore the Data
Once you find a dataset, you can preview the data directly in the browser or query it via API.
Query a dataset
curl "https://api.tryopendata.ai/v1/datasets/census/state-populations?limit=5" | jq3. Query the Data
Use query parameters to filter, sort, and paginate results:
# Select specific fieldsGET /v1/datasets/census/state-populations?fields=state,population&limit=50# Filter by column valuesGET /v1/datasets/census/state-populations?filter[year][gte]=2020&limit=10# Paginate through resultsGET /v1/datasets/census/state-populations?limit=10&offset=10
There's a lot more you can do with queries, including aggregation, sorting, and column introspection. See the Querying Guide for the full rundown.
4. Export or Integrate
Data can be exported in multiple formats or integrated directly into your applications.
Python (SDK)
The easiest way to work with OpenData in Python is the official SDK:
from opendata_sdk import OpenDataclient = OpenData()df = client.datasets.query("census/state-populations").to_pandas()print(df.head())
Install it with pip install tryopendata[pandas]. See the Python SDK guide for filtering, pagination, and async usage.
Python (requests)
import requestsresponse = requests.get("https://api.tryopendata.ai/v1/datasets/census/state-populations",params={"limit": 100})data = response.json()# Convert to pandas DataFrameimport pandas as pddf = pd.DataFrame(data["rows"], columns=data["columns"])
JavaScript
const response = await fetch("https://api.tryopendata.ai/v1/datasets/census/state-populations?limit=100");const { columns, rows } = await response.json();console.log(columns); // ["state", "year", "population"]console.log(rows[0]); // ["California", 2023, 39538223]
The default response format is columnar (arrays of arrays), which is more compact. If you prefer the traditional object-per-row format, add ?response_format=objects to get back { "data": [{...}, ...] } instead.
Prefer to skip the code?
If you'd rather not wire up the API yourself, you can use OpenData directly inside an AI assistant. Ask Claude, Cursor, or VS Code things like “chart US unemployment over the last 5 years” and it'll find the dataset, run the query, and render the chart for you.
Two ways to set this up:
- Use with AI (MCP) - Connect any MCP-compatible AI tool to OpenData. Easiest with Claude Desktop or claude.ai, takes about 30 seconds.
- OpenData Skills - If you use Claude Code, install our official skills (
opendata-api+openchart) from the plugin marketplace. Your assistant learns how to query data and build charts in one shot.
Next Steps
- Querying Guide - Filtering, aggregation, and advanced queries
- API Reference - Complete endpoint documentation
- Search Guide - Advanced search techniques
- Rate Limits - API usage limits and best practices