YellowPages Business Scraper avatar

YellowPages Business Scraper

Pricing

from $1.50 / 1,000 dataset items

Go to Apify Store
YellowPages Business Scraper

YellowPages Business Scraper

Scrape US business listings from YellowPages — name, phone, email, website, full address, GPS, categories, opening hours, ratings and reviews — as structured JSON for lead generation and local market research. Search by keyword and city, or around a GPS point. Pay only for the results you get.

Pricing

from $1.50 / 1,000 dataset items

Rating

0.0

(0)

Developer

axly

axly

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Turn any US city and industry into a clean, ready-to-use list of local businesses — complete with phone numbers, email addresses, real websites, GPS coordinates, opening hours, categories and customer ratings.

Give it a keyword (plumber, italian restaurant, dentist) and a location (Austin, TX, 90210), and it returns structured JSON you can drop straight into a CRM, a spreadsheet, or your own application.


Who uses this

You areYou use it to
Lead-generation agencyBuild targeted prospect lists — phone, email and website for every business in a city and vertical.
Sales teamFill your pipeline with local businesses that match your ICP, filtered by category, rating or "open now".
Local SEO / marketing agencyAudit a market: who is listed, who has claimed their profile, who has no website, who has poor ratings.
Market researcher / analystMeasure category density, competitive saturation and business longevity across metros.
PropTech / SaaS developerA stable JSON business directory endpoint you can schedule, webhook and integrate.

What you get — output fields

FieldTypeDescription
ypidstringYellowPages business ID (stable identifier).
namestringBusiness name.
phonestringFormatted phone number, e.g. (512) 766-0970.
emailstringBusiness email address.¹
websitestringThe merchant's own website (not a YellowPages link).¹
yellowPagesUrlstringPublic YellowPages profile URL.
addressobjectstreet, city, state, zip as separate fields.
addressFormattedstringFull address on one line.
latitude / longitudenumberGPS coordinates for mapping and radius analysis.
neighborhoodsarrayNeighborhood names.¹
primaryCategorystringMain category heading, e.g. Plumbers.
categoriesarrayEvery category the business is listed under.
ratingnumberAverage star rating (0–5).
ratingCountintegerNumber of ratings.²
reviewCountintegerNumber of written reviews.¹
starBreakdownobjectRatings histogram keyed "1""5"
isClaimedbooleanWhether the owner has claimed the listing — a strong lead-qualification signal.
yearEstablishedstringYear the business was founded.
hoursTextstringOpening hours as displayed text.¹
hoursobjectMachine-readable hours, e.g. {"monday": "0900-1700"}
openNow / open24HoursbooleanCurrent open state and 24-hour flag.
servicesarrayServices offered.¹
amenitiesarrayAdvertised amenities.
paymentMethodsarrayAccepted payment methods.¹
languagesSpokenstringLanguages spoken at the business.¹
descriptionstringBusiness description / general info.
sloganstringBusiness tagline.¹
socialLinksarrayFacebook, LinkedIn, X/Twitter and other profile URLs.
photosarrayPhoto URLs.
chainIdstringChain identifier when the business belongs to a retail brand.
distanceMilesnumberDistance from the searched location.
hasCouponsbooleanWhether the listing currently offers a coupon or deal.
reviewSnippetsarrayShort review excerpts included with every result.
reviewsarrayFull reviews — author, rating, body, date.³
searchTerm / searchLocationstringThe query that produced the row.
scrapedAtstringUTC extraction timestamp (ISO 8601).

¹ Requires Include full business details (on by default). ² ratingCount can exceed the number of written reviews, because YellowPages includes aggregate ratings from partner sources. ³ Requires Include customer reviews.


High-value use cases

1. Build a cold-outreach list for a service vertical. Search HVAC contractor across 20 metros with details on. You get phone, email and website for each business, plus isClaimed so you can prioritise owners who already engage with their listings.

2. Find businesses with no web presence. Filter the output for rows where website is empty — an instantly qualified prospect list for web-design and digital-marketing agencies.

3. Reputation-based targeting. Sort by rating and filter on ratingCount and starBreakdown to find businesses with poor or thin review profiles — the core prospect list for reputation-management services.

4. Local market analysis. Pull every restaurant in a metro with GPS coordinates, then map category density, clustering and white space for site selection.

5. Keep a CRM fresh. Schedule a monthly run for your territories and diff on ypid to catch new businesses, closures, phone changes and new websites.


Input parameters

