Yelp Review Scraper avatar

Yelp Review Scraper

Pricing

from $1.00 / 1,000 reviews

Go to Apify Store
Yelp Review Scraper

Yelp Review Scraper

Scrape reviews from Yelp.com

Pricing

from $1.00 / 1,000 reviews

Rating

2.2

(3)

Developer

Tri⟁angle

Tri⟁angle

Maintained by Apify

Actor stats

31

Bookmarked

1.3K

Total users

127

Monthly active users

4.4 days

Issues response

5 days ago

Last modified

Categories

Share

Yelp Reviews Scraper

Extract every review from any Yelp business page — review text, star rating, date, reviewer details, attached photos and the owner's public reply — and download it as JSON, CSV or Excel.

Paste one or more Yelp business URLs, run it, and get one clean row per review.

What you can do with it

  • Monitor your own reputation — pull every review for your locations and track ratings over time.
  • Watch competitors — see what customers praise or complain about at nearby businesses.
  • Research a market — collect reviews across many businesses and analyse sentiment or themes at scale.
  • Feed dashboards and AI tools — export straight to your BI tool, spreadsheet or an LLM for summarising.

Features

  • Every review, not just the first page — pagination is handled for you.
  • All languages, or just one — leave the language empty to collect reviews in every language a business has, or pick a single one.
  • Filter by date — collect only reviews from a period you care about.
  • Owner replies included — the business's public response to each review, when there is one.
  • Photos included — direct image links for photos attached to reviews.
  • Any Yelp domain worksyelp.com, yelp.co.uk, yelp.ca, yelp.com.au, yelp.cz and the rest.
  • No setup — no proxy configuration, no login, no browser.

How to use it

  1. Open the business page you want on Yelp and copy its URL.
  2. Paste it into Start URLs. Add as many businesses as you like.
  3. Optionally set a review cap, a language, or a date range.
  4. Click Start and wait for the run to finish.
  5. Download your results from the Storage tab as JSON, CSV, Excel or XML — or grab them through the API.

Input

FieldRequiredDescription
Start URLsYesYelp business page URLs, e.g. https://www.yelp.com/biz/bar-54-new-york-2.
Max reviews per businessNoStop after this many reviews for each business. Leave empty for all of them.
LanguageNoPick one language, or leave it on All to collect every language the business has reviews in.
Start DateNoOnly reviews posted on or after this date.
End DateNoOnly reviews posted on or before this date.

You can set all of this in the visual input form — the JSON below is just what it looks like underneath.

{
"startUrls": [{ "url": "https://www.yelp.com/biz/bar-54-new-york-2" }],
"maxReviewsPerUrl": 30,
"language": "en",
"dateFrom": "2024-01-01"
}

Output

One row per review. Example:

{
"id": "8xL2mJqR3vTnQ1wZ",
"businessId": "kO5Yj9pQfLmXnR2tV8sHwA",
"businessName": "Bar 54",
"businessUrl": "https://www.yelp.com/biz/bar-54-new-york-2",
"businessAddress": "135 W 45th St, New York, NY 10036, United States",
"overallRating": 3.5,
"reviewCount": 1284,
"date": "2024-08-14T18:32:07Z",
"rating": 5,
"text": "Great rooftop views and the cocktails were excellent.",
"language": "en",
"reactionHelpfulCount": 4,
"reactionThanksCount": 1,
"reactionLove_thisCount": 0,
"reactionOh_noCount": 0,
"reviewerName": "Jamie L.",
"reviewerUrl": "https://www.yelp.com/user_details?userid=nQ7vB2xK",
"reviewerReviewCount": 87,
"reviewerLocation": "Brooklyn, NY",
"photoUrls": ["https://s3-media0.fl.yelpcdn.com/bphoto/abc123/o.jpg"],
"ownerResponse": "Thanks for visiting, Jamie!",
"ownerResponseDate": "2024-08-16T09:11:44Z"
}

Notes on a few fields:

  • rating is the reviewer's stars for this review; overallRating and reviewCount describe the business as a whole.
  • businessUrl always repeats the URL you entered, so results are easy to match back to your input list.
  • ownerResponse and ownerResponseDate are empty when the business never replied.
  • reactionHelpfulCount, reactionThanksCount, reactionLove_thisCount and reactionOh_noCount are the Helpful / Thanks / Love this / Oh no reactions other Yelp users left on the review.

In the Storage tab, switch from Overview to All fields to see every column.

Tips

  • Start with a small Max reviews per business to check the output looks right, then re-run without it.
  • Two URLs that point at the same business share one review budget, so duplicates in your input list won't double-count.
  • Popular businesses can have thousands of reviews. A date range or a review cap keeps runs short and cheap.
  • Reviews come newest first, so a Start Date filter finishes quickly — it stops as soon as it passes your cut-off.

FAQ

Do I need a proxy or a Yelp account? No. Everything is handled for you.

Can I scrape search results or a whole city? Not with this Actor — it takes business page URLs. To collect business listings first, use a Yelp business/search scraper, then feed those URLs in here.

Why did I get fewer reviews than the business shows? Check your date range and language filter. Yelp also keeps some reviews behind a "not recommended" section that isn't part of the main review feed.

Is scraping Yelp legal? Collecting publicly available information is generally accepted, but reviews contain personal data such as reviewer names. You are responsible for using the data lawfully, including under GDPR and similar rules. If you're unsure, take legal advice.

Something looks broken. Yelp changes its site from time to time. Open an issue on the Actor's Issues tab and it'll be looked at.