Yellow Pages Scraper avatar

Yellow Pages Scraper

Pricing

from $1.50 / 1,000 business scrapeds

Go to Apify Store
Yellow Pages Scraper

Yellow Pages Scraper

Scrape Yellow Pages business listings. Extract names, phone numbers, addresses, ratings, reviews, categories, and websites. Export to JSON, CSV, or Excel.

Pricing

from $1.50 / 1,000 business scrapeds

Rating

0.0

(0)

Developer

Automation Lab

Automation Lab

Maintained by Community

Actor stats

1

Bookmarked

149

Total users

7

Monthly active users

21 days ago

Last modified

Share

What does Yellow Pages Scraper do?

Yellow Pages Scraper extracts business listing data from yellowpages.com at scale. Enter a search term and location, and the scraper returns structured data for every matching business: names, phone numbers, addresses, ratings, reviews, categories, and websites.

The fastest way to try it is to click Start with the prefilled input (plumber in New York) — you'll get results in under 30 seconds.

The actor uses Playwright with bounded fresh-session retries and automatically switches to Yellow Pages content served through Google's public translated delivery surface when direct access remains challenged. It combines Yellow Pages structured data with fields visible in the search results page; if both routes fail, the run fails clearly instead of returning stale or unrelated records.

Next step: enrich local business lead lists

Use Yellow Pages Scraper as a local business lead list source. When listings include websites, send those domains to Website Contact Finder for public emails, phones, socials, and contact pages. Clean discovered emails with Bulk Email MX Verifier and Bulk SMTP Email Verifier before outreach.

Build a cold-outreach lead workflow on Apify

Use this actor as one step in a scrape → enrich → verify → export workflow:

  1. Source B2B accounts or contacts with LinkedIn Company Employees Scraper, LinkedIn Company Scraper, Clutch.co Scraper, Yellow Pages Scraper, YellowPages Canada Business Scraper, or Substack Scraper.
  2. Find public contact signals with Website Contact Finder or Social Media Profile Finder when you have company domains/websites.
  3. Clean the list before outreach with Bulk Email MX Verifier for fast syntax/MX/disposable/role-risk screening, then Bulk SMTP Email Verifier when you need deeper mailbox and catch-all checks.
  4. Export to your outreach stack as CSV/Excel/JSON for Instantly, HubSpot, Salesforce, Pipedrive, Airtable, Make, Zapier, or n8n.

Use only public/business contact data and comply with CAN-SPAM, GDPR, and your outreach platform's rules. Prefer company emails over personal addresses, filter role-based/risky emails when needed, and do not send to invalid or unverified addresses.

Who is it for?

Lead generation teams looking to build targeted contact lists:

  • Extract plumber, electrician, or contractor listings in specific cities
  • Build prospect databases with phone numbers and websites for outreach
  • Filter by rating to target established businesses

Market researchers analyzing local business landscapes:

  • Count businesses per category in a metro area
  • Compare rating distributions across locations
  • Track which categories are saturated vs. underserved

Data analysts building business directories or aggregators:

  • Collect structured business data at scale across multiple cities
  • Enrich CRM records with Yellow Pages data
  • Monitor new business listings appearing in target markets

Sales & marketing professionals doing competitive intelligence:

  • Find all competitors in a specific category and location
  • Analyze competitor ratings and review counts
  • Identify top-rated businesses for partnership opportunities

Why use Yellow Pages Scraper?

  • Current-run data only — never substitutes cached, pre-existing, or hard-coded businesses when a live search is empty or blocked
  • Rich data — combines structured and page data for business name, phone, full address, rating, review count, categories, website URL, coordinates, and Yellow Pages listing link when available
  • No API key needed — no Yellow Pages login or token is required
  • Pagination support — automatically follows "Next" links to collect large result sets
  • Clean URLs — strips tracking parameters from listing URLs
  • Pay-per-event pricing — only pay for what you scrape, no monthly subscription
  • API, scheduling, and integrations — access results via REST API, schedule recurring runs, export to Google Sheets, Slack, or 5,000+ apps via Zapier and Make
  • Export formats — download results as JSON, CSV, Excel, or XML

What data can you extract?

Each business listing includes up to 13 data fields:

