Yellow Pages US Scraper — Business Leads & Reviews avatar

Yellow Pages US Scraper — Business Leads & Reviews

Pricing

from $1.00 / 1,000 business listing extracteds

Go to Apify Store
Yellow Pages US Scraper — Business Leads & Reviews

Yellow Pages US Scraper — Business Leads & Reviews

Scrape US business listings from yellowpages.com — name, phone, address, website, email, hours, services, ratings, reviews, social links, BBB accreditation, and trust signals. Search by keyword + location, paste category URLs, or pull individual business profiles.

Pricing

from $1.00 / 1,000 business listing extracteds

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Extract US business listings from yellowpages.com at scale. Get business name, phone, address, website, email, hours, services, categories, ratings, review counts, social links, BBB accreditation, claimed status, years in business, and optional customer reviews — all in clean, CRM-ready structured JSON.

Search by keyword + location, paste category URLs, or pull individual business profiles. Mix all three input modes in a single run. Optimized for B2B lead generation, local-SEO analysis, market research, and AI-agent pipelines.

What it does

  • Search mode: provide searchTerms + locations (cross-joined) — e.g. ["plumber", "electrician"] × ["Boston, MA", "Austin, TX"] = 4 searches
  • URL mode: paste yellowpages.com search URLs, city-category pages (/boston-ma/plumbers), or individual business profiles (/mip/<slug>-<id>)
  • Multi-input: combine search terms and direct URLs in one run
  • Pagination: crawls up to maxPagesPerSearch result pages per search
  • Detail enrichment: visits each business profile page for the full field set (email, hours, services, socials, trust signals)
  • Reviews: optional per-business customer reviews (newest-first, capped via maxReviewsPerBusiness)
  • Sort: by relevance (default), distance, name, or rating

Use cases

  • Build targeted B2B prospect lists by category and ZIP/city for outbound sales
  • Pull every business in a category or metro for market coverage and competitor mapping
  • Filter for unverified/owner-unclaimed listings to identify outreach opportunities
  • Enrich existing CRM data with verified phone, website, structured address, hours, socials
  • Extract customer reviews for sentiment analysis, quality benchmarking, reputation research
  • Map local business density and compare market-level metrics (ratings, review volume, years in business)
  • Seed RAG/LLM corpora with structured local-business records

Input

FieldTypeRequiredDefaultDescription
searchTermsstring[]no["plumber"]Keywords/categories — cross-joined with locations
locationsstring[]no["Boston, MA"]US locations in "City, ST" or ZIP format
startUrlsarrayno[]Direct yellowpages.com URLs (search, category, or profile)
sortByenumnodefaultdefault/distance/name/rating
includeReviewsbooleannofalseEmbed customer reviews per business
maxReviewsPerBusinessintegerno30Cap on reviews per business (0 = all, hard cap ~2000)
maxResultsintegerno100Hard cap on total business rows (0 = unlimited, internal cap 100k)
maxPagesPerSearchintegerno5Max result pages per search/URL
proxyConfigurationobjectnoUS residentialRequired: US residential proxies (Cloudflare blocks datacenter)

Output

One record per business in the dataset:

FieldTypeExample
namestring"Acme Plumbing"
phonestring|null"(617) 555-1234"
emailstring|null"info@acme.com"
websitestring|null"https://acme.com"
addressobject{street, city, state, postalCode, country}
addressFormattedstring"123 Main St, Boston, MA 02108"
coordinatesobject|null{lat, lng}
categoriesstring[]["Plumbing","Contractor"]
primaryCategorystring|null"Plumbing"
servicesstring[]["Drain cleaning","Water heater repair"]
paymentMethodsstring[]["Visa","Mastercard"]
hoursobject|null{mon:"8:00-17:00",...}
ratingnumber|null4.5
reviewCountnumber|null128
reviewsarray|null[{author,rating,date,text}] (when includeReviews=true)
socialLinksobject{facebook,instagram,linkedin,twitter,youtube}
logostring|nullurl
photosstring[][url,...]
claimedbooleantrue
bbbAccreditedbooleanfalse
yearsInBusinessnumber|null12
descriptionstring|null"Family-owned plumbing services since..."
taglinestring|null"Your trusted local plumber"
isAdbooleanfalse
yellowPagesIdstring"123456789"
profileUrlstringhttps://www.yellowpages.com/.../mip/acme-12345
sourceUrlstringURL crawled
searchTermstring"plumber"
searchLocationstring"Boston, MA"
scrapedAtstringISO 8601 timestamp

Pricing

This actor uses pay-per-event pricing — you only pay for results delivered.

EventPriceWhen charged
Actor Start$0.00005Once per run (per 1 GB memory)
Business Listing$0.001Per business record extracted

Cost examples:

  • 100 businesses = ~$0.10
  • 1,000 businesses = ~$1.00
  • 10,000 businesses = ~$10.00

Usage-based billing (compute + proxy passthrough) is also enabled for heavy users — see the Pricing tab for tier details.

Proxy requirements

US residential proxies are required. Yellow Pages is fronted by Cloudflare and blocks datacenter IPs and non-US residential ranges. The default proxy configuration uses Apify's RESIDENTIAL group with countryCode: US.

For aggressive anti-bot environments, you can supply a custom premium residential proxy (Decodo, Bright Data, IPRoyal) via the proxy configuration input.

Quick start

# Install Apify CLI
npm install -g apify-cli
# Clone and deploy
cd yellow-pages-us-scraper
npm install
apify login
apify push -f -w 120

API usage

# Run via API
curl -X POST "https://api.apify.com/v2/acts/USERNAME~yellow-pages-us-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms":["dentist"],"locations":["Austin, TX"],"maxResults":50}'
// Node.js / Apify SDK
import { Actor } from 'apify';
const run = await Actor.call('USERNAME/yellow-pages-us-scraper', {
searchTerms: ['dentist'],
locations: ['Austin, TX'],
maxResults: 50,
includeReviews: true,
maxReviewsPerBusiness: 10,
});
const { items } = await Actor.dataset(run.defaultDatasetId).listItems();
console.log(items);

Tips

  • Start small: set maxResults: 10 to verify data quality before scaling
  • Reviews are slow: enabling includeReviews roughly doubles runtime and cost — use only when needed
  • Large coverage: split a big request across multiple cities/ZIPs — a single search caps at ~6,000 results
  • Sort by rating: set sortBy: "rating" to surface top-rated businesses first
  • Cross-join math: 2 terms × 3 locations = 6 searches; results are merged and deduplicated by profile URL

Limitations

  • Yellow Pages itself caps results at roughly 30 pages (~6,000 listings) per search term + location pair
  • Reviews are capped at ~2,000 per business by Yellow Pages
  • Email is only available when present on the business profile page (many YP listings do not show email)

Export & integrations

Export scraped data to JSON, CSV, or Excel from the Apify Console. Use webhooks or the Apify API to push results to HubSpot, Salesforce, Google Sheets, Airtable, or any HTTP endpoint. Schedule runs via the Apify Scheduler for ongoing monitoring.


Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.