Discover/Yellow Pages API
live

Yellow Pages 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.

Endpoint health
verified 6d ago
search_businesses
get_business_reviews
get_all_business_leads_with_website
get_business_details
4/4 passing latest checkself-healing
Endpoints
4
Updated
21d ago

What is the Yellow Pages 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.

Try it
Page number for pagination.
Business keyword to search for (e.g. 'restaurants', 'dentists', 'plumbers').
Location to search in, formatted as city and province code (e.g. 'Toronto ON', 'Vancouver BC', 'Calgary AB').
api.parse.bot/scraper/8c69f222-c3d4-4d68-8ed4-f0946a89d06d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
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'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace yellowpages-ca-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.yellow_pages_canada_api import YellowPages, Business, BusinessSummary, Review

yp = YellowPages()

# Search for restaurants in Toronto
for listing in yp.businesses.search(keyword="restaurants", location="Toronto ON", limit=5):
    print(listing.name, listing.phone, listing.address, listing.rating, listing.review_count)

    # Drill into full details for the first result
    full = listing.details()
    print(full.name, full.address, full.phone, full.website_url)
    print(full.hours)
    print(full.rating_summary.overall_rating, full.rating_summary.review_count_text)

    # Get reviews for this business
    for review in listing.reviews.list(limit=3):
        print(review.author, review.date, review.rating, review.body)
    break

# Find businesses with websites
for lead in yp.businesses.leads_with_website(keyword="plumbers", location="Calgary AB", limit=10):
    print(lead.name, lead.website_url, lead.phone)
All endpoints · 4 totalmissing one? ·

Full-text search across Yellow Pages Canada by keyword and location. Returns paginated business listings (up to 35 per page) with contact info, ratings, and categories. Pagination advances via the page parameter. Each result includes a path suitable for drilling into details or reviews.

Input
ParamTypeDescription
pageintegerPage number for pagination.
keywordrequiredstringBusiness keyword to search for (e.g. 'restaurants', 'dentists', 'plumbers').
locationrequiredstringLocation to search in, formatted as city and province code (e.g. 'Toronto ON', 'Vancouver BC', 'Calgary AB').
Response
{
  "type": "object",
  "fields": {
    "page": "integer current page number",
    "results": "array of business summary 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": "La Sala Restaurant",
          "path": "/bus/Ontario/Toronto/La-Sala-Restaurant/2088985.html?what=restaurants&where=Toronto+ON&useContext=true",
          "phone": "+1 (555) 012-3456",
          "rating": 4,
          "address": "123 Main St, Toronto, ON M4L 1J1",
          "categories": [
            "Italian and Mediterranean cuisine",
            "Restaurants"
          ],
          "website_url": "https://www.lasalaristorante.com/",
          "review_count": 2
        }
      ],
      "total_pages": 301,
      "total_results": 10531
    },
    "status": "success"
  }
}

About the Yellow Pages API

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.

Reliability & maintenanceVerified

The Yellow Pages API is a managed, monitored endpoint for yellowpages.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when yellowpages.ca changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official yellowpages.ca API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a Canadian local business directory filtered by category and city using search_businesses keyword and location params.
  • Enrich a CRM with phone numbers, addresses, and website URLs pulled from get_business_details.
  • Aggregate customer review sentiment by collecting body and rating fields across multiple businesses via get_business_reviews.
  • Generate sales lead lists of businesses with websites using get_all_business_leads_with_website for a target keyword and province.
  • Monitor business hours and contact info changes over time by periodically calling get_business_details for tracked paths.
  • Identify businesses in a given Canadian city that carry specific brands or speak particular languages using the details sections from get_business_details.
  • Compare ratings and review counts across competing local businesses in a metro area using search_businesses results.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Yellow Pages Canada offer an official developer API?+
Yellow Pages Canada does not publish a public developer API or documented data feed for third-party use. This Parse API provides structured access to the data available on yellowpages.ca.
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?+
The endpoint returns the written reviews available for the business. Businesses that have received star ratings but no written review text will return an empty array and a 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?+
The 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.
Is there an endpoint for claiming or writing business data, such as submitting reviews or updating business info?+
Not currently. All four endpoints are read-only: search, detail retrieval, review reading, and lead filtering. You can fork this API on Parse and revise it to add an endpoint if your use case requires a different data operation.
Page content last updated . Spec covers 4 endpoints from yellowpages.ca.
Related APIs in B2b DirectorySee all →
yellowpages.com API
Search and retrieve business listings, contact info, hours, categories, and customer reviews from YellowPages.com. Browse by category or location across the US.
yellowpages.com.au API
Search Australian businesses by category to find contact details, addresses, and emails, then retrieve comprehensive business information for any listing. Perfect for building lead lists, verifying business information, or discovering local service providers across Australia.
yellowpages.in API
Search for businesses across India and discover detailed information like contact details, addresses, and services from YellowPages.in's comprehensive business directory. Find relevant business categories with autocomplete suggestions to quickly locate the leads and companies you're looking for.
yellowpages-uae.com API
Search and discover UAE businesses with instant access to contact details, locations, and branch information from the Yellow Pages UAE directory. Find companies by name, get detailed business profiles, explore multiple branches, and browse available cities all in one place.
pagesjaunes.fr API
Search for business listings across France on PagesJaunes.fr and access customer reviews and detailed location information. Find businesses by keyword and location, and retrieve comprehensive details including addresses, ratings, and reviews.
canada.businessesforsale.com API
Search and browse businesses for sale and franchise opportunities across Canada, retrieving detailed listing information to find investment opportunities that match your interests. Explore comprehensive data on available businesses and franchises to make informed decisions about potential acquisitions.
yelp.com API
Search for businesses on Yelp and access their detailed information including reviews, photos, and ratings all from one interface. Get comprehensive business data like hours, contact details, and customer feedback without visiting Yelp directly.
gelbeseiten.de API
Search for businesses on Gelbe Seiten (gelbeseiten.de) by keyword and location, and retrieve full business details including contact information, opening hours, categories, and reviews.