Yellow Pages Scraper avatar

Yellow Pages Scraper

Pricing

from $2.00 / 1,000 result scrapeds

Go to Apify Store
Yellow Pages Scraper

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

junipr

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

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.

FieldTypeDefaultDescription
searchQuerystring"restaurants"What to search for — business type, name, or keyword
locationstring"New York, NY"City and state, or ZIP code
maxResultsinteger100Maximum number of listings to extract (up to 5,000)
maxPagesinteger5Maximum number of result pages to crawl
extractEmailsbooleantrueVisit detail pages to find email addresses
extractPhoneNumbersbooleantrueExtract phone numbers from listings
extractReviewsbooleanfalseExtract review counts and star ratings
maxConcurrencyinteger5Simultaneous requests (1–10)
maxRetriesinteger3Retry attempts per failed request
requestTimeoutinteger30000Request timeout in milliseconds

Output

Each result is one business listing stored in the default dataset.

FieldTypeDescription
namestringBusiness name
addressstring | nullStreet address
citystring | nullCity
statestring | nullTwo-letter state abbreviation
zipstring | nullZIP code
phonestring | nullPrimary phone number
websitestring | nullBusiness website URL
emailstring | nullContact email (requires extractEmails: true)
categoriesstring[]Category tags from Yellow Pages
ratingnumber | nullYellow Pages star rating (1–5)
reviewCountnumber | nullYellow Pages review count
tripAdvisorRatingnumber | nullTripAdvisor star rating
tripAdvisorReviewCountnumber | nullTripAdvisor review count
yearsInBusinessnumber | nullYears in business, if shown
hoursobject | nullBusiness hours by day of week
detailUrlstringYellow 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.