Yellow Pages Scraper: US Business Directory
Pricing
from $2.00 / 1,000 listings
Yellow Pages Scraper: US Business Directory
Extract US business listings from YellowPages.com by search term and city: name, phone, address, website, categories, open status, rating and review count. Multiple search terms per run, export to CSV, JSON or Excel.
Pricing
from $2.00 / 1,000 listings
Rating
0.0
(0)
Developer
NanoScrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Features
Share
Yellow Pages Scraper
Search YellowPages.com by business category and US location and get one record per business listing: name, phone, address, website, categories, rating, review count and the other details shown on the listing card.
What you get
One record per listing. Fields that a listing does not show are null (or an empty list).
| Field | Type | Description |
|---|---|---|
id | string | YellowPages business ID |
name | string | Business name |
phone | string or null | Phone number |
address | string or null | Street address |
city | string or null | City |
state | string or null | State abbreviation |
zip_code | string or null | ZIP code |
website | string or null | Business website |
categories | array | Categories listed for the business |
rating | number or null | Star rating, when the listing has reviews |
review_count | integer or null | Number of reviews |
years_in_business | integer or null | Years in business, when the card shows it |
open_status | string or null | Opening status text from the card, for example "open 24 hours" |
snippet | string or null | Description text from the card |
is_ad | boolean | true for a sponsored or nationwide listing, false otherwise |
source_url | string | Link to the listing on YellowPages.com |
search_term | string | The search term that returned this listing |
serp_page | integer | Results page the listing was found on |
scraped_at | string | UTC timestamp, ISO 8601 |
Not every field is filled for every listing. In a test search for plumbers and electricians in New York, NY (80 listings), name, categories and source_url were present on every row, phone on 85 percent, address on 80 percent and website on 78 percent. Rating and review count were present on fewer than 10 percent.
Sponsored nationwide listings are skipped by default because they usually have no local phone or address; set includeAds to true to keep them, marked with is_ad.
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchTerms | list of text | ["plumber"] | Business categories or keywords, for example plumber or pizza restaurant. A comma separated text also works. |
geoLocation | text | New York, NY when no search term is given | US city and state, for example Chicago, IL. Leave empty to search without a location. |
maxResults | integer | 10 | Maximum number of listings across all search terms. 0 means no limit. The limit is shared equally between the search terms; a share a term does not use goes to the next terms. |
includeAds | boolean | false | Include nationwide sponsored listings. They often have no phone or address. |
proxyConfiguration | object | {"useApifyProxy": true} | Proxy settings. The default works for most runs. The actor picks a suitable Apify Proxy group automatically if requests are refused. |
Numbers may be given as text ("25"). An empty input {} runs a small sample search (plumber, New York, NY, 10 results). If the input cannot be read, the actor runs that same sample and writes a warning to the log.
Example input
{"searchTerms": ["plumber", "electrician"],"geoLocation": "Chicago, IL","maxResults": 100}
Example output
{"id": "556353842","name": "Light Electric Services Company New York NY","phone": "(347) 518-1481","address": "122 1st Ave","city": "New York","state": "NY","zip_code": "10065","website": "http://lightelectricservicescompanynewyorkny.localsearch.com","categories": ["Electricians", "Electric Companies", "Electric Contractors-Commercial & Industrial"],"rating": null,"review_count": null,"open_status": "open 24 hours","source_url": "https://www.yellowpages.com/new-york-ny/mip/light-electric-services-company-new-york-ny-556353842","search_term": "electrician","serp_page": 1,"scraped_at": "2026-10-27T07:52:47Z"}
Behaviour
- A listing that appears more than once, within one search term or across several, is delivered once.
- You are charged per delivered listing plus a start event that is charged together with the first listing. The current prices are on the Pricing tab.
- A search with no results ends normally with a message and no charge.
- If YellowPages.com cannot be reached and nothing was delivered, the run fails with the message "Could not reach yellowpages.com (...). Nothing was charged."
- If your maximum charge per run is reached, the run stops with "Stopped at the max charge limit. N listings delivered." and finishes successfully.
Use with AI (MCP)
Add this actor as a tool in Claude or another MCP client:
https://mcp.apify.com?tools=santamaria-automations/yellow-pages-scraper
Example prompts:
- "Find plumbers in Chicago, IL and return their phone numbers and websites."
- "Get 50 Italian restaurants in New York, NY as a table."
Related actors
- Contact Details Scraper extracts emails, phones and social links from websites.
- Google Maps Scraper returns business listings from Google Maps.
- Yelp Scraper returns business listings from Yelp.
Data protection
This actor returns only data that is publicly visible on the source pages. Results can include personal data, such as names, phone numbers, email addresses and addresses of private persons, sole traders or contact persons. Where the source labels an entry type, it is included so you can filter the results yourself.
You are responsible for using the data lawfully, including the GDPR/DSGVO, national data-protection laws and unfair-competition rules (e.g. UWG) for marketing and outreach.
Support
Questions or problems? Open a ticket in the Issues tab on the actor page or email contact@nanoscrape.com.