Yellow Pages Canada Scraper — Business Leads avatar

Yellow Pages Canada Scraper — Business Leads

Pricing

from $4.00 / 1,000 business listing scrapeds

Go to Apify Store
Yellow Pages Canada Scraper — Business Leads

Yellow Pages Canada Scraper — Business Leads

Scrape Yellow Pages Canada listings with names, phones, websites, addresses, categories, ratings, and structured local business leads.

Pricing

from $4.00 / 1,000 business listing scrapeds

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Yellow Pages CA Scraper — Canadian Business Leads

Free plan limit: Free-plan users can receive up to 5 result records per run. Paid-plan and local/unknown runs retain the Actor's existing limits.

Scrape Canadian business listings from YellowPages.ca — the largest business directory in Canada. Extract business names, phone numbers, emails, addresses, websites, ratings, reviews, operating hours, social media links, and geo-coordinates. Search by keyword + location or paste direct URLs.

Use Cases

  • B2B Lead Generation: Build targeted prospect lists of Canadian SMBs by category and city for outbound sales
  • Local SEO Analysis: Audit client listings against top-ranked competitors across Canadian markets
  • Market Research: Map business density, compare ratings, and track competitor coverage across provinces
  • CRM Enrichment: Enrich existing business databases with verified phone, website, address, and social handles
  • Recruiting: Find trades and skilled-trade employers (plumbers, electricians, contractors) for sourcing
  • Directory Building: Build structured local-business corpora for RAG, LLM training, or data products

Features

  • Multi-input mode: Search by keyword + location OR paste direct YellowPages.ca URLs
  • Detail page enrichment: Optional visit to each business detail page for email, hours, social links, services, photos, coordinates
  • Customer reviews: Optional review extraction (author, rating, text, date)
  • Anti-bot handling: DataImpulse residential proxies with Canada country targeting, session rotation, and stealth browser args
  • Pagination: Automatic pagination through search results (configurable max pages)
  • Sort options: Default, distance, name, or rating
  • MCP-optimized: Semantic field names, structured output, AI-agent-ready schema
  • Pay-per-event: Only charged for results actually extracted

Input Parameters

ParameterTypeDefaultDescription
searchTermsstring[]["plumber"]Keywords/categories to search (cross-joined with locations)
locationsstring[]["Toronto, ON"]Canadian locations in "City, Province" format
startUrlsarray[]Direct YellowPages.ca URLs (search, category, or detail pages)
maxResultsinteger20Hard cap on total business records (0 = unlimited)
maxPagesPerSearchinteger3Max result pages to crawl per search term × location
extractDetailsbooleanfalseVisit detail pages for richer fields (email, hours, social, etc.); adds a page visit for each result
includeReviewsbooleanfalseAdd reviews found on each detail page (requires extractDetails)
maxReviewsPerBusinessinteger30Max reviews per business (0 = all, ~500 cap)
sortByenum"default"Sort: default, distance, name, or rating
maxConcurrencyinteger5Concurrent browser pages

Output Data

Each record contains:

FieldTypeDescription
businessNamestringBusiness name
phonestring|nullPhone number
emailstring|nullEmail address (from detail page)
websitestring|nullBusiness website URL
addressobject{street, city, province, postalCode}
addressFormattedstring|nullFull address as single string
coordinatesobject|null{lat, lng} geo-coordinates
categoriesstring[]Business categories
primaryCategorystring|nullFirst category
ratingnumber|nullStar rating (1-5)
reviewCountnumber|nullTotal review count
hoursobject|nullDay-by-day operating hours
socialLinksobject{facebook, instagram, linkedin, twitter, youtube}
logostring|nullLogo image URL
photosstring[]Photo image URLs
servicesstring[]Services offered
paymentMethodsstring[]Accepted payment methods
yearsInBusinessnumber|nullYears in operation
claimedboolean|nullWhether listing is owner-claimed
profileUrlstringYellowPages.ca profile URL
yellowPagesIdstring|nullInternal YP listing ID
searchTermstring|nullSearch keyword used
searchLocationstring|nullSearch location used
sourceUrlstringPage URL where data was extracted
scrapedAtstringISO 8601 timestamp
reviewsarray|undefinedCustomer reviews (if enabled)

Sample Output

