Yellow Pages Scraper
Pricing
from $2.00 / 1,000 result scrapeds
Yellow Pages Scraper
Scrape Yellow Pages business listings: name, phone, address, website, hours, categories, ratings. Search by type and location. Pagination for large results. US-wide coverage for lead gen and market research.
Pricing
from $2.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer

junipr
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
Scrape business listings from YellowPages.com. Extract names, addresses, phone numbers, websites, emails, ratings, reviews, hours, and categories for any search query and location.
Features
- Search by keyword and location (city and state, or ZIP code)
- Extract comprehensive business data: name, address, phone, website, email, hours, ratings
- Automatic pagination to collect hundreds or thousands of results
- Optional detail page scraping for emails and business hours
- TripAdvisor rating data extracted alongside Yellow Pages ratings
- Configurable concurrency and retry settings for reliability
- Zero-config — works out of the box with sensible defaults (restaurants in New York, NY)
Input
All fields are optional with sensible defaults. The actor runs without any configuration.
| Field | Type | Default | Description |
|---|---|---|---|
searchQuery | string | "restaurants" | What to search for — business type, name, or keyword |
location | string | "New York, NY" | City and state, or ZIP code |
maxResults | integer | 100 | Maximum number of listings to extract (up to 5,000) |
maxPages | integer | 5 | Maximum number of result pages to crawl |
extractEmails | boolean | true | Visit detail pages to find email addresses |
extractPhoneNumbers | boolean | true | Extract phone numbers from listings |
extractReviews | boolean | false | Extract review counts and star ratings |
maxConcurrency | integer | 5 | Simultaneous requests (1–10) |
maxRetries | integer | 3 | Retry attempts per failed request |
requestTimeout | integer | 30000 | Request timeout in milliseconds |
Output
Each result is one business listing stored in the default dataset.
| Field | Type | Description |
|---|---|---|
name | string | Business name |
address | string | null | Street address |
city | string | null | City |
state | string | null | Two-letter state abbreviation |
zip | string | null | ZIP code |
phone | string | null | Primary phone number |
website | string | null | Business website URL |
email | string | null | Contact email (requires extractEmails: true) |
categories | string[] | Category tags from Yellow Pages |
rating | number | null | Yellow Pages star rating (1–5) |
reviewCount | number | null | Yellow Pages review count |
tripAdvisorRating | number | null | TripAdvisor star rating |
tripAdvisorReviewCount | number | null | TripAdvisor review count |
yearsInBusiness | number | null | Years in business, if shown |
hours | object | null | Business hours by day of week |
detailUrl | string | Yellow Pages detail page URL |
Output Example
{"name": "Joe's Pizza","address": "123 Main St","city": "New York","state": "NY","zip": "10001","phone": "(212) 555-1234","website": "https://joespizza.com","email": "info@joespizza.com","categories": ["Pizza", "Italian Restaurants"],"rating": 4.5,"reviewCount": 127,"tripAdvisorRating": 4.5,"tripAdvisorReviewCount": 320,"yearsInBusiness": 42,"hours": {"Mon": "11:00 am - 10:00 pm","Tue": "11:00 am - 10:00 pm","Sat": "12:00 pm - 11:00 pm"},"detailUrl": "https://www.yellowpages.com/new-york-ny/mip/joes-pizza-12345678"}
Cost
This actor uses pay-per-event pricing. You are charged once per business listing successfully extracted. Running with extractEmails: false is faster and cheaper since it skips detail page visits.
Limitations
- Currently supports US Yellow Pages (yellowpages.com) only
- Email extraction requires visiting individual business detail pages, which is slower but returns more data — disable it for fastest results
- Yellow Pages shows a maximum of 30 results per page and roughly 3,000 results per search query
- Some businesses may not have websites, emails, or ratings listed
FAQ
How many results can I extract?
Up to 5,000 results per run. Yellow Pages shows 30 listings per page and caps search results at approximately 3,000 entries. Use specific queries and narrow locations to get the most relevant results.
Does it extract emails?
Yes, when extractEmails is enabled (default: true), the scraper visits each business's Yellow Pages detail page to find email addresses listed via mailto: links or visible contact info. Disable this option to run faster and skip the detail page step.
Can I scrape international Yellow Pages?
Currently US only (yellowpages.com). International Yellow Pages sites have different structures and are not supported.
How do I search for plumbers in Chicago?
Set searchQuery to "plumbers" and location to "Chicago, IL". The actor will scrape all plumbers listed in that area.
Does it get business hours?
Yes. When extractEmails is enabled, the scraper visits detail pages and extracts hours from the hours table. Hours are returned as a { day: "HH:MM am - HH:MM pm" } object.
Why are some fields null?
Not all Yellow Pages listings include every data point. Businesses without a claimed or complete profile may be missing websites, emails, ratings, or hours. The actor extracts whatever is available for each listing.
How does concurrency affect reliability?
Higher concurrency (maxConcurrency) is faster but increases the chance of rate limiting. The default of 5 is a good balance. If you see many failed requests, lower it to 2–3.