Yelp Scraper — Reviews, Ratings, Contacts, CSV, No API Key avatar

Yelp Scraper — Reviews, Ratings, Contacts, CSV, No API Key

Pricing

Pay per usage

Go to Apify Store
Yelp Scraper — Reviews, Ratings, Contacts, CSV, No API Key

Yelp Scraper — Reviews, Ratings, Contacts, CSV, No API Key

Get YOUR Yelp business leads as CSV/JSON in 2 min — 10+ real runs. No paid API, no copy-paste, no rate limits. Name, address, phone, rating, reviews, hours, photos — by keyword+city. Built for local-biz prospecting + SMB lead-gen. Custom pipeline — spinov001@gmail.com · Tips: t.me/scraping_ai

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Alex

Alex

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

18 hours ago

Last modified

Categories

Share

Yelp Business Scraper — Listings, Reviews, Ratings by Category and Location

Get every Yelp business in any city — with full review datasets — in one run. Search by keyword + location, filter by category / price / rating, and get clean JSON back: business profile, reviews (with sentiment-rich metadata), photos, hours, contact info.

No Yelp Fusion API signup. No 5,000 call/day ceiling. No deprecated review-scraping endpoint that Yelp shut down in 2018. This actor handles the live Yelp UI with rotating residential fingerprints and gives you the dataset the official API no longer returns.

Who uses this

  • Local-SEO agencies tracking client reviews and competitor reviews across target cities.
  • Franchise ops teams aggregating all review activity across 50-500 locations daily.
  • Market researchers mapping the restaurant / salon / auto-shop competitive landscape in a city before client engagement.
  • Lead-generation teams building B2B prospect lists (independent restaurants, salons, gyms) filtered by review count and rating.
  • Data scientists training sentiment-classification models on a genuine local-business review corpus.

What you get per business

FieldTypeExample
business_idstring"stripe-sf-coffee"
namestring"Stripe SF Coffee"
ratingnumber4.5
review_countnumber312
pricestring$$
categoriesarray["Coffee & Tea", "Cafes"]
addressstring"510 Townsend St, San Francisco, CA 94103"
latitudenumber37.7749
longitudenumber-122.4194
phonestring"+14155551234"
hoursobject{mon: "7:00-18:00", tue: ...}
websitestringhttps://example.com
is_closedbooleanfalse
photo_urlsarray[...]
attributesobject{wheelchair_accessible: true, accepts_credit_cards: true, outdoor_seating: true, ...}

What you get per review

FieldExample
review_id"aB3cD..."
rating5
text"Favorite coffee spot near the office..."
author_name"Jane D."
author_location"San Francisco, CA"
author_review_count47
author_is_elitetrue
date2026-03-12
useful_votes12
funny_votes2
cool_votes5
photosarray of review-photo URLs

Input

{
"searchTerm": "coffee",
"location": "San Francisco, CA",
"maxBusinesses": 50,
"maxReviewsPerBusiness": 100,
"priceFilter": ["$", "$$"],
"openNow": false,
"minRating": 4.0,
"sortBy": "highest_rated"
}
  • searchTerm — keyword. Leave empty to search by category only.
  • location — city + state, neighborhood, or precise address.
  • maxBusinesses — cap on businesses returned. Default 100.
  • maxReviewsPerBusiness — cap on reviews per business. Set 0 to skip reviews.
  • priceFilter — subset of $, $$, $$$, $$$$.
  • minRating — minimum star rating filter.
  • sortByhighest_rated, most_reviewed, distance, recommended.

Python usage example

from apify_client import ApifyClient
import statistics
client = ApifyClient("YOUR_APIFY_TOKEN")
# Top-rated coffee shops in SF, with recent reviews
run_input = {
"searchTerm": "coffee",
"location": "San Francisco, CA",
"maxBusinesses": 30,
"maxReviewsPerBusiness": 50,
"sortBy": "highest_rated",
}
run = client.actor("knotless_cadence/yelp-business-scraper").call(run_input=run_input)
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
# The dataset mixes business records and review records — split them
businesses = [x for x in items if x.get("type") == "business"]
reviews = [x for x in items if x.get("type") == "review"]
print(f"Found {len(businesses)} businesses, {len(reviews)} reviews")
# Top 5 by weighted sentiment (rating × log(review_count))
import math
ranked = sorted(
businesses,
key=lambda b: b["rating"] * math.log(max(b["review_count"], 2)),
reverse=True,
)[:5]
for b in ranked:
print(f" {b['rating']} ★ ({b['review_count']:>4} reviews) {b['name']}")

Common questions

Q: Is this more reliable than the Yelp Fusion API? For review data, yes — Yelp's official API returns only 3 "snippet" reviews per business since 2018. This actor returns all public reviews. For structured data (business profile, hours, categories), both are reliable; the Fusion API may be preferable if you have a key and don't need reviews.

Q: How fresh are the reviews? Live at run time. Running daily provides reliable new-review deltas.

Q: Can I filter by Elite reviewers only? Yes — filter the returned dataset on author_is_elite == true. Elite reviews typically carry more weight in Yelp's ranking algorithm.

Q: Does this work for Yelp.ca, Yelp.co.uk, etc.? Yes — pass the local URL or a location in the target country ("Toronto, ON", "London, UK"). Supported: US, CA, UK, IE, AU, NZ, FR, DE, IT, ES, NL, BE.

Q: What's the cost? Apify compute-unit pricing. A 50-business + 50-review run typically costs $0.03-$0.08.

Q: How do I avoid scraping the same business twice over multiple runs? business_id is stable across runs — dedupe on that field in your downstream pipeline.

Export integrations

  • CSV / JSON / Excel / HTML (native Apify dataset download)
  • Google Sheets (via Apify integration)
  • Webhooks on each run
  • S3 / GCS direct sync
  • Zapier / Make.com / n8n
SourceActorData
Yelp (this)Local-business reviewsLocal sentiment
Google MapsBusiness listingsLocal data
TrustpilotService reviewsBrand reputation
GlassdoorEmployee reviewsWorkforce sentiment
RedditDiscussion threadsUnfiltered opinion

All free on Apify Store.

About the maintainer

Maintained by an active Apify developer (78 public actors covering scraping, MCP servers, local-business data, and review-mining tools). Technical articles on Hashnode, Telegraph, Write.as, and Mataroa covering scraping architecture, local-SEO data pipelines, and sentiment analysis.

Need a custom local-business intelligence pipeline (multi-city review tracking, competitor benchmarking, franchise rollups)? Email spinov001@gmail.com or message t.me/scraping_ai.

Disclaimer

Designed for market-research, local-SEO, and academic use. Respect Yelp's Terms of Service, applicable data-protection law (GDPR, CCPA), and scrape publicly visible content only. Not affiliated with Yelp Inc.