Yelp Business & Reviews Scraper avatar

Yelp Business & Reviews Scraper

Pricing

Pay per usage

Go to Apify Store
Yelp Business & Reviews Scraper

Yelp Business & Reviews Scraper

Scrape Yelp business listings, reviews, ratings, hours and contact info. Search by location and category for local lead generation.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Vhub Systems

Vhub Systems

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

🍽️ Yelp Business Scraper — Reviews, Ratings & Business Data Extractor

Search Yelp by keyword and location to extract business listings, ratings, contact info, opening hours, categories, and customer reviews without a Yelp API key. Get structured business data across any industry — restaurants, contractors, salons, medical offices, and more — ready for export to JSON or CSV.

No Yelp Fusion API required. Works on any publicly searchable Yelp market.


🚀 What It Does

The Yelp Business Scraper is a comprehensive extraction tool for anyone who needs bulk Yelp data. It performs Yelp searches just like a human user — entering a searchQuery and location, paginating through results, and optionally drilling into each business page to collect full details and customer reviews. Each record includes business name, Yelp rating (1–5 stars), review count, full address, phone number, website URL, operating hours, business categories, price range, and up to N customer reviews per business. All output is structured and immediately ready for analysis, CRM import, or ML pipeline ingestion. Export to JSON, CSV, Excel, or XML via Apify datasets.


🎯 Use Cases

  • 📋 Lead Generation Agencies — Build targeted prospect lists of local businesses (plumbers, dentists, restaurants) with contact details, ratings, and review counts pre-qualified
  • 📊 Local SEO Consultants — Audit client markets by scraping competitor businesses' Yelp ratings, review velocity, and keyword positioning in search results
  • 🍔 Restaurant & Hospitality Groups — Monitor competitor venues in your market — track their ratings, review sentiment trends, and menu/service feedback
  • 🔍 Market Research Firms — Collect business density, category distribution, and customer sentiment data across any city or zip code
  • 🤖 AI & NLP Teams — Compile labeled, geo-tagged review datasets for training local search recommendation models, sentiment classifiers, or aspect-based opinion mining systems
  • 💼 Private Equity & Acquisitions — Perform reputational due diligence on target businesses by analyzing their Yelp review history and sentiment over time
  • 🏥 Healthcare Analytics — Aggregate patient reviews for clinics, dentists, and specialists across a region to support healthcare quality assessments

📥 Input Parameters

FieldTypeDefaultDescription
searchQuerystringrequiredWhat to search for (e.g., "Italian restaurants", "plumbers", "yoga studios")
locationstringrequiredCity, zip code, or address (e.g., "San Francisco, CA", "10001", "Austin, TX")
maxResultsinteger20Maximum number of businesses to return (1–200)
includeReviewsbooleanfalseWhether to scrape customer reviews for each business
maxReviewsPerBusinessinteger10Max reviews per business (only if includeReviews is true). Range: 1–100
sortBystring"best_match"Yelp sort order: "best_match", "rating", "review_count", "distance"
radiusintegernullSearch radius in meters (max 40,000). Null uses Yelp's default radius
categoriesstring""Yelp category alias filter (e.g., "restaurants", "homeservices", "health")
minRatingnumbernullFilter businesses by minimum star rating (e.g., 4.0)
openNowbooleanfalseOnly return businesses currently open
proxyConfigurationobjectautoProxy settings. Residential proxies recommended for high-volume runs

📋 Example Input

