Yellow Pages Canada Scraper — Business Leads & Phones
Pricing
from $4.00 / 1,000 business listing scrapeds
Yellow Pages Canada Scraper — Business Leads & Phones
Scrape Yellow Pages Canada for business leads by category and city: name, phone, website, address, postal code and rating. USD 5 per 1,000 listings.
Pricing
from $4.00 / 1,000 business listing scrapeds
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Security
Limited permissionsShare
Yellow Pages Canada Scraper searches YellowPages.ca by business category and Canadian city and returns one lead per listing with business name, phone, website, street address, city, province, postal code, categories, star rating and review count. It is built for sales teams, agencies and researchers who need a Canadian business list for outreach or market sizing, and it costs USD 5.00 per 1,000 business listings on the FREE tier (USD 4.00 on GOLD).
What does the Yellow Pages Canada scraper return?
Each dataset row is one YellowPages.ca business listing:
| Field | What it contains |
|---|---|
businessName | Business name as listed |
phone | Listed phone number, for example 416-699-8623 |
website | Website link from the listing, when present |
address | street, city, province and postalCode |
addressFormatted | The full address on one line |
categories, primaryCategory | Yellow Pages categories, for example Plumbers & Plumbing Contractors |
rating, reviewCount | Star rating and number of reviews |
profileUrl, yellowPagesId | Listing URL (without search parameters) and Yellow Pages listing ID |
searchTerm, searchLocation, sourceUrl | The search that found the listing |
coordinates, hours, services, paymentMethods, socialLinks, logo, reviews | Filled with extractDetails when the business page shows them (see below) |
email, yearsInBusiness, claimed, photos | Present in the schema; YellowPages.ca business pages did not show them in 2026-10-27 checks, so they stay empty or null |
scrapedAt | Collection time (UTC) |
Across 31 listings from 2026-09-23 test runs, phone, address and category were filled for all 31, rating for 30 and website for 22.
How do I build a Canadian business list by category and city?
Put categories in searchTerms and places in locations (City, Province, for example Toronto, ON or Montreal, QC). Every term is searched in every location, so 2 terms × 3 cities make 6 searches.
{"searchTerms": ["plumber", "electrician"],"locations": ["Toronto, ON", "Ottawa, ON", "Vancouver, BC"],"maxResults": 500,"maxPagesPerSearch": 5}
maxPagesPerSearch (1 to 100, default 3) limits result pages per term and location, and maxResults (default 20) caps listings for the whole run. When locations is empty, the Actor searches Toronto, ON. The prefilled input (plumbers in Toronto, 20 listings) uses search pages only; a 12-listing version of it finished in about 6 seconds on 2026-09-23.
Can I scrape specific YellowPages.ca search or business URLs?
Yes. Paste YellowPages.ca search result URLs (https://www.yellowpages.ca/search/si/1/dentist/Calgary+AB) or business pages (https://www.yellowpages.ca/bus/...html) into startUrls. Search pages are paginated up to maxPagesPerSearch; a business page returns that one listing.
{"startUrls": [{ "url": "https://www.yellowpages.ca/search/si/1/dentist/Calgary+AB" }],"maxResults": 100,"maxPagesPerSearch": 3}
Does it return emails, hours or reviews?
Hours and reviews, yes; emails, no. With extractDetails: true the Actor opens each listing's business page and adds map coordinates, opening hours by weekday, services, paymentMethods, the business's own socialLinks and its logo when the page shows them. With includeReviews it also adds review entries with author, star rating, text and date. YellowPages.ca business pages do not show an email address, years in business or a claimed badge, so those fields stay empty. Detail mode roughly doubles run time; for phone-and-address lead lists, keep extractDetails off.
When should I use it, and when not?
Use it when you need Canadian businesses by category and city with phone numbers and addresses, want to size a local market by province, or need a starting list for cold calling or direct mail.
Use something else when:
- You need email addresses: this Actor does not deliver them today.
- You need US or Australian businesses: Yellow Pages Scraper USA or Yellow Pages Australia Scraper.
- You need broader coverage than YellowPages.ca: Google Maps Scraper.
- You need Canadian classified ads rather than businesses: Kijiji.ca Scraper.
How do I run it from code?
JavaScript with apify-client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/yellow-pages-ca-scraper').call({searchTerms: ['dentist'],locations: ['Calgary, AB', 'Edmonton, AB'],maxResults: 200,maxPagesPerSearch: 5,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const b of items) console.log(b.businessName, b.phone, b.address.city, b.website);
Python with apify-client:
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("muhammadafzal/yellow-pages-ca-scraper").call(run_input={"searchTerms": ["plumber"],"locations": ["Toronto, ON"],"maxResults": 20,"maxPagesPerSearch": 3,})for b in client.dataset(run.default_dataset_id).iterate_items():print(b["businessName"], b["phone"], b["addressFormatted"], b["rating"])
Use it from an AI assistant
Yellow Pages Canada Scraper works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add https://mcp.apify.com/?tools=muhammadafzal/yellow-pages-ca-scraper to your client and ask, for example: "Find 50 roofing contractors in Vancouver, BC on Yellow Pages Canada with phone numbers, websites and ratings." Each listing is charged at the prices below.
What does the output look like?
Two records from a 2026-09-23 cloud run (empty detail fields removed):
[{"businessName": "Drain King Plumbers","phone": "647-362-2109","website": "http://www.drainkingplumbers.ca/","address": { "street": "100 Saint Regis Crescent", "city": "North York", "province": "ON", "postalCode": "M3J 1Y8" },"addressFormatted": "100 Saint Regis Crescent, North York, ON, M3J 1Y8","categories": ["Plumbers & Plumbing Contractors"],"primaryCategory": "Plumbers & Plumbing Contractors","rating": 5,"reviewCount": 8,"profileUrl": "https://www.yellowpages.ca/bus/Ontario/North-York/Drain-King-Plumbers/101902936.html","yellowPagesId": "101902936","searchTerm": "plumber","searchLocation": "Toronto, ON","sourceUrl": "https://www.yellowpages.ca/search/si/1/plumber/Toronto+ON","scrapedAt": "2026-09-23T16:37:25.324Z"},{"businessName": "Mr. Rooter Plumbing of Toronto ON","phone": "416-699-8623","website": "https://mrrooter.ca/","address": { "street": "27 Glenmount Park Rd", "city": "Toronto", "province": "ON", "postalCode": "M4E 2M8" },"addressFormatted": "27 Glenmount Park Rd, Toronto, ON, M4E 2M8","categories": ["Plumbers & Plumbing Contractors"],"rating": 5,"reviewCount": 2,"yellowPagesId": "5892681","searchTerm": "plumber","searchLocation": "Toronto, ON","scrapedAt": "2026-09-23T16:37:25.325Z"}]
How much does it cost?
The Actor uses pay-per-event pricing, and platform usage is included in the event prices. Each listing saved to the dataset is one charged event; a listing whose Yellow Pages ID is already saved in the run is skipped and not charged, even when a second search finds it.
| Event | FREE | BRONZE | SILVER | GOLD / PLATINUM / DIAMOND |
|---|---|---|---|---|
| Business listing scraped | USD 0.005001 | USD 0.004875 | USD 0.00475 | USD 0.004 |
| Actor start (per started GB of allocated memory) | USD 0.006251 | USD 0.006094 | USD 0.005938 | USD 0.005 |
The default memory is 2 GB, so a default run has two start events (USD 0.012502 on FREE). Worked totals on the FREE tier:
- Prefilled run, 20 listings: 20 × USD 0.005001 + 2 × USD 0.006251 = USD 0.113
- 1,000 listings: 1,000 × USD 0.005001 + 2 × USD 0.006251 = USD 5.014
Set Apify's maximum cost per run as a spending ceiling. maxResults is the reliable way to stop the crawl at a given number of listings.
Limits and reliability
- Browser crawl: listings are read in a real browser with 5 pages in parallel by default (
maxConcurrency1 to 20) and up to 3 retries per page. - Run size:
maxResults: 0removes the listing cap, but the crawl still stops after 10,000 page requests. The default 5-minute timeout suits small runs; raise it for large lists. - Sorting:
sortBy(default,distance,name,rating) is passed to Yellow Pages search, but a 2026-09-23 rating-sorted test did not return listings strictly in rating order. - Access: the Actor handles data access itself; there is no proxy setting to configure.
FAQ
Is there a free Yellow Pages Canada scraper?
YellowPages.ca is free to browse by hand. This Actor charges USD 0.005001 per listing on the FREE tier for bulk export, plus the start fee.
Can I scrape all of Canada at once?
List the cities you need in locations. An empty locations searches Toronto, not the whole country.
Does it include email addresses?
No. The email field exists, but it was empty in every test listing.
Can I export to CSV or Excel?
Yes. Open the run's dataset in Apify Console and download CSV, Excel, JSON or XML, or fetch it through the API.
How do I avoid duplicate businesses?
You don't need to within one run: each yellowPagesId is saved and charged once, even when several search terms or locations find the same business. Across separate runs, de-duplicate on yellowPagesId.
Can I call Canadian businesses from this list?
You can, but Canada's anti-spam law (CASL) and the National Do Not Call List rules apply to your outreach.
Related Actors
- Yellow Pages Scraper USA: US Yellow Pages business leads
- Yellow Pages Australia Scraper: Australian business leads and phones
- Kijiji.ca Scraper: Canadian classified listings
- Google Maps Scraper: local business leads with phones and ratings
Legal and compliance
The Actor reads public YellowPages.ca listings and does not log in or bypass access controls. Business contact data is still personal data in some cases: follow YellowPages.ca's terms, PIPEDA, CASL and Do Not Call rules when you store or contact these businesses. This tool is not affiliated with Yellow Pages Canada, and this is not legal advice.
Last verified: 2026-10-27