ParameterTypeDefaultDescription
searchTermsarray["plumber"]Keywords or categories. Each is searched in every location.
locationsarray["Austin, TX"]US locations — "City, ST" or ZIP code.
latitude / longitudenumberSearch around a GPS point instead of a named location.
maxItemsinteger100Total result cap for the run.
maxItemsPerQueryinteger100Cap per search term × location combination.
includeDetailsbooleantrueAdds email, real website, full hours, services, payment methods, star breakdown.
includeReviewsbooleanfalseAttaches full customer reviews to each business.
maxReviewsPerBusinessinteger10Used only when reviews are enabled.
openNowbooleanfalseOnly businesses currently open.
dealsOnlybooleanfalseOnly businesses offering a coupon or deal.
sortenumrelevancerelevance, distance, rating or name.
filtersarray[]Advanced raw facet values.
proxyConfigurationobjectoffOptional — not normally needed.

Example input

{
"searchTerms": ["plumber", "hvac contractor"],
"locations": ["Austin, TX", "San Antonio, TX"],
"includeDetails": true,
"includeReviews": false,
"maxItems": 500,
"sort": "rating"
}

Example output

{
"ypid": "10674347",
"name": "Clarke Kent Plumbing",
"phone": "(512) 766-0970",
"email": "admin@clarkekentplumbing.com",
"website": "http://www.clarkekentplumbing.com",
"yellowPagesUrl": "https://www.yellowpages.com/austin-tx/mip/clarke-kent-plumbing-10674347",
"address": {
"street": "1408 W Ben White Blvd",
"city": "Austin",
"state": "TX",
"zip": "78704"
},
"addressFormatted": "1408 W Ben White Blvd, Austin, TX 78704",
"latitude": 30.228342,
"longitude": -97.78136,
"neighborhoods": ["South Lamar"],
"primaryCategory": "Plumbers",
"categories": ["Plumbers", "Plumbing-Drain & Sewer Cleaning"],
"rating": 2.87,
"ratingCount": 15,
"starBreakdown": { "1": 8, "2": 0, "3": 0, "4": 0, "5": 7 },
"isClaimed": true,
"yearEstablished": "1986",
"hoursText": "Mon - Fri 9:00 am - 5:00 pm, Sat - Sun Closed",
"hours": { "monday": "0900-1700", "tuesday": "0900-1700" },
"openNow": false,
"paymentMethods": ["CHECK", "AMEX", "DISCOVER", "VISA", "CASH", "MASTER CARD"],
"languagesSpoken": "Spanish",
"slogan": "Smart Service * Trusted Reputation",
"socialLinks": ["https://www.linkedin.com/company/clarke-kent-plumbing"],
"searchTerm": "plumber",
"searchLocation": "Austin, TX",
"scrapedAt": "2026-09-18T08:11:13Z"
}

Scheduling, webhooks and integrations

  • Schedule runs (daily, weekly, monthly) from the Apify Console to keep a territory list current.
  • Webhooks fire on run completion so your backend can ingest results immediately.
  • Export to JSON, CSV, Excel, XML or JSONL — or pull from the Dataset API.
  • Integrations: Google Sheets, Zapier, Make, Slack, Airbyte, Amazon S3 and Google Drive.
$curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=csv&clean=true"

Use it from an AI assistant (MCP)

Every Apify Actor is callable over the Model Context Protocol, so assistants such as Claude, ChatGPT or Cursor can run this scraper as a tool.

{
"mcpServers": {
"apify": {
"command": "npx",
"args": ["-y", "@apify/actors-mcp-server", "--actors", "axlymxp/yellowpages-business-scraper"],
"env": { "APIFY_TOKEN": "<YOUR_APIFY_TOKEN>" }
}
}
}

Then just ask: "Find me 50 top-rated HVAC contractors in Phoenix with phone numbers and emails."


FAQ

How many results can I get per run? There is no hard cap — set maxItems to whatever you need. Pagination is handled automatically, and progress is checkpointed so long runs survive interruptions and resume without duplicating rows.

How fresh is the data? Every run fetches live data at request time. Nothing is served from a cache, and each row carries a scrapedAt timestamp.

Why do some businesses have no email or website? Those fields only exist when the business has published them. Enable Include full business details to get the maximum coverage; rows without them simply return null rather than failing.

Why is ratingCount higher than the number of reviews returned? YellowPages aggregates star ratings from partner sources but only hosts a subset as full written reviews. This is expected, not an error.

Will it break when the website changes? This scraper reads a structured JSON data source rather than parsing HTML pages, which makes it substantially more stable than HTML-based scrapers. Runs that hit a transient error retry automatically with exponential backoff.

What happens with an empty or invalid search? Invalid input (for example a bad sort value or a missing location) is rejected immediately with a clear message. A valid search that simply has no matches finishes cleanly with zero results.

Is scraping this data legal? The actor collects only publicly available business information — the same data any visitor can see without logging in. No personal accounts, private data or logins are involved. You are responsible for using the output in line with applicable laws and regulations, including GDPR/CCPA where relevant.

Can I get support? Yes — open an issue on the Actor's Issues tab and it will be addressed.