This PagesJaunes.ca scraper tutorial shows how to collect business search results into CSV with the PagesJaunes.ca Business Info Scraper template for UScraper. You will import the workflow, change the keyword and location, confirm the export path, validate the first rows, and troubleshoot missing phone or website fields before scaling a run.
Before you start
Prerequisites for scraping PagesJaunes.ca business info
You need UScraper installed, the free PagesJaunes.ca Business Info Scraper template, a keyword, a Canadian location, and a folder where the CSV should be saved. Start with a narrow search, such as one category in one city, because directory pages can mix paid placements, sparse listings, hidden phone controls, and different category labels.
Open the official PagesJaunes.ca directory or YellowPages.ca directory manually first. Confirm that the search page is relevant to your research goal, then review the current Yellow Pages Canada terms, PagesJaunes.ca robots file, and YellowPages.ca robots file. This article is a technical runbook, not legal advice.
Treat policy review as part of the workflow. Do not bypass access controls, do not collect fields you do not need, keep request volume modest, and document how the exported business data will be used.
Workflow
How the PagesJaunes.ca scraper tutorial works
The bundled workflow starts from a public search result URL. The default URL is https://www.pagesjaunes.ca/search/si/1/Restaurants/Montreal+QC, but you should replace Restaurants and Montreal+QC with the approved category and location for your project.
Import the workflow
Open the template page, download the JSON, and import it into UScraper. Keep the block groups visible so setup, page load, interaction, export, and pagination are easy to audit.
Edit the search URL
In Navigate, change the keyword and place segment. Use the same search you would review manually in a browser before allowing pagination.
Confirm waits and consent handling
Leave the page-load wait, short sleeps, cookie handler, and listing wait in place for the first run. These blocks make empty output easier to diagnose.
Set the CSV destination
Structured Export writes pagesjaunes_ca_info_scraper.csv with headers and append mode enabled. Change the save folder before client, campaign, or recurring runs.
Run a small validation batch
Export one page, open the CSV, compare several rows against the live listings, then scale only after names, addresses, categories, phones, websites, and detail URLs look correct.
Export shape from the JSON workflow
There is no separate CSV sample in the bundle, so the JSON export is the authoritative sample of the workflow definition. The summary below explains the extraction intent; your first validation run should confirm that each configured field still appears in the live layout.
| CSV column | What it captures | Validation check |
|---|---|---|
nom_du_magasin | Business name from the listing heading | Compare against the visible card title. |
location | Address text from the listing card | Remove route labels and scan for truncated addresses. |
avis_des_magasins | Description or teaser text when present | Expect blanks on sparse listings. |
type_domaine | Category, heading, or activity labels | Normalize later if your CRM needs fixed categories. |
telephone | Best-effort phone number | Check rendered text, reveal controls, and tel: links. |
website | Outbound website redirect URL | Some listings do not publish a website. |
url_detaille | PagesJaunes.ca business detail URL | Use this for row-level source review and follow-up detail scraping. |
{
"name": "Pagesjaunesca Business Info Scraper",
"startUrl": "https://www.pagesjaunes.ca/search/si/1/Restaurants/Montreal+QC",
"fileName": "pagesjaunes_ca_info_scraper.csv",
"fileMode": "append",
"rowSelector": "div.listing[data-listing-id], div.listing",
"columns": [
"nom_du_magasin",
"location",
"avis_des_magasins",
"type_domaine",
"telephone",
"website",
"url_detaille"
],
"pagination": "Increment /search/si/{page}/ until no listing rows are found"
}
Validation
Validate the first PagesJaunes.ca CSV export
Do not start with a hundred pages. Run one search result page, then open the CSV in a spreadsheet and compare at least five rows with the browser. A good first export has recognizable business names, locations that match the listing cards, category text that is not duplicated, and source URLs you can click for auditability.
| Symptom | Likely cause | Fix |
|---|---|---|
| CSV has headers but no rows | Listing cards did not load or selector changed | Re-run with the browser visible, increase waits, and inspect div.listing. |
| Phone column is blank | Phone is hidden, absent, or dynamically revealed | Keep the reveal step, run slower, and treat blanks as review items. |
| Website is a directory redirect | PagesJaunes.ca wraps outbound links | Keep the raw URL for lineage or resolve redirects in a downstream step. |
| Duplicate rows appear | Sponsored or repeated cards were rendered | Deduplicate by name plus address or name plus phone after export. |
When to use UScraper instead of alternatives
Hosted tools and marketplace actors can be useful when you need scheduled runs, APIs, cloud datasets, or managed infrastructure. Open-source Python examples can fit engineering teams that want full parser control. This workflow is aimed at analysts who need a reviewable PagesJaunes.ca to CSV path without writing scraper code first.
Best fit for local research, one-off market mapping, lead list QA, and teams that want the workflow definition, export path, and CSV output under direct review in a desktop app.
For adjacent workflows, browse the UScraper template library or the full UScraper blog for other directory, search, and contact export tutorials.
FAQ
Frequently asked questions
PagesJaunes.ca listings may be publicly visible, but automated collection can still be limited by Yellow Pages Canada terms, robots guidance, privacy law, database rights, and marketing rules. Review current policies, keep volume proportionate, avoid bypassing access controls, and get legal review before resale, enrichment, or outreach use.