{
"businessName": "Joe's Plumbing Inc",
"phone": "+1 416-555-0123",
"email": "info@joesplumbing.ca",
"website": "https://joesplumbing.ca",
"address": {
"street": "123 Main Street",
"city": "Toronto",
"province": "ON",
"postalCode": "M1M 1M1"
},
"addressFormatted": "123 Main Street, Toronto, ON, M1M 1M1",
"coordinates": { "lat": 43.6532, "lng": -79.3832 },
"categories": ["Plumbing", "Contractor"],
"primaryCategory": "Plumbing",
"rating": 4.5,
"reviewCount": 127,
"hours": { "Monday": "8:00-17:00", "Tuesday": "8:00-17:00" },
"socialLinks": {
"facebook": "https://facebook.com/joesplumbing",
"instagram": null,
"linkedin": null,
"twitter": null,
"youtube": null
},
"logo": "https://...",
"photos": ["https://..."],
"services": ["Drain cleaning", "Pipe repair"],
"paymentMethods": ["Visa", "Mastercard"],
"yearsInBusiness": 15,
"claimed": true,
"profileUrl": "https://www.yellowpages.ca/bus/Ontario/Toronto/Joes-Plumbing/12345.html",
"yellowPagesId": "12345",
"searchTerm": "plumber",
"searchLocation": "Toronto, ON",
"sourceUrl": "https://www.yellowpages.ca/search/si/1/plumber/Toronto+ON",
"scrapedAt": "2026-07-02T10:30:00.000Z"
}

Pricing

This Actor uses pay-per-event pricing. These are the current Apify Store event prices:

EventFREEBRONZESILVERGOLDPLATINUMDIAMONDWhen it is charged
business-scraped$0.005001$0.004875$0.004750$0.004000$0.004000$0.004000One event for each business listing saved to the dataset. This is the primary event.
apify-actor-start$0.006251$0.006094$0.005938$0.005000$0.005000$0.005000System-generated; one event per GB of run memory, with at least one event.

Tier discounts are approximately 2.5% for BRONZE, 5% for SILVER, and 20% for GOLD, PLATINUM, and DIAMOND, with prices matching the current live Actor configuration. Apify platform usage is not passed through to users as a separate per-run fee.

At FREE tier, one result plus one start event costs $0.011252 on a 1 GB run. One result plus two start events costs $0.017503 on a 2 GB run. The run's platform usage is billed separately to the Actor owner's Apify account.

Code Examples

JavaScript

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('muhammadafzal/yellow-pages-ca-scraper').call({
searchTerms: ['plumber'],
locations: ['Toronto, ON', 'Montreal, QC'],
maxResults: 200,
extractDetails: true
});
const dataset = await client.dataset(run.defaultDatasetId).listItems();
console.log(dataset.items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("muhammadafzal/yellow-pages-ca-scraper").call(run_input={
"search_terms": ["dentist"],
"locations": ["Vancouver, BC"],
"max_results": 500,
"extract_details": True
})
dataset = client.dataset(run["defaultDatasetId"]).list_items()
for item in dataset:
print(item["businessName"], item["phone"], item["email"])

Technical Notes

  • Proxy: Uses the configured DataImpulse residential proxy with Canadian country targeting. The proxy credentials are stored as Actor secrets and are not part of the input.
  • Crawler: PlaywrightCrawler with stealth browser args and session rotation
  • Speed: ~2-5 seconds per search page, ~3-8 seconds per detail page
  • Limits: YellowPages.ca returns up to ~500 results per search term × location pair

FAQ

Q: Why am I getting 0 results? A: This Actor routes through a Canadian DataImpulse residential proxy. Check the search terms and locations first; if the proxy route is temporarily unavailable, the run reports the proxy error rather than silently switching providers.

Q: Can I scrape all of Canada? A: Yes — leave locations empty (defaults to Toronto, ON). For comprehensive coverage, specify multiple cities: ["Toronto, ON", "Montreal, QC", "Vancouver, BC", "Calgary, AB", "Ottawa, ON"].

Q: Why is email null for some businesses? A: Email is only available on the business detail page. Ensure extractDetails is true. Some businesses don't list emails publicly.

Q: How do I get reviews? A: Enable both extractDetails and includeReviews. Reviews increase runtime significantly.