Canada Open Data Scraper — Open Government Datasets
Pricing
from $15.00 / 1,000 canada dataset records
Canada Open Data Scraper — Open Government Datasets
Search Canada's Open Government portal and export dataset titles, publishers, licences, formats and download URLs in English or French. USD 20 per 1,000.
Pricing
from $15.00 / 1,000 canada dataset records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 hours ago
Last modified
Categories
Share
Canada Open Data Scraper searches the Government of Canada's Open Government portal (open.canada.ca) and returns one record per dataset: bilingual title and description, publishing department, subjects, keywords, licence, dates, file formats and, for each file or service, its download URL, format and size. It is built for researchers, data teams, journalists and AI agents that need to find Canadian public datasets or keep a data inventory up to date, and it costs USD 20 per 1,000 dataset records on the FREE tier (USD 0.02 per record, USD 15 per 1,000 on GOLD).
Search by keyword, filter by publisher, file format or modification date, or fetch exact dataset IDs, in English or French. The Actor reads catalog metadata and links; it does not download the data files themselves.
What does the Canada Open Data scraper return?
Each dataset item is one catalog dataset.
| Field | What it contains |
|---|---|
datasetId | Dataset UUID, for example c6d02a9b-a7c0-441b-bfd3-ca69067b4b79 |
title, titleEn, titleFr | Title in your chosen language, plus both official versions |
description, descriptionEn, descriptionFr | Description in your chosen language, plus both versions |
publisher, publisherSlug | Department name in English and French, and its slug, for example hc-sc for Health Canada |
collection, datasetType, jurisdiction | Catalog collection, record type and jurisdiction such as federal |
subjects | Government subject codes, for example health_and_safety |
keywords, keywordsEn, keywordsFr | Keywords in your language and both versions |
licenseId, licenseTitle, licenseUrl | Reuse licence, usually Open Government Licence - Canada |
datePublished, metadataCreated, metadataModified | Publication date and catalog timestamps |
catalogUrl, apiUrl | Public dataset page and the catalog's own API link for it |
resourceCount, resourceFormats | Number of attached resources and their distinct formats, for example ["CSV", "XML", "HTML"] |
resources | Each file or service: resourceId, name, nameEn, nameFr, description, format, url, language, sizeBytes, dataStoreActive, lastModified |
Missing translations, licences, dates or sizes are null. The run also writes an OUTPUT record with the outcome (DATA, EMPTY, REJECTED or FAILED), records delivered, candidates checked, duplicates skipped, records removed by your filters and warnings.
How do I search the Government of Canada open data portal?
Enter keywords in query and add filters as needed.
| Input | Default | Notes |
|---|---|---|
query | none (Console example: climate change) | Keywords or catalog search syntax; leave it out when you only want exact IDs |
datasetIds | empty | Exact dataset UUIDs, fetched in addition to the search |
language | en | en or fr for the main title, description, keywords and links |
organization | empty | Keeps records whose publisher name or slug contains this text, for example nrcan-rncan |
resourceFormats | empty | Keeps datasets with at least one matching format, for example CSV, JSON, GeoJSON |
modifiedAfter | empty | Keeps datasets modified on or after an ISO date such as 2025-01-01 |
sortBy | relevance | relevance, modified_desc, modified_asc or title_asc |
includeResources | true | Include the per-file list; turn off for smaller records |
maxResults | 20 | 1–10,000 records per run |
Recently updated wildfire datasets that offer CSV or JSON files:
{"query": "wildfire","resourceFormats": ["CSV", "JSON"],"modifiedAfter": "2024-01-01","sortBy": "modified_desc","maxResults": 100}
Can I get download links for CSV, JSON or GeoJSON files?
Yes. With includeResources on (the default), every record lists its resources with the direct url, format, languages and sizeBytes when the catalog gives one. Use resourceFormats to keep only datasets that have the format you need, then download the files from those URLs yourself. Many records also link to HTML pages rather than data files, which shows up as the HTML format.
Is there a Canada open data API, and why use this Actor instead?
Yes, the portal runs a public catalog API, and each record's apiUrl points to it. This Actor saves you the plumbing: it pages through search results, applies publisher, format and date filters, removes duplicates, flattens the bilingual fields into plain columns and delivers a dataset you can export to CSV or Excel, schedule, or call from an AI agent.
JavaScript with apify-client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/canada-open-data-catalog-scraper').call({query: 'housing',resourceFormats: ['CSV'],maxResults: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const ds of items) console.log(ds.title, ds.publisher, ds.resourceFormats.join(', '));
Python with apify-client:
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("muhammadafzal/canada-open-data-catalog-scraper").call(run_input={"query": "","datasetIds": ["2d90548d-50ef-4802-91f8-c59c5cf68251"],"maxResults": 1,})for ds in client.dataset(run.default_dataset_id).iterate_items():print(ds["title"], ds["catalogUrl"])
How do I fetch specific datasets by ID?
Put the UUIDs in datasetIds and leave query out (or empty). An API call without query runs no search, so only the requested datasets are returned and charged. In Apify Console, clear the prefilled search box. IDs are fetched first, in the order given, and share the maxResults cap with any search.
{"query": "","datasetIds": ["2d90548d-50ef-4802-91f8-c59c5cf68251"],"language": "fr","maxResults": 1}
Use it from an AI assistant
Canada Open Data Scraper works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add https://mcp.apify.com/?tools=muhammadafzal/canada-open-data-catalog-scraper to your client and ask, for example: "Find Government of Canada open datasets about housing starts that have CSV files, and give me the download links." Records are charged at the prices below, so ask for a result limit.
What does the output look like?
Two records from the cloud run of the default input (climate change, 20 records, 4 seconds) on 2026-10-26, shortened:
[{"datasetId": "c6d02a9b-a7c0-441b-bfd3-ca69067b4b79","title": "Infectious diseases and climate change","titleFr": "Maladies infectieuses et changements climatiques","publisher": "Health Canada | Santé Canada","publisherSlug": "hc-sc","collection": "publication","datasetType": "info","jurisdiction": "federal","subjects": ["health_and_safety"],"keywords": ["infectious diseases", "pathogens", "vectors", "climate change"],"licenseId": "ca-ogl-lgo","licenseTitle": "Open Government Licence - Canada","datePublished": "2022-01-12 00:00:00","metadataModified": "2022-10-31T20:04:54.791446","catalogUrl": "https://open.canada.ca/data/en/dataset/c6d02a9b-a7c0-441b-bfd3-ca69067b4b79","resourceCount": 2,"resourceFormats": ["HTML"]},{"datasetId": "332206d3-4876-4b7a-afa9-f0ed7c07f03b","title": "Canada's Changing Climate report supplemental datasets","publisher": "Environment and Climate Change Canada | Environnement et Changement climatique Canada","publisherSlug": "ec","datasetType": "dataset","subjects": ["nature_and_environment"],"licenseTitle": "Open Government Licence - Canada","metadataModified": "2022-02-21T14:55:25.521618","resourceCount": 92,"resourceFormats": ["NETCDF", "HTML"],"resources": [{"resourceId": "d886c0ec-da6d-4c7b-acbf-982c558b4c45","name": "Projected changes in annual temperature for RCP2.6 (25th percentile): 2031-2050","format": "NETCDF","url": "https://climate-scenarios.canada.ca/files/cccr_data/tas_Amon_rcp26_canada_ANN_2040_enspctl25.nc","language": ["en", "fr"],"sizeBytes": null,"dataStoreActive": false,"lastModified": "2019-04-23T13:20:19.809412"}]}]
Pricing: how much does Canada open data extraction cost?
The Actor uses pay-per-event pricing with platform usage included. You pay per dataset record delivered, plus one start event per run at the default 256 MB memory.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
| Canada dataset record | USD 0.02 | USD 0.019 | USD 0.018 | USD 0.015 | USD 0.015 | USD 0.015 |
| Actor start (per started GB of allocated memory) | USD 0.005 | USD 0.005 | USD 0.005 | USD 0.005 | USD 0.005 | USD 0.005 |
Worked totals on the FREE tier:
- Default input (20 records): 20 × USD 0.02 + USD 0.005 = USD 0.405
- 100 records: 100 × USD 0.02 + USD 0.005 = USD 2.005
Records removed by your filters, duplicates and no-match searches are not charged. The run log quotes the live prices from this table.
When should I use it, and when not?
Use it when you need Canadian federal open data metadata in bulk: a list of a department's datasets with download links, a weekly feed of newly modified datasets, a search across both official languages, or catalog context for an AI research agent.
Use something else when:
- You need United States datasets: USA Data.gov Dataset Scraper.
- You need the contents of the files (rows of a CSV, map layers). Download them from the
urlvalues; this Actor returns metadata only. - You need a provincial or city portal such as Ontario's data catalogue or Toronto Open Data. Those run separate catalogs; this Actor reads the federal Open Government catalog.
Limits and reliability
- Speed: the 20-record default run took about 4 seconds in the 2026-10-26 cloud run.
- Filters: publisher, format and date filters are applied to search results as they arrive. The Actor checks up to 10 times
maxResultscandidates (at least 500, at most 10,000) and warns inOUTPUTwhen it stops before filling your limit. - Errors: HTTP 429, server errors and timeouts are retried up to three attempts. Invalid UUIDs or dates are rejected before any search, with a clear message.
FAQ
Does it download the dataset files?
No. It returns catalog metadata and the file URLs. Download the files you need from those links.
Can I get the results in French?
Yes. Set language to fr. The main fields and catalog links switch to French, and both language versions stay in the En and Fr fields.
How do I list every dataset from one department?
Set organization to the department's slug, such as ec for Environment and Climate Change Canada or hc-sc for Health Canada, and use a broad query. Matching is case-insensitive and also checks the publisher name.
How do I track newly updated datasets?
Use sortBy: "modified_desc" with modifiedAfter set to your last run date, and schedule the Actor.
Is the data free to reuse?
Most records use the Open Government Licence – Canada, but check licenseTitle and licenseUrl on each record before reuse.
Why did I get fewer records than maxResults?
Your filters removed the rest, the search had fewer matches, or the candidate scan limit was reached. OUTPUT shows the counts and warnings.
Related Actors
- USA Data.gov Dataset Scraper: United States open data catalog
- DCC License Search: California cannabis license records, another public-records tool
- Basketball Reference Scraper: public sports stats tables from the same developer
Legal and compliance
The Actor reads the public Open Government catalog through its unauthenticated interface and does not log in or bypass access controls. Each dataset keeps its own licence and terms; follow them, credit the publisher, and review privacy and attribution conditions before reuse. This tool is not affiliated with the Government of Canada, and this is not legal advice.
Last verified: 2026-10-27