Yelp Business Review Scraper avatar

Yelp Business Review Scraper

Pricing

$0.90 / 1,000 reviews

Go to Apify Store
Yelp Business Review Scraper

Yelp Business Review Scraper

Collect full-text reviews from public Yelp businesses. Use URLs, aliases, IDs, or one search query and location, then save ratings, dates, source links, vote counts, and photos. Leave the per-business limit blank to collect all available reviews until the source is exhausted.

Pricing

$0.90 / 1,000 reviews

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

⭐ Read Yelp Business Reviews as Structured Data

Researchers, marketers, and business teams can collect public Yelp business reviews in a structured dataset. Each saved row gives you the full review text, star rating, posting date, language, source links, vote counts, and photos, so you can study customer feedback without copying pages by hand.

Use cases

📄 Yelp Review Rows You Can Analyze

Returned data

Each dataset row is one review found for a selected public Yelp business. The row includes full text, a 1 to 5 rating, the posting date, an ISO 639-1 language code, business and review IDs, direct Yelp links, useful, funny, and cool counts, and review photos. If requested, it can also include reviewer profile details. An owner reply is included when one is available.

This Actor collects Yelp review data only. It does not add general business profile fields such as hours, phone numbers, or categories.

▶️ Find a Yelp Business and Collect Its Reviews

How to run

Choose one Target: Business URLs, Business aliases, Business IDs, or Search by query and location. Add values only to the fields for that Target. For search, enter one query and one location. Set any review options, start the run, and open the dataset link in the output.

Source choice

Use a public Yelp URL, alias, or ID for a known business. Use Search by query and location when you want the Actor to find businesses first. The Actor then collects reviews for the businesses it finds.

Wait less

Set a smaller Maximum reviews per business when you need a quick sample. Leave it blank to collect all available reviews until the source is exhausted.

⚙️ Input

Input fields

FieldTypeWhat it does
targetstringSelect one source mode: businessUrls, businessAliases, businessIds, or queryLocation.
businessUrlsarray of objectsWhen Target is Business URLs, add one or more objects with a public Yelp business URL.
businessAliasesarray of stringsWhen Target is Business aliases, add one or more Yelp business aliases.
businessIdsarray of stringsWhen Target is Business IDs, add one or more Yelp business IDs.
searchQuerystringWhen Target is Search by query and location, enter the business type or name to find.
searchLocationstringWhen Target is Search by query and location, enter the city, region, or country to search.
maxReviewsPerBusinessintegerOptional per-business cap. Leave it empty to collect all available reviews until the source is exhausted.
reviewLanguagestringOptional two-letter ISO 639-1 language code, or leave it empty to include every language.
reviewOrderstringChoose newest, yelpOrder, or rating for the order of returned reviews.
eliteOnlybooleanWhen on, include only reviews from Yelp Elite members.
includeReviewerProfilebooleanWhen on, add reviewer name, location, profile link, activity counts, and Elite status when available.

Successful input example

This example is copied from a successful run on the current beta build.

{
"target": "businessUrls",
"businessUrls": [
{
"url": "https://www.yelp.com/biz/joes-pizza-new-york-148"
}
],
"maxReviewsPerBusiness": 10
}

🧾 Output

Run output

FieldTypeWhat it does
datasetstringLink to the review records saved by the run.

Review record fields

FieldTypeWhat it does
businessNamestringName of the Yelp business.
businessIdstringStable Yelp ID for the business.
businessUrlstringDirect link to the Yelp business page.
reviewIdstringStable Yelp ID for the review.
reviewUrlstringDirect link to the Yelp review.
reviewTextstringFull text of the review.
reviewRatingnumberStar rating given in the review, from 1 to 5.
reviewDatestringDate and time when the review was posted.
reviewLanguagestringISO 639-1 language code for the review.
usefulCountintegerNumber of useful votes for the review.
funnyCountintegerNumber of funny votes for the review.
coolCountintegerNumber of cool votes for the review.
photosarray of objectsPhotos attached to the review. This array can be empty.
photos.urlstringDirect link to an attached review photo.
photos.captionstringCaption for an attached review photo when available.
reviewerProfileobjectReviewer details when reviewer profiles are requested.
reviewerProfile.namestringName shown on the Yelp reviewer profile.
reviewerProfile.locationstringLocation shown on the Yelp reviewer profile.
reviewerProfile.profileUrlstringDirect link to the Yelp reviewer profile.
reviewerProfile.reviewCountintegerNumber of reviews shown on the reviewer profile.
reviewerProfile.friendCountintegerNumber of friends shown on the reviewer profile.
reviewerProfile.photoCountintegerNumber of photos shown on the reviewer profile.
reviewerProfile.isElitebooleanWhether the reviewer is a Yelp Elite member.
ownerReplyobjectBusiness owner reply when one is available.
ownerReply.ownerNamestringName shown for the business owner reply.
ownerReply.textstringFull text of the business owner reply.
ownerReply.datestringDate and time when the owner reply was posted.

