Data source: CKAN Open Data Portals
https://context.gnist.ai/rest/opendata/
AuthenticationAll requests require a Gnist-API-Key header (or api_key query parameter).
Free tier: 100 calls/day. Get your API key.
Tools (5)
search_datasetsSearch government open data datasets across US (data.gov), UK (data.gov.uk), or Canada (open.canada.ca).
Covers 460K+ datasets published by government agencies — CSV, JSON, GeoJSON, and API
endpoints for climate, transportation, health, economics, geospatial, and more. All free,
no API key required. Each result includes download links, formats, and organization info.
Args:
query: Keyword or topic to search for.
portal: Which country portal to search.
limit: Number of results (1-50, default 20).
offset: Pagination offset.
Returns:
List of matching datasets with title, description, organization, resources (download links),
tags, and license. Use get_dataset for full details on a specific result.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Search query for datasets (e.g. "climate change", "transportation safety", "public health spending"). |
portal | string | optional | Portal to search: 'us' (data.gov, 290K+ datasets), 'uk' (data.gov.uk, 55K+), 'ca' (open.canada.ca, 115K+). Default 'us'. (default: "us") |
limit | integer | optional | Number of results (1-50, default 20). (default: 20) |
offset | integer | optional | Result offset for pagination (default 0). (default: 0) |
{
"query": "example"
}get_datasetGet full details for a single government dataset by its name or ID.
Returns complete metadata including all download resources (CSV, JSON, API endpoints),
description, organization, tags, license, and last-modified date.
Args:
dataset_id: Dataset name or UUID from search results.
portal: Which country portal.
Returns:
Full dataset record with resources, or found=false if not found.
| Parameter | Type | Required | Description |
|---|---|---|---|
dataset_id | string | required | Dataset name or ID (e.g. 'annual-enterprise-survey-2021'). Found in search_datasets results. |
portal | string | optional | Portal: 'us', 'uk', or 'ca'. Default 'us'. (default: "us") |
{
"dataset_id": "example"
}list_organizationsList government organizations that publish open data on a portal.
Browse the publishing organizations (agencies, departments, offices) on a specific
portal. Each entry shows the organization name, description, and number of datasets published.
Args:
portal: Which country portal.
limit: Number of results (1-50, default 20).
Returns:
List of organizations with name, description, and dataset count.
| Parameter | Type | Required | Description |
|---|---|---|---|
portal | string | optional | Portal: 'us', 'uk', or 'ca'. Default 'us'. (default: "us") |
limit | integer | optional | Number of results (1-50, default 20). (default: 20) |
{
"query": "example"
}get_organizationGet details for a specific government data-publishing organization.
Returns organization metadata including description, logo, and total dataset count.
Args:
org_id: Organization name or UUID.
portal: Which country portal.
Returns:
Organization details with dataset count, or found=false if not found.
| Parameter | Type | Required | Description |
|---|---|---|---|
org_id | string | required | Organization name or ID (e.g. 'nasa-gov', 'department-of-energy'). Found in list_organizations results. |
portal | string | optional | Portal: 'us', 'uk', or 'ca'. Default 'us'. (default: "us") |
{
"org_id": "123456789"
}report_feedbackReport a bug, feature request, or general feedback for this data source.
Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.
Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: "general") |
{
"feedback": "example"
}Quick Start
curl -X POST "https://context.gnist.ai/rest/opendata/search_datasets" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"query": "example"}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/rest/opendata/search_datasets",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={
"query": "example"
},
)
print(resp.json())