{
"searchQuery": "sushi restaurants",
"location": "Los Angeles, CA",
"maxResults": 100,
"includeReviews": true,
"maxReviewsPerBusiness": 20,
"sortBy": "rating",
"minRating": 4.0,
"openNow": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

📤 Output Sample

Each item in the output dataset represents one Yelp business listing:

{
"business": {
"yelpId": "nobu-los-angeles-los-angeles",
"name": "Nobu Los Angeles",
"url": "https://www.yelp.com/biz/nobu-los-angeles-los-angeles",
"alias": "nobu-los-angeles-los-angeles",
"rating": 4.3,
"reviewCount": 2841,
"priceRange": "$$$$",
"categories": [
{ "alias": "japanese", "title": "Japanese" },
{ "alias": "sushi", "title": "Sushi Bars" },
{ "alias": "seafood", "title": "Seafood" }
],
"address": {
"street": "903 N La Cienega Blvd",
"city": "West Hollywood",
"state": "CA",
"zipCode": "90069",
"country": "US",
"formatted": "903 N La Cienega Blvd, West Hollywood, CA 90069"
},
"coordinates": {
"lat": 34.0826,
"lng": -118.3736
},
"phone": "+13104571552",
"displayPhone": "(310) 457-1552",
"website": "https://www.noburestaurants.com/losangeles",
"photos": [
"https://s3-media4.fl.yelpcdn.com/bphoto/nobu-hero.jpg",
"https://s3-media2.fl.yelpcdn.com/bphoto/nobu-interior.jpg"
],
"hours": {
"monday": "12:00 PM - 10:30 PM",
"tuesday": "12:00 PM - 10:30 PM",
"wednesday": "12:00 PM - 10:30 PM",
"thursday": "12:00 PM - 10:30 PM",
"friday": "12:00 PM - 11:00 PM",
"saturday": "12:00 PM - 11:00 PM",
"sunday": "12:00 PM - 10:00 PM"
},
"isOpenNow": true,
"isClosed": false,
"claimedBusiness": true,
"transactions": ["delivery", "pickup", "restaurant_reservation"],
"attributes": {
"hasOutdoorSeating": false,
"takesReservations": true,
"goodForGroups": true,
"wheelchairAccessible": true,
"parkingOptions": ["valet", "street"]
}
},
"reviews": [
{
"reviewId": "rev_8a92bc2d4e5f",
"text": "Absolutely phenomenal omakase experience. Chef's selection was creative and perfectly executed. The black cod with miso is worth every penny. Service was attentive without being intrusive. Expensive but completely justified.",
"rating": 5,
"publishedAt": "2024-03-10T20:15:00.000Z",
"author": {
"name": "Jessica T.",
"userId": "user_293847abc",
"profileUrl": "https://www.yelp.com/user_details?userid=293847abc",
"reviewCount": 89,
"friendCount": 43,
"location": "Beverly Hills, CA",
"profileImageUrl": "https://s3-media.fl.yelpcdn.com/photo/293847abc/60s.jpg",
"eliteYear": 2024
},
"usefulCount": 8,
"funnyCount": 1,
"coolCount": 5,
"businessOwnerReply": null
},
{
"reviewId": "rev_7b83ab1c3d4e",
"text": "Iconic spot but consistency has slipped. My last two visits felt rushed during peak hours and one dish arrived cold. Still a solid 4 stars for the ambiance and overall quality, but it's no longer the 5-star destination it used to be.",
"rating": 4,
"publishedAt": "2024-03-05T13:40:00.000Z",
"author": {
"name": "Mark H.",
"userId": "user_829341def",
"profileUrl": "https://www.yelp.com/user_details?userid=829341def",
"reviewCount": 234,
"friendCount": 67,
"location": "Los Angeles, CA",
"eliteYear": null
},
"usefulCount": 14,
"funnyCount": 0,
"coolCount": 3,
"businessOwnerReply": {
"text": "Thank you for your candid feedback, Mark. We take consistency very seriously and will address your concerns with our team.",
"date": "2024-03-06T09:20:00.000Z"
}
}
],
"searchQuery": "sushi restaurants",
"searchLocation": "Los Angeles, CA",
"resultRank": 3,
"scrapedAt": "2024-03-16T09:00:00.000Z"
}

💰 Pricing

VolumeApproximate Cost
50 businesses (no reviews)~$0.04
200 businesses (no reviews)~$0.15
200 businesses + 20 reviews each~$0.80
2,000 businesses + 10 reviews each~$5.00
10,000 businesses (no reviews)~$6.00

Adding includeReviews: true increases cost proportionally, as each business requires an additional page load. Use maxReviewsPerBusiness to control cost.


⚙️ How It Works

  1. Search Execution — The actor constructs Yelp search URLs using your searchQuery, location, sortBy, and radius parameters. It opens the Yelp search results page using a headless browser that executes JavaScript for full rendering.

  2. Search Result Pagination — Yelp displays 10 businesses per search results page. The actor paginates through multiple pages (?start=10, ?start=20, etc.) until maxResults businesses have been collected.

  3. Business Listing Extraction — From search results, the actor extracts: business name, rating, review count, address snippet, price range, and categories. This provides a fast, low-cost run mode when includeReviews is false.

  4. Business Detail Page — When includeReviews is true (or when full business detail is needed), the actor visits each business's individual Yelp page to collect: full address, phone number, website, complete operating hours, all attributes, and review data.

  5. Review Extraction — Reviews are extracted from the business detail page, including star rating, review text, author name/location/stats, reaction counts (Useful/Funny/Cool), and business owner replies. The actor handles Yelp's "Read more" text truncation automatically.

  6. Structured Output — All data is normalized into a consistent schema regardless of business type (restaurant, service, medical, etc.) and pushed to Apify's dataset in real-time.

  7. Proxy Management — Residential proxies rotate with each request batch to avoid Yelp's bot detection and CAPTCHA challenges.


⚠️ Limitations

  • 20 reviews per business (free users) — Yelp limits non-logged-in users to viewing approximately 20 reviews per business on the web. The actor can reliably return up to 20 reviews without login; beyond that, behavior may vary
  • Filtered reviews — Yelp has a "not currently recommended" filter that hides some reviews; these filtered reviews are not accessible via the standard business page and won't appear in results
  • 200 search results per query — Yelp limits search results to approximately 240 results per query/location combination. Use more specific queries or smaller geographic areas to access more businesses
  • Mobile-specific listings — Some business details (like full menus or special offers) are only visible in the Yelp mobile app and cannot be scraped from the web
  • Geolocation accuracy — The lat/lng coordinates reflect the business's listed address; they may not match the exact entrance for large venues
  • Real-time data — Hours, phone numbers, and business status change frequently; treat scraped data as a point-in-time snapshot
  • Yelp ToS — Use this tool for legitimate purposes only. Do not use scraped contact data for unsolicited mass communications. Comply with Yelp's Terms of Service and applicable data protection laws (GDPR, CCPA)


📞 Support

Questions or issues? Use the Issues tab on this actor page or contact Apify Support. Include your input JSON and the Actor Run ID for fastest resolution.