Yellow Pages Canada Scraper: Business Phones & Emails
Pricing
from $1.00 / 1,000 business listings
Yellow Pages Canada Scraper: Business Phones & Emails
Scrape Yellow Pages Canada (yellowpages.ca, or pagesjaunes.ca in French) by business type and city: name, phone, address, coordinates, website, rating and categories. Turn on emails to find each business's own website address, charged only when found. Pay per business.
Pricing
from $1.00 / 1,000 business listings
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
9 hours ago
Last modified
Categories
Share
From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with over 140,000 runs across 170+ public actors.
Type a business type and a Canadian city, for example plumber in Toronto ON, and get one row per business that Yellow Pages Canada (yellowpages.ca) lists: name, every phone in international format, address with province and postal code, coordinates, website, rating, categories and description. Search in French on Pages Jaunes Canada (pagesjaunes.ca) with the same input. Turn on Find emails and the actor reads each business's own website for an email address, because Yellow Pages Canada publishes none. You pay for an email only when one is found and delivered.
Why choose this actor?
- Emails from the business's own website, charged only when found. In our proof run (plumber in Toronto ON, 28 Sep 2026) 10 of 20 businesses came back with an email, all read from the websites the listings link to. The other 10 were delivered and charged as businesses only: 5 had no website on Yellow Pages, 2 sites showed no usable address, 2 refused the request and 1 could not be reached.
- No businesses from the wrong town. Yellow Pages Canada matches a place against every place name in the country, so
Toronto BCquietly becomes a health centre in Squamish. The actor reads which place the site really searched and, when it is not what you typed, returns nothing for that search and names the place in the run summary instead of billing you for the wrong city. - English or French, one input. Set
languagetofrto search Pages Jaunes Canada, the same directory and businesses in French (plombierinMontreal QCfound 657 on 1 Oct 2026). No account, cookies or API key.
Part of The Mine Works Leads and business directories family: B2B Leads Finder, Skip Trace Lookup, Google Maps Email Scraper, JustDial Scraper, 2GIS Places Scraper, IndiaMART Scraper.
Try it in one minute
Paste this input into the JSON tab and press Start. It returns the first 10 plumbers Yellow Pages Canada lists for Toronto, without emails, in a few seconds:
{"queries": ["plumber"],"locations": ["Toronto ON"],"maxResultsPerSearch": 10}
You can say what you want in two ways, and mix them in one run:
- Queries and locations (
queries,locations): business types as you would type them on the site, such asplumber,dentist,auto repairor a brand such asDomino's Pizza, and a city with its province (Toronto ON,Calgary AB), a city alone (Toronto), a province (Ontario) or a postal code (M5V 2T6, or its first three characters). Every query is searched in every location. A location is required. - Search pages (
startUrls): a results page copied from your browser, such ashttps://www.yellowpages.ca/search/si/1/plumber/Toronto+ON/or its twin on pagesjaunes.ca. Business pages (/bus/...) and the query string search form (/search/?stype=si&what=...) are not accepted.
API and agent callers can also use other common field names: query, keyword, keywords or searchTerms for queries, location, where or city for locations, urls for search pages, maxResults or maxItems for the limit, sort for sortBy, open for openNow and siteLanguage for language.
Apify's free plan includes $5 of credit every month, which covers about 2,400 businesses at this actor's Free plan price with emails off ($0.002 a business plus $0.005 a run), or about 290 businesses with emails on at the rate of our proof run, about 140 of them with an email.
Copy to your AI assistant
themineworks/yellowpages-ca-business-email-scraper on Apify. Searches Yellow Pages Canada (yellowpages.ca, or pagesjaunes.ca in French) by business type and Canadian city, province or postal code, and returns one row per business with name, phones, address, province, postal code, coordinates, website, rating, categories and description, plus an optional email read from the business's own website and, with business pages on, opening hours and services. Call ApifyClient("TOKEN").actor("themineworks/yellowpages-ca-business-email-scraper").call(run_input={"queries": ["plumber"], "locations": ["Toronto ON"], "maxResultsPerSearch": 50, "includeEmails": true}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: queries (such as "plumber") and locations (such as "Toronto ON"), or startUrls (yellowpages.ca or pagesjaunes.ca search pages). Optional: maxResultsPerSearch (integer 1 to 1000, default 30; the site serves at most 2,100 per search), includeEmails (default false), includeDetails (default false), sortBy (relevance, closest, rating, mostReviewed, alphabetical or recentlyReviewed; default relevance), openNow (default false), language (en or fr; default en), verifyEmailDomain (default true), allowUnblockerFallback (default true). Rows with _type "info" are run notes, never billed. Full spec: GET https://api.apify.com/v2/acts/themineworks~yellowpages-ca-business-email-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations
Key features
- Up to 1,000 businesses per search, up to 300 searches per run. Yellow Pages Canada shows 35 businesses a page and stops at page 60 (2,100 businesses) whatever count it claims; the actor reads up to 1,000 per search. Each run takes up to 50 queries times 50 locations, capped at 300 searches. The run summary repeats the count the site reports (1,774 plumbers for Toronto and 7,533 for Ontario on 1 Oct 2026).
- 28 fields per business: listing id and Yellow Pages link, name, up to two categories, every phone including toll free numbers, the address split into street, city, province and postal code, coordinates, website, rating and review count, description, opening hours and services from the business page, the email and where it was found, and the search that found the row.
- The place you typed, checked. Every search page names the place the site actually searched. When it does not match yours (a wrong province, a made up town), the search returns nothing and the run summary says which place the site picked:
Xyzville ONbecame Perugia, Italy, in our test. - Emails read the way a person would look for them. The website on the listing, homepage first, then the contact and about pages it links to, then common paths such as
/contact-us,/about-us,/contactez-nousand/nous-joindre, at most 5 pages and 20 seconds per site, 6 sites at a time. Addresses are kept only on the business's own domain or an ordinary provider such as gmail.com, outlook.com, bell.net or videotron.ca, and each one passes a mail server check. Up to 5 addresses per row, best first. - The site's own sort and filter.
sortBytakes the site's six orders (best match, closest, highest rated, most reviewed, alphabetical, recently reviewed), andopenNowkeeps only businesses the site marks as open at the moment of the run. - Plain HTTP at 512 MB, no browser. Every run writes a summary to the
OUTPUTrecord in its key-value store: for each search the status (ok,no_resultsorblocked), the count the site reports, pages read and refused, connection attempts, and how many emails were found.
How to use it
Basic: one business type in one city
{"queries": ["dentist"],"locations": ["Vancouver BC"],"maxResultsPerSearch": 105}
Yellow Pages Canada reported 1,218 dentists for Vancouver on 1 Oct 2026; 105 businesses take 3 pages. A city search covers its surrounding area: our Toronto proof run returned businesses in North York, Scarborough, Etobicoke, Markham, Mississauga and as far as Lindsay. Filter on city if you need the city proper.
Several business types in several cities
Every query runs in every location, so this is six searches:
{"queries": ["electrician", "plumber", "roofing contractor"],"locations": ["Calgary AB", "Edmonton AB"],"maxResultsPerSearch": 300}
A business found by two of the searches under the same Yellow Pages id is delivered once and charged once. Two searches run at a time.
French: Quebec businesses on Pages Jaunes
{"queries": ["plombier", "électricien"],"locations": ["Montreal QC", "Quebec QC"],"language": "fr","maxResultsPerSearch": 200}
Pages Jaunes is the same directory as Yellow Pages Canada, searched with French words; source_site reads pagesjaunes.ca. It is not pagesjaunes.fr, the unrelated French site.
Cold email list with opening hours and services
{"queries": ["dentist"],"locations": ["Vancouver BC"],"maxResultsPerSearch": 20,"includeEmails": true,"includeDetails": true}
This is the input of our 1 Oct 2026 run: 20 businesses and 20 business pages in 33 seconds, 8 emails from the dentists' websites, services for 16, opening hours for 13 and a full description for 14. Business pages cost nothing extra but do not help find emails, because the website is already on the results page.
Best rated first, or open right now
{"queries": ["auto repair"],"locations": ["Calgary AB"],"maxResultsPerSearch": 35,"sortBy": "rating"}
sortBy changes which businesses land on the first pages, so with a small limit it changes which ones you get. Add "openNow": true to keep only businesses the site marks as open when the run starts.
Monthly refresh on a schedule
Save any of the inputs above as a task, then in Apify Console open Schedules, add a schedule (for example the first of every month) and pick the task. Each scheduled run is billed like a manual one, and the schedule itself is free. The actor has no "only new businesses" mode, so compare listing_id with your last export to find the newcomers.
Input parameters
| Parameter | Type | Default | What it does |
|---|---|---|---|
queries | array of strings | none (prefilled with plumber) | Business types to search, one per line. Up to 50. Needed unless you give startUrls. |
locations | array of strings | none (prefilled with Toronto ON) | Cities with their province, cities, provinces or postal codes, one per line. Every query is searched in every location. Required with queries: with no location the site quietly searched Toronto in every test, so the actor asks for one. Up to 50. |
startUrls | array | empty | yellowpages.ca or pagesjaunes.ca search result pages, read instead of or as well as the queries. |
maxResultsPerSearch | integer | 30 | Most businesses per query and location, 1 to 1,000. The site shows 35 per page and serves at most 60 pages (2,100 businesses) for one search. |
includeEmails | boolean | false | Look for each business's email on its own website. Charged only for rows that come back with one. |
includeDetails | boolean | false | Also open each business's own page, for opening hours, the services it lists and the full description. No extra charge, slower. |
sortBy | string | relevance | relevance (the site's best match), closest, rating, mostReviewed, alphabetical or recentlyReviewed. |
openNow | boolean | false | Keep only businesses the site marks as open at the time of the run. |
language | string | en | en searches yellowpages.ca, fr searches pagesjaunes.ca (same directory, French words). |
verifyEmailDomain | boolean | true | Keep an email only when its domain can receive mail. Only used with includeEmails on. |
allowUnblockerFallback | boolean | true | When a search page is refused several times over the fast connection, retry it through Apify's unblocking proxy. Included in the price. Turn off to report such pages as refused instead. |
Give at least one query with a location, or one search page. A run with neither writes a note row and stops; the $0.005 start fee still applies.
What data do you get?
One row per business. Fields with no value are left out of the row rather than sent as empty.
The business
listing_id(Yellow Pages' number, such as101902936),listing_url,name,categories(one or two, such asPlumbers & Plumbing Contractors),description(the card's text, or the full text from the business page withincludeDetailson),ratingandreview_count(when there are ratings),opening_hoursandservices(from the business page)
Contact
phone(the first number) andphones(all of them, toll free numbers included), in international format such as+1 647 362 2109;website, withutm_,fbclid,gclidandmc_tracking parameters removed
Address and map
address(one line),street,city,region(the province code, such asON),postal_code(such asM3J 1Y8),country(alwaysCA),latitude,longitude
Email (with includeEmails on)
email(the best address),emails(up to 5, best first),email_source(alwayswebsitehere, since the directory publishes no emails) andemail_source_url(the page it was read from)
Search context
source_site(yellowpages.caorpagesjaunes.ca),search_query,search_location,scraped_at
A few things to know about the fields:
- Coordinates come from the results page for most rows (16 of 20 in the proof run); the business page fills in the rest (20 of 20 with
includeDetailson in our Vancouver run). - Some listings publish no address at all: 2 of the 20 proof rows, whose Yellow Pages link names only the province.
- One business can appear under two Yellow Pages ids (our Vancouver run returned both
Lo George C Y Dr IncandDr George C Y Lo Inc). Results are de-duplicated by id, so filter on phone or address if that matters to you. - Pages Jaunes business pages in six provinces are skipped. For businesses in British Columbia, Nova Scotia, New Brunswick, Prince Edward Island, Newfoundland and Labrador and the Northwest Territories, the French site's business page sits under a path its robots.txt disallows, so with
languagefrthose rows come from the results page alone.
Fill rates in the proof run (20 businesses, emails on, no business pages): phone 20, address 18, coordinates 16, website 15, description 15, email 10, rating 8.
Stable fields for automations
These fields were present in every one of 53 business rows across the proof run, our 1 Oct 2026 Vancouver run and the result cards saved for our tests (including French and capped searches), and their names will not change:
| Field | What it holds |
|---|---|
listing_id | Yellow Pages' id for the business, the same on both language sites |
listing_url | Link to the business's page on yellowpages.ca or pagesjaunes.ca |
name | Business name as listed |
categories | One or two Yellow Pages headings, as a list |
phone | The first phone number, in international format |
phones | Every phone number, toll free numbers included |
country | Always CA |
source_site | yellowpages.ca or pagesjaunes.ca |
search_query | The query or pasted search that found the row |
search_location | The location of the search |
scraped_at | When the row was read (ISO 8601) |
address, city, region and postal_code were in 18 of the 20 proof rows and in every saved card, so test for them before you rely on them.
Output examples
Real rows, trimmed where marked. From the proof run on 28 Sep 2026 (plumber in Toronto ON, emails on), a business with an email read from its website (complete row):
{"listing_id": "101902936","listing_url": "https://www.yellowpages.ca/bus/Ontario/North-York/Drain-King-Plumbers/101902936.html","name": "Drain King Plumbers","categories": ["Plumbers & Plumbing Contractors"],"phone": "+1 647 362 2109","phones": ["+1 647 362 2109"],"address": "100 Saint Regis Crescent, North York, ON M3J 1Y8","street": "100 Saint Regis Crescent","postal_code": "M3J 1Y8","city": "North York","region": "ON","country": "CA","latitude": 43.7550621,"longitude": -79.4822464,"website": "http://www.drainkingplumbers.ca","email": "info@drainkingplumbers.ca","emails": ["info@drainkingplumbers.ca"],"email_source": "website","email_source_url": "https://www.drainkingplumbers.ca/","rating": 5,"review_count": 8,"description": "Drain King Plumbers is a locally-owned, 24/7 full-service plumbing and drain company, serving all of Toronto and the Greater Toronto Area.","source_site": "yellowpages.ca","search_query": "plumber","search_location": "Toronto ON","scraped_at": "2026-09-28T12:46:44.297Z"}
From the same run, two phones, two categories and two addresses found on the website (trimmed):
{"listing_id": "619627","name": "Fia Plumbing And Heating","categories": ["Plumbers & Plumbing Contractors", "Heating Contractors"],"phone": "+1 416 237 1544","phones": ["+1 416 237 1544", "+1 416 237 1545"],"address": "30 Titan Rd, Etobicoke, ON M8Z 5Y2","website": "http://www.fiaphd.com","email": "bid@fiaphd.com","emails": ["bid@fiaphd.com", "info@fiaphd.com"],"email_source": "website"}
From the same run, a listing with no address and no email found on its website, charged as a business only (complete row):
{"listing_id": "105301442","listing_url": "https://www.yellowpages.ca/bus/Ontario/A-Smith-Plumbing-Drain-And-Heating/105301442.html","name": "A Smith Plumbing, Drain And Heating","categories": ["Plumbers & Plumbing Contractors"],"phone": "+1 647 348 9900","phones": ["+1 647 348 9900"],"country": "CA","website": "https://asmithplumbing.ca","description": "Reliable plumbing, drain, and heating services you can trust. Fast response times, quality workmanship, and honest pricing from A Smith Plumbing, Drain And Heating.","source_site": "yellowpages.ca","search_query": "plumber","search_location": "Toronto ON","scraped_at": "2026-09-28T12:46:44.297Z"}
From our 1 Oct 2026 run with business pages on (dentist in Vancouver BC), opening hours and services (trimmed):
{"listing_id": "2191607","name": "Coast Dental Centre","categories": ["Dentists", "Teeth Whitening Services"],"phone": "+1 604 433 9565","address": "7120 Kerr St, Vancouver, BC V5S 4W2","latitude": 49.2189502,"longitude": -123.0413481,"website": "https://www.coastdental.ca","email": "info@coastdental.ca","email_source": "website","opening_hours": ["Mo 08:00-19:00", "Tu 09:00-19:00", "We 09:00-19:00", "Th 08:00-19:00", "Fr 09:00-17:00", "Sa 09:00-17:00"],"services": ["Invisalign", "Teeth Whitening", "Periodontal Maintenance & Treatment", "Dental exams and cleaning", "Crowns and bridges", "Root canals"]}
The note row at the end of the run (never charged; filter on _type to drop it), trimmed:
{"_type": "info","delivered": 20,"message": "20 businesses delivered. This row is informational: it is never billed.","scraped_at": "2026-09-28T12:46:46.590Z"}
Pricing
You pay per business delivered to your dataset, plus a flat start fee per run. An email is a second, separate charge, made only for rows that come back with one. The fast connection and the unblocking proxy fallback are included.
| Event | Free plan | Starter (Bronze) | Scale (Silver) | Business (Gold) and above |
|---|---|---|---|---|
Business delivered (listing-scraped), per business | $0.002 | $0.0017 | $0.0014 | $0.001 |
| Business delivered, per 1,000 | $2.00 | $1.70 | $1.40 | $1.00 |
Email found (email-found), per email | $0.03 | $0.025 | $0.02 | $0.015 |
| Email found, per 1,000 | $30 | $25 | $20 | $15 |
Run start (run-start), once per run | $0.005 | $0.005 | $0.005 | $0.005 |
The start fee is our own run-start event: a flat $0.005 once per run, whatever memory you choose. It is not Apify's per GB start fee, and it is charged on every run, including a run that finds nothing. These prices took effect on 28 Sep 2026, and no change is scheduled as of 1 Oct 2026. The Pricing tab always shows the rate for your own plan; if this table and the Pricing tab ever disagree, the Pricing tab is right.
What a real job costs. 1,000 businesses with emails off cost $2.00 plus $0.005 on the Free plan, and $1.00 plus $0.005 on Business. With emails on, at the rates of our two runs (10 of 20 and 8 of 20), 1,000 businesses bring about 450 emails: about $13.50 more on Free and $6.75 more on Business. Turn emails on only for the searches where you need them; business pages cost nothing extra.
Never charged:
- search pages the site refused, and the retries through the unblocking proxy;
- a business already delivered by another search in the same run, under the same Yellow Pages id;
- a search whose place the site could not match (nothing is delivered);
- business pages and websites that were opened but gave no email (the row is charged as a business only);
- an email address already charged earlier in the same run, such as the shared inbox of a chain's branches (it is still delivered on every row);
- the note row and the
OUTPUTrun summary.
To cap what a run can cost, set a maximum total charge in the run options. The actor stops before a business the budget cannot pay for, and when the budget covers a business but not its email, the row is delivered without the email and the email is not charged.
FAQ
What is Yellow Pages Canada?
Canada's yellow pages, run by Yellow Pages Limited, in English at yellowpages.ca and in French at pagesjaunes.ca. It lists tradespeople, shops, restaurants, clinics, professionals and companies across Canada, with phone, address, website and ratings. It does not publish email addresses.
How many businesses can I get?
Up to 1,000 per search (the site itself stops at page 60, 2,100 businesses, even for Restaurants in Toronto with 10,663 claimed results) and up to 300 searches per run. For a big city, add more specific business types, more locations or a different sortBy to reach other businesses. A run stops cleanly before its timeout (one hour by default) and keeps everything delivered so far, so raise the timeout in the run options for very large runs.
What do I type into Locations?
A city with its province (Toronto ON, Calgary AB, Montreal QC), a city alone (Toronto), a province (Ontario) or a postal code (M5V 2T6, or M5V). A location is required. A city with the wrong province, or a place the site cannot find, returns nothing with a note naming the place the site picked instead (Toronto BC became a health centre in Squamish BC); try the city with its correct province.
Why are some businesses outside the city I searched?
The site's city search covers the surrounding area and some advertisers from farther away: our Toronto search returned businesses from North York to Lindsay. Each row has its real city, so filter on it if you need the city proper.
How fresh is the data?
Every run reads the site live; nothing comes from a cache. scraped_at on each row says when it was read.
Do I need a Yellow Pages account, cookies or an API key?
No. The actor reads the public pages any visitor sees, without signing in. There is nothing of yours to connect.
Do I need to set up a proxy?
No. The actor uses a fast connection that looks like a normal Chrome browser, through Apify's datacenter proxies, and Yellow Pages Canada answered every search and business page that way in our 1 Oct 2026 run. A refused search page is retried through Apify's unblocking proxy, included in the price; refused pages are listed in the run summary and never charged.
Will every business have an email?
No. Yellow Pages Canada publishes no emails, so an email can only come from the business's own website: 10 of 20 Toronto plumbers and 8 of 20 Vancouver dentists had one. A business with no website, or only a Facebook page, cannot give an email this way. The actor never guesses an address from a name, and you pay nothing extra for a row without one.
Which pages does it read?
Search pages (/search/si/<page>/<what>/<where>/, with the site's own sort and open now options) and, with includeDetails on, business pages (/bus/...). The robots.txt of yellowpages.ca and pagesjaunes.ca, read again on 1 Oct 2026 and identical on both, allows all of these for every crawler, except French business pages under six province names, which the actor skips.
Does it also read Canada411?
No. Canada411 is a separate, mostly residential phone book. This actor stays on Yellow Pages Canada, the business directory.
Which formats can I export?
JSON, CSV, Excel, XML, HTML table and RSS from the dataset page in Apify Console, or through the Apify API.
Can I use it from Claude, ChatGPT or another AI agent?
- Connector URL:
https://mcp.apify.com/?tools=themineworks/yellowpages-ca-business-email-scraper. - Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code:
claude mcp add -t http yellowpages-ca-business-email-scraper "https://mcp.apify.com/?tools=themineworks/yellowpages-ca-business-email-scraper".
Is it legal to scrape Yellow Pages Canada?
The actor collects only publicly visible business listings and never signs in. How you use the data is your responsibility. In Canada the main rules are PIPEDA (or the provincial privacy law) for how you store and use personal information, which includes a sole trader's name and phone number; CASL for commercial emails, texts and other electronic messages to Canadian addresses, which needs consent and allows an address published in a business role only in narrow cases; and the Unsolicited Telecommunications Rules and the National Do Not Call List for telemarketing calls. Follow the site's terms too. This is general information, not legal advice, so check the rules with a lawyer before a campaign. The actor is an independent tool, not affiliated with or endorsed by Yellow Pages Limited.
Integrations
- Google Sheets: send each run's dataset to a sheet with Apify's Google Sheets integration.
- Make, Zapier and n8n: start runs and receive the businesses in your workflows.
- Webhooks: get a call when a run finishes, for example to load new rows into your CRM.
- API: start runs and read datasets from any language with the Apify API or the Python and JavaScript clients.
- MCP clients: Claude, ChatGPT and other agents through Apify's MCP server.
More from The Mine Works
Leads and business directories
- B2B Leads Finder
- Skip Trace Lookup
- Google Maps Email Scraper
- JustDial Scraper
- 2GIS Places Scraper
- IndiaMART Scraper
- Yandex Maps Scraper
- Contact Details Scraper
- US Business Registry
- Google Maps Scraper
- Yellow Pages Scraper
- Lead Generation MCP
Social media and video
Marketing, SEO and reviews
Real estate
Science, health and government data
Jobs and hiring
E-commerce and marketplaces
Company and business data
Food and local services
Developer and AI tools
More tools
Support
Found a problem or need a field? Open an issue on the actor's Issues tab and we will answer there. For a new source or a custom build, email dmineworks@gmail.com.
Yellow Pages Canada Scraper turns a business type and a Canadian place into rows of businesses with phone, address, coordinates and rating, in English or French, and, when you want it, an email read from the business's own website and checked for a working mail server.

