YellowPages APIyellowpages.com ↗
Search US business listings, fetch contact info, hours, reviews, and categories from YellowPages.com via 7 structured endpoints.
What is the YellowPages API?
The YellowPages API covers 7 endpoints for searching and retrieving US business data from YellowPages.com. Use search_businesses to query by keyword and location and get back up to 30 listings per page — including name, phone, address, rating, review count, and website URL — or use get_business_details to fetch hours, amenities, categories, and description for a specific listing.
curl -X GET 'https://api.parse.bot/scraper/2fc5523b-bc06-4c8c-8416-a3daa0e64f9f/search_businesses?page=1&limit=5&query=plumber&location=new+york+ny' \ -H 'X-API-Key: $PARSE_API_KEY'
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-com-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_api import YellowPages, BusinessSummary, Business, Review, CategoryGroup, State, FilterGroup, TechnologyCheck
yp = YellowPages()
# Search for plumbers in New York
for listing in yp.businesssummaries.search(query="plumber", location="new york ny", limit=5):
print(listing.name, listing.phone, listing.address)
# Get full business details
details = listing.details()
print(details.description, details.hours, details.amenities)
# Get reviews for this business
for review in listing.reviews.list(limit=3):
print(review.author, review.rating, review.text)
# Browse available categories
for group in yp.categorygroups.list():
print(group.name)
for sub in group.sub_categories:
print(sub.name, sub.url)
# List all US states
for state in yp.states.list():
print(state.name, state.url)
# Get search filters for a query
for fg in yp.filtergroups.search(query="restaurant", location="los angeles ca"):
print(fg.label)
for opt in fg.options:
print(opt.label, opt.url)
# Check a website for POS technology
tech = yp.technologychecks.check(website_url="https://www.example.com")
print(tech.has_pos, tech.website, tech.detected_pos_technologies)
Full-text search for businesses by keyword and location on YellowPages.com. Returns up to 30 organic listings per page with pagination support up to page 17. Each listing includes name, phone, address, categories, and rating when available. Pagination is automatic; the limit caps the total items returned across all pages.
| Param | Type | Description |
|---|---|---|
| page | integer | Starting page number for pagination |
| limit | integer | Maximum number of results to return across all pages |
| queryrequired | string | Search keyword (e.g., 'plumber', 'restaurant', 'dentist') |
| locationrequired | string | Location to search in (e.g., 'new york ny', 'los angeles ca') |
{
"type": "object",
"fields": {
"total": "integer total number of listings returned",
"listings": "array of business listing objects"
},
"sample": {
"data": {
"total": 1,
"listings": [
{
"url": "https://www.yellowpages.com/new-york-ny/mip/rr-plumbing-roto-rooter-574238364",
"name": "RR Plumbing Roto-Rooter",
"phone": "+1 (555) 012-3456",
"rating": null,
"address": "450 7th Ave, New York, NY 10001",
"website": "https://www.rotorooter.com/manhattan/",
"categories": [
"Plumbers",
"Plumbing-Drain & Sewer Cleaning"
],
"review_count": null,
"years_in_business": null
}
]
},
"status": "success"
}
}About the YellowPages API
Search and Browse Businesses
The search_businesses endpoint accepts a required query (e.g., 'dentist', 'auto repair') and location (e.g., 'chicago il'), returning an array of listing objects. Each object carries name, phone, address, url, categories, years_in_business, rating, review_count, and website. Pagination is supported via the page parameter up to page 17, with up to 30 results per page. get_search_filters returns available filter options for a given query and location — for example, 'OPEN 24 Hours' — and nearby location refinements.
Business Details and Reviews
get_business_details takes a full YellowPages business URL and returns a richer object: hours (a map of day labels to time strings), email, amenities, description, and a categories array, in addition to contact fields. The optional check_pos parameter, when set to true, also returns technology signals detected on the business's own website. get_business_reviews takes the same URL format and returns an array of review objects, each with author, date, rating, title, and text.
Categories and Location Browsing
get_category_list returns all YellowPages business categories organized into named groups such as Home Services, Medical Services, and Auto Services — useful for building category-driven navigation. explore_cities returns a list of US states with associated URLs for browsing business listings by geography.
POS Technology Detection
check_pos_technology accepts any business website URL and returns has_pos (boolean), detected_pos_technologies (array of platform name strings), and the checked website URL. This endpoint is independent of a YellowPages listing and can be called directly against any URL.
The YellowPages API is a managed, monitored endpoint for yellowpages.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when yellowpages.com 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.com 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a local business directory app using
search_businessesfiltered by keyword and city - Aggregate business hours and contact details for a regional service-finder using
get_business_details - Monitor customer sentiment by collecting star ratings and review text via
get_business_reviews - Identify which restaurants or service businesses use specific POS platforms with
check_pos_technology - Populate category navigation menus from the structured groups returned by
get_category_list - Generate leads for B2B outreach by extracting phone, website, and years_in_business from search results
- Scope coverage of a market by browsing state-level business data starting from
explore_cities
| 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 | 100 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 YellowPages.com have an official developer API?+
What does `get_business_details` return beyond what `search_businesses` provides?+
get_business_details adds fields not present in search results: hours (a per-day map of opening times), email, amenities, description, and the optional check_pos technology signals. Search results include years_in_business and review_count but do not include hours or description.How far back do reviews go, and can I filter them by rating or date?+
get_business_reviews returns all reviews available on the YellowPages listing page for a given URL, with author, date, rating, title, and text per review. There is no built-in filter parameter for date range or minimum rating — the endpoint returns what the listing exposes. You can fork this API on Parse and add client-side filtering logic to the response.Does the API cover businesses outside the United States?+
explore_cities endpoint returns US states only. If you need international business directory data, you can fork this API on Parse and revise it to target a different directory source.