top of page

How to scrape government forms data from Service Canada using the Minexa.ai extension

Government form catalogues hold more structured data than they appear to at first glance. The Service Canada eForms catalogue lists hundreds of official government forms across departments including Employment and Social Development Canada, Human Resources and Social Development Canada, and others. Each entry carries a form code, a descriptive title, an issuing department, and a link to the form detail page.

Collecting that data manually, row by row, across multiple pages is slow and error-prone. This guide shows how to extract it in a structured, reusable format using the Minexa.ai Chrome extension, with no code required.

Watch the full tutorial first

The video below walks through the entire extraction from opening the extension on the Service Canada catalogue page through to exporting the final dataset.

What the extracted data looks like

Once the scraping job completes, each row in the output represents one form entry from the catalogue. Here is a sample of what the extracted records contain:

[
  {
    "form_code": "LAB1009",
    "group": "EMPLOYER'S ANNUAL HAZARDOUS OCCURRENCE REPORT (EAHOR) - REGULAR",
    "number": "Human Resources and Social Development Canada",
    "detail_link": "Detail.html?Form=LAB1009"
  },
  {
    "form_code": "EMP5396A",
    "group": "Canada Summer Jobs Application / Agreement",
    "number": "Employment",
    "detail_link": "Detail.html?Form=EMP5396A"
  },
  {
    "form_code": "EMP5100",
    "group": "Application for a Work-Sharing Agreement",
    "number": "Employment",
    "detail_link": "Detail.html?Form=EMP5100"
  }
]

Each field has a distinct role in downstream use. The sections below document each one.

Field reference: form_code

The form_code field returns the official alphanumeric identifier assigned to each form, such as LAB1009, EMP5396A, or ESDC-ADM5085. This code is stable across time and unique per form, making it the most reliable key for deduplication when running the scraper repeatedly. If your pipeline needs to detect newly added forms or identify removed ones between two runs, comparing form_code values across datasets is the cleanest approach.

Field reference: group

The group field contains the full descriptive title of the form as it appears in the catalogue, for example 'Canada Summer Jobs Application / Agreement' or 'Grant Application for Funding - Enabling Accessibility Fund (EAF) - Youth Innovation Component'. This field is the primary text surface for keyword search and category filtering. If you are building a lookup tool or a searchable index of government forms, this is the field to index. Because the titles often include programme names, policy areas, and form variants, filtering on substrings within this field lets you group related forms without needing a separate taxonomy.

Field reference: number

Despite its name, the number field does not contain a numeric value. It returns the name of the issuing department or category associated with each form, such as 'Employment and Social Development Canada', 'Employment', 'Administration', or 'Volunteerism'. This field enables programmatic grouping of the full catalogue by issuing body without any secondary lookup or page visit. If you want to filter the dataset to show only forms issued under a specific ministry or programme area, this is the field to filter on.

Field reference: detail_link

The detail_link field returns a relative URL path per form entry, structured as Detail.html?Form=LAB1009. This path embeds the form code directly in the query parameter, which means you can construct the full absolute URL to any individual form detail page by prepending the base path https://catalogue.servicecanada.gc.ca/content/EForms/en/. This makes it straightforward to build a second-pass scraper that follows each link and collects the extended metadata available on the detail page, including file formats, language availability, and form instructions, without manually navigating to each one.

How the extraction is set up

The steps below follow the workflow shown in the tutorial video.

Open the Minexa.ai Chrome extension while on the Service Canada eForms catalogue page. The extension confirms you are on the right page before proceeding.

Minexa.ai then analyses the page and detects the pagination method in use. You review what it found and confirm before moving on.

Next, you choose whether to scrape the list only, or to also follow each form link and collect the detail page data. For a full catalogue export including extended form metadata, selecting the list-and-detail option gives you both layers in one run.

You then select simple scraping mode, which is sufficient for a structured catalogue like this one, and Minexa.ai automatically highlights the repeating container holding the form entries.

After confirming the container, the extension shows a preview of all extracted data points with navigation to review each column before finalising.

Once the scraper is created, the job summary screen gives you the option to connect Google Sheets or set a recurring schedule so the catalogue is re-scraped automatically at whatever interval you need.

Run the job and the data populates in a table. When the run finishes, you can export to Excel or JSON directly from the results screen.

Scheduling and keeping the dataset current

The Service Canada eForms catalogue is updated as new forms are added or existing ones are revised. Setting the scraper to run on a weekly or monthly schedule means your dataset stays current without any manual intervention. Each scheduled run captures the state of the catalogue at that moment, so you can track additions and changes over time by comparing runs.

If you are building a compliance tool, a government forms directory, or an internal reference index, having a reliably refreshed dataset from the source removes the need to check the catalogue page manually.

For a broader look at how to get started extracting data from any public website without code, the guide at Scraping book listings for publishers: a structured guide to extracting catalogue data without code covers the same core workflow applied to a different catalogue structure and is worth reading alongside this one.

Recent Posts

See All

Comments


Heading 2

bottom of page