Canada Open Data Scraper — Open Government Datasets avatar

Canada Open Data Scraper — Open Government Datasets

Pricing

from $15.00 / 1,000 canada dataset records

Go to Apify Store
Canada Open Data Scraper — Open Government Datasets

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

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

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.

FieldWhat it contains
datasetIdDataset UUID, for example c6d02a9b-a7c0-441b-bfd3-ca69067b4b79
title, titleEn, titleFrTitle in your chosen language, plus both official versions
description, descriptionEn, descriptionFrDescription in your chosen language, plus both versions
publisher, publisherSlugDepartment name in English and French, and its slug, for example hc-sc for Health Canada
collection, datasetType, jurisdictionCatalog collection, record type and jurisdiction such as federal
subjectsGovernment subject codes, for example health_and_safety
keywords, keywordsEn, keywordsFrKeywords in your language and both versions
licenseId, licenseTitle, licenseUrlReuse licence, usually Open Government Licence - Canada
datePublished, metadataCreated, metadataModifiedPublication date and catalog timestamps
catalogUrl, apiUrlPublic dataset page and the catalog's own API link for it
resourceCount, resourceFormatsNumber of attached resources and their distinct formats, for example ["CSV", "XML", "HTML"]
resourcesEach 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.

InputDefaultNotes
querynone (Console example: climate change)Keywords or catalog search syntax; leave it out when you only want exact IDs
datasetIdsemptyExact dataset UUIDs, fetched in addition to the search
languageenen or fr for the main title, description, keywords and links
organizationemptyKeeps records whose publisher name or slug contains this text, for example nrcan-rncan
resourceFormatsemptyKeeps datasets with at least one matching format, for example CSV, JSON, GeoJSON
modifiedAfteremptyKeeps datasets modified on or after an ISO date such as 2025-01-01
sortByrelevancerelevance, modified_desc, modified_asc or title_asc
includeResourcestrueInclude the per-file list; turn off for smaller records
maxResults201–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
}

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 os
from apify_client import ApifyClient
client = 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.

EventFREEBRONZESILVERGOLDPLATINUMDIAMOND
Canada dataset recordUSD 0.02USD 0.019USD 0.018USD 0.015USD 0.015USD 0.015
Actor start (per started GB of allocated memory)USD 0.005USD 0.005USD 0.005USD 0.005USD 0.005USD 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 url values; 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 maxResults candidates (at least 500, at most 10,000) and warns in OUTPUT when 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.

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