FieldDescriptionExample
businessNameCompany name"Aladdin Plumbing Corp."
phonePhone number"(347) 395-4715"
addressStreet address"55 Garnet Street"
cityCity"Kings County"
stateState code"NY"
zipZIP code"11231"
ratingStar rating (1-5)4.5
reviewCountNumber of reviews218
categoriesBusiness categories"Plumbers, Water Heaters"
websiteBusiness website URL"https://example.com"
urlYellow Pages listing URL"https://www.yellowpages.com/..."
latitudeLatitude coordinatenull
longitudeLongitude coordinatenull

How much does it cost to scrape Yellow Pages?

This actor uses pay-per-event pricing — you pay only for what you scrape. No monthly subscription. All platform costs (compute, proxy, storage) are included.

FreeBronzeSilverGold
Per business$0.003$0.0025$0.002$0.0015
100 businesses including start0.31 USD0.26 USD0.21 USD0.16 USD
1,000 businesses including start3.01 USD2.51 USD2.01 USD1.51 USD

These totals use result count × tier unit price + $0.01 start fee. Platinum and Diamond subscribers receive additional discounts (up to $0.00075/business for Diamond).

Real-world cost examples:

QueryResultsDurationCost (Free tier)
Plumber, New York10~18s~$0.04
Dentist, Los Angeles15~30s~$0.055
Pizza, Chicago50~35s~$0.16

On the free plan ($5 credit), you can scrape approximately 1,600 business listings.

How to scrape Yellow Pages business listings

  1. Go to Yellow Pages Scraper on Apify Store
  2. Click Start to try with the prefilled example (plumber in New York)
  3. Or customize the input:
    • Set Search Terms to the business type (e.g., "dentist", "pizza", "electrician")
    • Set Location to a city and state (e.g., "Los Angeles, CA") or ZIP code
    • Adjust Max Results to control how many listings to extract
  4. Click Start and wait for the run to finish
  5. Download results as JSON, CSV, or Excel from the Dataset tab

Example input for restaurants in Miami:

{
"searchTerms": "restaurant",
"location": "Miami, FL",
"maxResults": 50
}

Example input for lawyers in Seattle:

{
"searchTerms": "lawyer",
"location": "Seattle, WA",
"maxResults": 100
}

Input parameters

ParameterTypeRequiredDefaultDescription
searchTermsstringYes—Business type or keyword (e.g., "plumber", "dentist")
locationstringYes—City/state or ZIP code (e.g., "New York, NY", "90210")
maxResultsintegerNo100Maximum number of listings to extract (1-500)

Output example

{
"businessName": "Jonathan M. Engel, DDS",
"phone": "(323) 934-3341",
"address": "5901 W Olympic Blvd",
"city": "Los Angeles",
"state": "CA",
"zip": "90036",
"rating": 5,
"reviewCount": 218,
"categories": "Dentists, Periodontists, Prosthodontists & Denture Centers",
"website": "https://www.socaldentalhealth.com",
"url": "https://www.yellowpages.com/los-angeles-ca/mip/jonathan-m-engel-dds-15064536",
"latitude": null,
"longitude": null
}

Tips for best results

  • Start small — use a low maxResults (10-20) for your first run to preview the data and estimate costs
  • Use specific search terms — "emergency plumber" returns more relevant results than just "plumber"
  • Include state code — "Los Angeles, CA" works better than just "Los Angeles"
  • Schedule recurring runs — set up weekly scrapes to monitor new listings appearing in your market
  • Combine queries — run multiple scrapes with different search terms to build comprehensive databases
  • Export to Google Sheets — connect the output to a Google Sheet for easy team collaboration

Integrations

  • Yellow Pages Scraper -> Google Sheets: Automatically push new business listings to a shared spreadsheet for your sales team to work through
  • Yellow Pages Scraper -> Slack: Get notified when new high-rated businesses appear in your target market — set up a scheduled run with a Slack webhook
  • Yellow Pages Scraper -> CRM (via Zapier/Make): Feed extracted business contacts directly into HubSpot, Salesforce, or Pipedrive for lead nurturing
  • Scheduled monitoring: Run weekly to track new businesses opening in specific categories and locations
  • Webhooks: Trigger your data pipeline automatically when a scrape completes — process, enrich, and store results in your database

API Usage

