TL;DR
The BC Data Catalogue provides open data from British Columbia provincial government ministries and agencies through a CKAN (Comprehensive Knowledge Archive Network) REST API. Over 4,000 datasets cover geography, natural resources, environment, health, transportation, education, economy, public safety, and cultural data. The API supports full CKAN actions: package_list, package_search, package_show, resource_show, tag_list, and group_list. Data is available in multiple formats including CSV, GeoJSON, KML, Shapefile, and WMS/WFS services. No API key is needed for metadata access, though some data downloads may require accepting terms of use.
Quick start: https://catalogue.data.gov.bc.ca/api/3/action/package_list
No API key needed — just make a request!
How to Use This API
1. List All Dataset Packages
Returns an array of all dataset IDs in the catalogue:
https://catalogue.data.gov.bc.ca/api/3/action/package_list
2. Search Datasets by Keyword
Full-text search across dataset titles, descriptions, and tags. Supports pagination with rows and start:
https://catalogue.data.gov.bc.ca/api/3/action/package_search?q=forestry&rows=10
https://catalogue.data.gov.bc.ca/api/3/action/package_search?q=health+facilities&rows=20&start=0
3. Get Dataset Details
Retrieve full metadata for a specific dataset by its ID:
https://catalogue.data.gov.bc.ca/api/3/action/package_show?id=bc-airports
https://catalogue.data.gov.bc.ca/api/3/action/package_show?id=bc-school-locations
4. List Available Tags
Browse all tags used across the catalogue to discover related datasets:
https://catalogue.data.gov.bc.ca/api/3/action/tag_list
https://catalogue.data.gov.bc.ca/api/3/action/tag_list?all_fields=true
5. Get Resource Details
Each dataset contains one or more resources (CSV files, Shapefiles, etc.). Get direct download URLs:
https://catalogue.data.gov.bc.ca/api/3/action/resource_show?id={resource_id}
6. Response Format
The CKAN API returns a standard JSON envelope:
{
"help": "https://...",
"success": true,
"result": {
"count": 42,
"results": [
{
"id": "abc-123",
"name": "bc-airports",
"title": "BC Airports",
"notes": "Locations of airports in British Columbia",
"organization": {"name": "ministry-of-transportation"},
"resources": [
{
"id": "res-1",
"name": "BC Airports CSV",
"format": "CSV",
"url": "https://.../download.csv"
}
]
}
]
}
}
7. JavaScript — Search and Display Results
fetch('https://catalogue.data.gov.bc.ca/api/3/action/package_search?q=parks&rows=5')
.then(r => r.json())
.then(d => {
if (!d.success) throw new Error('CKAN error');
d.result.results.forEach(ds => {
console.log(ds.title);
console.log(` Updated: ${ds.metadata_modified}`);
console.log(` Formats: ${ds.resources.map(r => r.format).join(', ')}`);
});
});
8. Python — List All Dataset Names
import requests
resp = requests.get(
'https://catalogue.data.gov.bc.ca/api/3/action/package_list'
)
data = resp.json()
if data['success']:
print(f"Total datasets: {len(data['result'])}")
for name in data['result'][:20]:
print(f" \u2022 {name}")
9. Python — Search with Pagination
import requests
all_results = []
start = 0
page_size = 100
while True:
resp = requests.get(
'https://catalogue.data.gov.bc.ca/api/3/action/package_search',
params={'q': 'water', 'rows': page_size, 'start': start}
)
data = resp.json()
results = data['result']['results']
if not results:
break
all_results.extend(results)
start += page_size
print(f"Found {len(all_results)} water-related datasets")
https://catalogue.data.gov.bc.ca/api/3/action/package_list
Frequently Asked Questions
- What is CKAN and how does it work?
- CKAN (Comprehensive Knowledge Archive Network) is an open-source data management system used by many government open data portals worldwide. The BC Data Catalogue is built on CKAN, providing standard API actions like
package_search,package_show,resource_show,tag_list, andgroup_list. All actions follow the pattern/api/3/action/{action_name}. - What datasets are most popular on the BC Data Catalogue?
- Frequently accessed datasets include BC Airports, Forest Tenure, Health Facilities, BC School Locations, Parks and Ecological Reserves, Freshwater Atlas, BC Assessment Data, Digital Road Atlas, and the BC Geographic Name Registry.
- Can I get geospatial data through the API?
- Yes. Many datasets include GeoJSON, KML, Shapefile downloads as well as WMS (Web Map Service) and WFS (Web Feature Service) endpoints for direct GIS integration. The
bc-airportsandfreshwater-atlasdatasets are particularly rich in geospatial content. - Is there a rate limit on the CKAN API?
- No specific rate limit is documented, but reasonable usage patterns are expected. Large bulk downloads should be done during off-peak hours. For very large datasets, use the direct download links (CSV/Shapefile) rather than the API.
- Do I need an API key for any operations?
- Metadata search and listing actions (
package_list,package_search,package_show) are fully open. Some actions that modify data or access private datasets may require authentication, but for public open data consumption you never need an API key. - How do I download the actual data files?
- Use
package_showto get a dataset's resources, then look at theurlfield in each resource object. Resources have aformatfield (CSV, XLS, Shapefile, GeoJSON, etc.) indicating the file type. You can then download directly using the URL. - What geographic area does the data cover?
- The data covers the province of British Columbia, Canada. Some datasets have provincial coverage, others cover specific regions or municipalities within BC. The
package_searchendpoint supports faceted search to filter by geographic extent.
API Details
- API URL
https://catalogue.data.gov.bc.ca/api/3- Documentation
- catalogue.data.gov.bc.ca
- Category
- Government
- Authentication
- Not Required (for read/public access)
- Geographic Coverage
- British Columbia, Canada
- API Style
- CKAN v3 REST API
- Data Formats
- CSV, GeoJSON, KML, Shapefile, XLS, WMS, WFS
What You Can Build
- BC-specific civic dashboard showing health facilities, schools, and parks on an interactive map
- Forestry research tool aggregating BC forest tenure, cut blocks, and wildfire history data
- Real estate search tool overlaying BC Assessment data with school catchment areas and transit routes
- Environmental monitoring app combining BC water quality, air quality, and weather station data
- Educational resource finder for teachers — locate school districts, early learning programs, and post-secondary institutions