Yelp Reviews Scraper avatar

Yelp Reviews Scraper

Pricing

from $0.30 / 1,000 results

Go to Apify Store
Yelp Reviews Scraper

Yelp Reviews Scraper

Export Yelp reviews with star rating, full text, date, language, photos, reactions and reviewer name, location and review count. Paste Yelp links or aliases, scrape many businesses in one run, sort by newest or lowest and filter by star rating.

Pricing

from $0.30 / 1,000 results

Rating

0.0

(0)

Developer

Scrappa

Scrappa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Export the Yelp reviews of any business as one clean row per review: star rating, full text, date and time, language, photos, the helpful, thanks, love this and oh no reactions, and the reviewer's name, location and review count. Paste Yelp links or aliases, add up to 100 businesses per run, sort by newest, oldest, highest, lowest or elite reviewers, and keep only one star rating if you want. Each row also carries the business name and alias, so you can compare businesses in one sheet.

What data can you extract?

FieldTypeDescription
review_idStringYelp ID of the review.
ratingIntegerStar rating from 1 to 5.
textStringFull review text.
created_atStringISO 8601 date and time in UTC when the review was posted.
languageString or nullTwo-letter language code of the review, such as en.
author_nameStringPublic Yelp name of the reviewer, such as Dana R.
author_locationString or nullHome town of the reviewer as shown on Yelp.
author_review_countInteger or nullNumber of reviews the reviewer wrote on Yelp.
author_friend_countInteger or nullNumber of Yelp friends of the reviewer.
author_idStringYelp user ID of the reviewer.
author_urlStringYelp profile page of the reviewer.
photosArray<String> or nullLinks to the photos the reviewer added.
helpful_countInteger or nullNumber of Helpful reactions. Null when there are none.
thanks_countInteger or nullNumber of Thanks reactions. Null when there are none.
love_this_countInteger or nullNumber of Love this reactions. Null when there are none.
oh_no_countInteger or nullNumber of Oh no reactions. Null when there are none.
review_urlStringLink to the review on Yelp.
business_aliasStringYelp alias of the business.
business_nameStringName of the business.
business_idString22-character Yelp business ID.
business_urlStringYelp page of the business.
business_review_countInteger or nullTotal number of Yelp reviews of the business.
input_businessStringThe link, alias or ID from your input.
scraped_atStringUTC date and time when this record was collected.

Use cases

  • Restaurant and shop owners can track new Yelp reviews of their own business and their competitors.
  • Agencies can collect the 1 and 2 star reviews of a business to find what customers complain about.
  • Analysts can measure customer sentiment across many branches of a chain.
  • Data teams can build training sets for review summaries and sentiment models.
  • Marketing teams can find authentic 5 star customer quotes for websites and ads.

How to use

  1. Add one entry per business to businesses, with a Yelp link such as https://www.yelp.com/biz/pequods-pizza-chicago-3 or an alias.
  2. Optional: set sort to newest for the latest reviews, and rating to a star rating from 1 to 5.
  3. Set maxResults to the number of reviews you want for each business.
  4. Start the run. Each review gives one dataset row with the business name and alias.
{
"businesses": [
{
"business": "https://www.yelp.com/biz/pequods-pizza-chicago-3"
}
],
"sort": "newest",
"maxResults": 20
}

Input

FieldTypeRequiredDescription
businessesArray<object>YesYelp businesses to scrape, one per entry. Paste the Yelp link, the alias or the business ID. Each entry can set its own sort order and star rating filter.
businesses[].businessstringYes per entryYelp business alias such as gary-danko-san-francisco, the 22-character business ID, or the yelp.com/biz link. The Actor reads the alias after /biz/ in the link.
businesses[].sortstringNoOrder of the reviews. Leave empty for the Yelp default order (most relevant).
businesses[].ratingintegerNoOnly reviews with exactly this star rating, from 1 to 5. Leave empty for all ratings.
sortstringNoOrder of the reviews. Leave empty for the Yelp default order (most relevant).
ratingintegerNoOnly reviews with exactly this star rating, from 1 to 5. Leave empty for all ratings.
maxResultsintegerNoMaximum reviews to save for each business. Yelp returns 10 reviews per page.
maxPagesintegerNoMaximum pages to request for each batch entry.

Output example

{
"review_id": "Hk3vQ8mZp1LcW7rT2yBn5A",
"rating": 5,
"text": "The al pastor tacos are the best I have had in Austin. Tortillas are made right in front of you and the green salsa has real heat. We waited ten minutes on a Friday night, which was fine.",
"created_at": "2026-10-18T19:47:10Z",
"language": "en",
"author_name": "Dana R.",
"author_location": "Round Rock, TX",
"author_review_count": 87,
"author_friend_count": 12,
"author_id": "Rf2LxK9wQm4TzB7cN1pVhg",
"author_url": "https://www.yelp.com/user_details?userid=Rf2LxK9wQm4TzB7cN1pVhg",
"photos": [
"https://s3-media0.fl.yelpcdn.com/bphoto/Tq8vYb2NcL5mWx1Rk7Ha3g/o.jpg"
],
"helpful_count": 3,
"thanks_count": 1,
"love_this_count": 2,
"oh_no_count": 1,
"review_url": "https://www.yelp.com/biz/la-cocina-roja-austin?hrid=Hk3vQ8mZp1LcW7rT2yBn5A",
"business_alias": "la-cocina-roja-austin",
"business_name": "La Cocina Roja",
"business_id": "q7Lm2Xc9RtYv4BnW8aKd1Q",
"business_url": "https://www.yelp.com/biz/la-cocina-roja-austin",
"business_review_count": 1284,
"input_business": "https://www.yelp.com/biz/pequods-pizza-chicago-3",
"scraped_at": "2026-10-01T12:00:00Z"
}

Pricing

$0.38 per 1,000 results. Apify saves one dataset item per result and applies the Actor’s per-result price to saved items.

Pagination follows the source response. Set maxPages per batch entry and maxResults for each entry.

FAQ

Rules depend on the source, location, data type, and intended use. Check applicable laws and source terms, and make sure your workflow follows privacy and data protection requirements.

What limits apply?

Submit up to 100 batch entries per run. Use maxResults to cap saved items for each entry and maxPages to limit pages for each entry. Results also depend on source availability and your Scrappa API plan.

Can I start runs through the Apify API?

Yes. Send a POST request to https://api.apify.com/v2/acts/thescrappa~yelp-reviews-scraper/runs with your Actor input, or use an Apify client library. Read the output from the run dataset.

Can I connect the results to other tools?

Yes. Apify integrations and APIs can pass dataset results to Make, Zapier, n8n, Google Sheets, and other data workflows.

What happens when one input fails?

The Actor logs a short source error and continues with the remaining entries. Transient rate limits and gateway errors are retried; if every entry fails, the run reports an error.

How many reviews can I get for one business?

Up to 2,000 per business and run, 10 per page. Set maxResults to stop earlier. Yelp may show fewer reviews than the review count on the page, because it hides reviews that its software does not recommend.

How do I get only new reviews?

Set sort to newest and maxResults to a small number, such as 20. Run it on a schedule and keep the review_id to skip reviews you already have.

Why are the reaction counts or photos sometimes empty?

The fields are null when nobody reacted to the review or the reviewer added no photos.