You can run Yellow Pages Scraper programmatically using the Apify API.

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('automation-lab/yellowpages-scraper').call({
searchTerms: 'dentist',
location: 'Los Angeles, CA',
maxResults: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("automation-lab/yellowpages-scraper").call(run_input={
"searchTerms": "dentist",
"location": "Los Angeles, CA",
"maxResults": 50,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~yellowpages-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchTerms": "dentist",
"location": "Los Angeles, CA",
"maxResults": 50
}'

Use with AI agents via MCP

Yellow Pages Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).

Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:

Setup for Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/yellowpages-scraper"

Setup for Claude Desktop, Cursor, or VS Code

Add this to your MCP config file:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/yellowpages-scraper"
}
}
}

Your AI assistant will use OAuth to authenticate with your Apify account on first use.

Example prompts

Once connected, try asking your AI assistant:

  • "Find all dentists in Austin, TX with their phone numbers and ratings (use automation-lab/yellowpages-scraper)"
  • "Get me a list of 50 pizza restaurants in Chicago with their websites"
  • "Scrape plumber listings in Miami and export to a spreadsheet"

Learn more in the Apify MCP documentation.

Data handling, dependencies, and limitations

This actor performs deterministic extraction and does not use AI models. It sends the search term and location to the public Yellow Pages website through Apify's US residential proxy service. When direct access remains challenged, it requests the same public Yellow Pages result page through Google Translate's delivery surface. The company pays the proxy and platform costs; users do not need a separate source or proxy account.

Output can include public business names, phone numbers, addresses, ratings, categories, websites, listing URLs, and coordinates. The actor does not request private profiles or credentials. It creates no external cache or separate copy: datasets, key-value diagnostics, and logs follow the retention and deletion controls of the user's Apify account. Operational logs contain source URLs and retry messages, not proxy credentials or user secrets.

Yellow Pages may omit optional fields or block an automated session, and the translated fallback depends on Google continuing to expose that public delivery surface. Missing source fields stay null; explicit no-match searches return an empty dataset; exhausted blocking or an unknown page shape fails rather than substituting old data. Yellow Pages and Google are named only to identify public dependencies. This actor is not affiliated with, endorsed by, or sponsored by either company.

For help with a run, use the Issues tab on the Actor's Apify Store page and include the run ID and non-sensitive input details.

Yellow Pages Scraper only extracts publicly available data from yellowpages.com. The scraper does not bypass any login walls or access private data. Web scraping of public data is generally legal, as confirmed by the US Ninth Circuit ruling (hiQ Labs v. LinkedIn).

Always use scraped data ethically and in compliance with applicable laws, including GDPR and CCPA. Review Yellow Pages' Terms of Service before large-scale data collection. Apify provides tools for responsible data collection.

Legality

Scraping publicly available data is generally legal according to the US Court of Appeals ruling (HiQ Labs v. LinkedIn). This actor only accesses publicly available information and does not require authentication. Always review and comply with the target website's Terms of Service before scraping. For personal data, ensure compliance with GDPR, CCPA, and other applicable privacy regulations.

FAQ

How fast is Yellow Pages Scraper? The scraper extracts 10-50 businesses in 15-35 seconds. Speed depends on the number of results and pagination. Each page contains up to 30 listings, so requests for 30+ results require multiple page loads.

How much does it cost to scrape 1,000 businesses? On the Free tier, the estimate is 1,000 × $0.003 + $0.01, or 3.01 USD including the start fee. See the pricing table above for all listed tiers.

Why are some fields null? Yellow Pages does not expose every field for every listing on the search page. Missing ratings, review counts, categories, websites, or coordinates are returned as null; the actor does not guess or crawl extra profile pages to fill them.

What happens when there are no matches or Yellow Pages blocks access? A page that explicitly reports no matches succeeds with an empty dataset and only the start charge. When direct Yellow Pages access stays challenged, the actor retries the same public result page through Google Translate. If both routes are challenged or have an unrecognized shape, the run fails with an actionable error and does not emit or charge business records.

Why did my run return fewer results than expected? Yellow Pages may not have enough matching listings for your search term and location combination, and duplicate listings across result pages are emitted only once. Try broader search terms or a larger metro area.

Can I scrape the entire United States? Yes, but run separate queries per city/metro area for best results. Yellow Pages limits search results per query, so splitting by location ensures complete coverage.