Yelp Reviews Scraper — Unlimited Reviews + AI Analysis avatar

Yelp Reviews Scraper — Unlimited Reviews + AI Analysis

Pricing

from $2.75 / 1,000 results

Go to Apify Store
Yelp Reviews Scraper — Unlimited Reviews + AI Analysis

Yelp Reviews Scraper — Unlimited Reviews + AI Analysis

Scrape unlimited Yelp reviews past the 3-review page cap — reviewer name, rating, date, full text, photos and owner replies. Feed it a business URL or a search term plus city. Optional AI pain-point teardown turns the reviews into ranked complaint themes. No login or API key. Clean JSON or CSV.

Pricing

from $2.75 / 1,000 results

Rating

5.0

(1)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

17

Total users

16

Monthly active users

15 hours ago

Last modified

Share

Yelp Reviews Scraper

Pull the full review history of any Yelp business — not the 3 reviews Yelp shows an anonymous visitor. Paste business URLs or search a category and city, and get one clean row per business with every review attached: reviewer, star rating, date, full text, photos and the owner's reply.

Runs over plain HTTP with a built-in residential proxy. No Yelp account, no API key, no login, no browser.

Why use it

  • Past the 3-review cap. Yelp's public page stops at three reviews. This walks the whole list — hundreds or thousands per business.
  • Reviews you can actually analyse. Star rating, ISO date, full text, reviewer name, photo count and owner responses, as structured fields rather than scraped blobs.
  • AI pain-point analysis. Optional LLM teardown that turns a pile of reviews into ranked complaint themes with supporting quotes. Nothing else on the Store does this.
  • Review insights. Optional computed summary per business: rating distribution, recent-vs-lifetime trend, and the phrases that keep recurring.
  • Proxy included. Residential routing is built in at no extra cost. You do not need Apify's RESIDENTIAL add-on, and you do not need to configure anything.

Two ways to start

By business URL — fastest when you already know the businesses:

{
"startUrls": [{ "url": "https://www.yelp.com/biz/gary-danko-san-francisco" }],
"scrapeReviews": true,
"maxReviews": 200
}

By category and city — when you want every business in a market:

{
"searchTerms": ["plumbers"],
"searchLocation": "Chicago, IL",
"scrapeReviews": true,
"maxReviews": 100,
"maxItems": 50
}

Use one or the other. Filling both scrapes the URLs and the whole category, which costs more than you probably intended.

Input

FieldTypeDefaultDescription
startUrlsarrayYelp business page URLs to pull reviews from
searchTermsarrayCategory search, e.g. ["plumbers"]. Needs searchLocation
searchLocationstringCity or region for the category search, e.g. "Chicago, IL"
searchSortBystringSort order for search results
scrapeReviewsbooleantruePull the full review list per business
maxReviewsinteger200Cap on reviews per business
reviewInsightsbooleanfalseRating distribution, trend and recurring phrases. Billed per business
painPointAnalysisbooleanfalseAI complaint-theme teardown. Paid plans, billed per business
maxItemsinteger1000Cap on businesses returned
useCachedDatabooleantrueReuse recent results instead of refetching
maxCacheAgeDaysintegerHow stale cached data may be
proxyobjectOptional override. Leave empty to use the built-in residential proxy

Output

One row per business, with reviews nested:

{
"rating": 4.5,
"reviewCount": "6140 reviews",
"url": "https://www.yelp.com/biz/gary-danko-san-francisco",
"reviews": [
{
"type": "review",
"reviewId": "bk9F7IbAlP7unixO-Wsoig",
"rating": "5",
"text": "Wife and I came here for our Anniversary...",
"createdAt": "2026-07-14",
"user": { "name": "…", "reviewCount": 42 },
"photos": [],
"ownerReply": null
}
]
}

Export as JSON, CSV, Excel or XML from the dataset, or read it straight from the API.

Use cases

  • Reputation monitoring — track how a location's rating moves over time and catch complaint spikes early.
  • Competitor teardown — pull a rival's reviews and let the pain-point analysis rank what their customers complain about.
  • Market research — collect every review in a category and city to find the gaps nobody is serving.
  • Review-response workflows — feed unanswered reviews into a drafting pipeline.
  • Training data — sentiment and rating pairs at volume.

Cost

Pay per event. You are charged for the businesses returned and the reviews collected, plus the optional insight and analysis add-ons if you enable them. Lower maxReviews to control spend on businesses with thousands of reviews, and set Apify's Max charge field on the run for a hard ceiling.

FAQ

Do I need a Yelp account or API key? No. Everything comes from public pages.

Do I need Apify's RESIDENTIAL proxy add-on? No. Residential routing is built in. Leaving the proxy field empty is the intended setup.

How many reviews can it get? As many as Yelp publishes for that business, bounded by maxReviews.

Why did I get fewer reviews than I asked for? The business has fewer than your cap, or Yelp filtered some as "not recommended" — those are not on the public list.

Can I get reviews from a date range? Reviews carry their posted date, so filter downstream on createdAt.

Does it get business contact details and emails too? This listing is reviews-focused. For business data with contact-email enrichment, use Yelp Leads & Business Scraper.

Support

Open an issue on the actor's Issues tab. Include the run ID — it makes problems much faster to pin down.

🤖 For AI agents & LLM apps

Callable over the Apify API and MCP. Pass startUrls for a known business or searchTerms + searchLocation to discover businesses first. The dataset is one row per business with a reviews array, which suits retrieval and summarisation directly. Keep maxReviews modest for interactive use — review collection dominates runtime.

⚠️ Disclaimer

This actor collects publicly available information from Yelp business pages. Use the data in line with Yelp's terms and applicable law, including data-protection rules where review content contains personal data. You are responsible for how you use what you collect.