Successful review row

This unshortened row is copied from a successful current-beta run. It shows optional photos and reviewer profile data.

{
"businessName": "Joe's Pizza",
"businessId": "KEEXuHCYhsQJ-zpJhu98bA",
"businessUrl": "https://www.yelp.com/biz/joes-pizza-new-york-148",
"reviewId": "THgmarArbiRyVvZxuZSR-Q",
"reviewUrl": "https://www.yelp.com/biz/joes-pizza-new-york-148?hrid=THgmarArbiRyVvZxuZSR-Q",
"reviewText": "We shared individual slices of the Supreme, White with spinach & garlic, and Caprese.\n\nWhile Joe's Pizza is a famous chain always packed with tourists, it's honestly a solid NYC slice that everyone should try at least once. The crust has that perfect crispy yet chewy texture, the toppings are great, and because it's constantly busy, you know you're getting fresh pizza right out of the oven.\n\nService was fast with no issues. Just keep in mind that it's a small, high-traffic spot, so expect the floors and dining counters to be a bit messy.",
"reviewRating": 5,
"reviewDate": "2026-08-20T08:41:18Z",
"reviewLanguage": "en",
"usefulCount": 0,
"funnyCount": 0,
"coolCount": 0,
"photos": [
{
"url": "https://s3-media0.fl.yelpcdn.com/bphoto/2jrYOKcN5ww1-YXDEPDIqw/o.jpg"
},
{
"url": "https://s3-media0.fl.yelpcdn.com/bphoto/VK2mNFtmJpZgqCaTdluE4Q/o.jpg"
},
{
"url": "https://s3-media0.fl.yelpcdn.com/bphoto/M9vO1cy_zvZD0ACb7QeEpw/o.jpg"
}
],
"reviewerProfile": {
"name": "Cody E.",
"location": "Brooklyn, NY",
"profileUrl": "https://www.yelp.com/user_details?userid=xSwFF3fl8Tn1u21Sv4xwsQ",
"reviewCount": 4,
"friendCount": 10,
"photoCount": 2,
"isElite": false
}
}

💳 Pricing

Event charged

One event covers each full-text review returned with its rating and posting date. The price shown for this event is $0.0009. There is no separate one-time event in the pricing panel.

🔌 Integrations

Video guide

Dataset access

Use the output dataset link to read the rows in Apify. You can export the dataset as JSON or CSV, or read it through the Apify API.

❓ FAQ

Do I need a Yelp API key or account?

No. The Actor works with public Yelp business pages and does not require a Yelp API key or Yelp account setup.

Yes. Choose one Target and fill in its fields. Use a business URL, alias, or ID for a known business. Use Search by query and location to find businesses first, then collect their reviews.

Can I collect all available reviews?

Yes. Leave Maximum reviews per business empty to collect all available reviews until the source is exhausted. A numeric value limits the number collected for each business.

Can I filter or sort the reviews?

Yes. Set a two-letter ISO 639-1 language code, choose Newest first, Yelp order, or Highest rating first, and turn on Elite reviews only when needed.

What reviewer and owner details can I get?

Turn on Include reviewer profiles to request reviewer names, locations, profile links, activity counts, and Elite status. An owner reply appears when Yelp provides one.

Does this collect Google Maps reviews?

No. This Actor is limited to Yelp review collection.

Can I export the data?

Yes. Open the dataset from the run output and export the structured rows as JSON or CSV, or read them through the Apify API.

📝 Changelog

0.0: Initial release

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré