yellowpages.ca APIyellowpages.ca ↗
Search Canadian businesses by keyword and location, retrieve contact details, hours, reviews, and website leads from Yellow Pages Canada via a structured API.
curl -X GET 'https://api.parse.bot/scraper/8c69f222-c3d4-4d68-8ed4-f0946a89d06d/search_businesses?page=1&keyword=restaurants&location=Toronto+ON' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for businesses by keyword and location on Yellow Pages Canada. Returns a paginated list of business results with contact info, ratings, and categories. Each page contains up to 35 results.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| keywordrequired | string | Business keyword to search for (e.g. 'restaurants', 'dentists', 'plumbers'). |
| locationrequired | string | Location to search in, formatted as city and province code (e.g. 'Toronto ON', 'Vancouver BC', 'Calgary AB'). |
{
"type": "object",
"fields": {
"page": "integer current page number",
"results": "array of business objects with name, path, phone, address, website_url, rating, review_count, and categories",
"total_pages": "integer total number of pages available",
"total_results": "integer total number of matching businesses"
},
"sample": {
"data": {
"page": 1,
"results": [
{
"name": "El Gourmet Express Inc",
"path": "/bus/Ontario/Toronto/El-Gourmet-Express-Inc/104582462.html?what=restaurants&where=Toronto+ON&useContext=true",
"phone": "+1 (555) 012-3456",
"rating": 4.5,
"address": "123 Main St, Toronto, ON M4W 2M9",
"categories": [
"Restaurants"
],
"website_url": "https://elgourmet.ca/",
"review_count": 7
}
],
"total_pages": 83,
"total_results": 2871
},
"status": "success"
}
}About the yellowpages.ca API
This API exposes 4 endpoints covering Yellow Pages Canada (yellowpages.ca), letting you search businesses by keyword and location, pull full business profiles, read customer reviews, and filter leads by website presence. The search_businesses endpoint returns up to 35 results per page including phone, address, rating, review count, and categories, with pagination supported across the full result set.
Search and Discovery
The search_businesses endpoint accepts a keyword (e.g. 'dentists', 'plumbers') and a location formatted as city and province code (e.g. 'Toronto ON', 'Vancouver BC'). Results include name, path, phone, address, website_url, rating, review_count, and categories for each business. The total_results and total_pages fields let you paginate through the full listing using the page parameter, with up to 35 businesses per page.
Business Profiles
get_business_details takes the path field returned by search_businesses and returns a full profile: address, phone, website_url, hours (an object keyed by day name), photos (array of URLs), social_links (array of objects with title and url), and a details object with categorized sections such as Products and Services, Brands Carried, and Languages Spoken. The rating_summary field includes overall_rating, review_count_text, and sub_ratings.
Reviews
get_business_reviews retrieves written customer reviews for a business using the same path input. Each review object contains author, date, body, and rating. Note that businesses with only numeric ratings and no written reviews will return an empty reviews array alongside a total of zero.
Lead Filtering
get_all_business_leads_with_website runs a first-page search for a keyword and location, then filters results to only businesses that have a website_url populated. It returns a leads array with the same fields as search_businesses results, plus a total_on_page count. This is useful for building outreach lists where having a web presence is a qualifying criterion.
- Build a Canadian local business directory filtered by category and city using
search_businesseskeyword and location params. - Enrich a CRM with phone numbers, addresses, and website URLs pulled from
get_business_details. - Aggregate customer review sentiment by collecting
bodyandratingfields across multiple businesses viaget_business_reviews. - Generate sales lead lists of businesses with websites using
get_all_business_leads_with_websitefor a target keyword and province. - Monitor business hours and contact info changes over time by periodically calling
get_business_detailsfor tracked paths. - Identify businesses in a given Canadian city that carry specific brands or speak particular languages using the
detailssections fromget_business_details. - Compare ratings and review counts across competing local businesses in a metro area using
search_businessesresults.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Yellow Pages Canada offer an official developer API?+
What does `get_business_details` return beyond what `search_businesses` provides?+
search_businesses returns a summary: name, phone, address, website_url, rating, review_count, and categories. get_business_details adds operating hours keyed by day, photo URLs, social links with titles, and a structured details object covering sections like Products and Services, Brands Carried, and Languages Spoken, along with sub-ratings inside rating_summary.Does `get_business_reviews` return all reviews or just a subset?+
total of zero. There is no pagination parameter on this endpoint, so very large review sets may not be fully returned.Does the API cover businesses across all Canadian provinces?+
location parameter accepts any city and province code combination supported by yellowpages.ca, so coverage spans the provinces represented on that directory. However, the get_all_business_leads_with_website endpoint only queries the first page of results for a given keyword and location — it does not paginate. For multi-page lead extraction, you can fork the API on Parse and revise it to paginate through all result pages.