Yelp Reviews Scraper - Most Comprehensive avatar

Yelp Reviews Scraper - Most Comprehensive

Pricing

from $0.04 / 1,000 reviews

Go to Apify Store
Yelp Reviews Scraper - Most Comprehensive

Yelp Reviews Scraper - Most Comprehensive

🔥 ~$0.05/1K reviews 🔥 Scrape all reviews for any Yelp business. Full review text, ratings, author profiles, photos, reactions, owner replies. Accepts business URLs or aliases.

Pricing

from $0.04 / 1,000 reviews

Rating

0.0

(0)

Developer

Kai

Kai

Maintained by Community

Actor stats

0

Bookmarked

332

Total users

16

Monthly active users

4 days ago

Last modified

Share

Yelp Reviews Scraper

Collect Yelp reviews and business details as structured data. Start with business URLs, aliases, or encrypted business IDs.

Use it to analyse review text, compare ratings, monitor customer feedback, or collect Yelp business profiles with their reviews.

Collect reviews for a business

Use a business URL

Run one business by URL:

{
"businesses": [
"https://www.yelp.com/biz/gary-danko-san-francisco"
]
}

Use an alias or business ID

Use an alias or a 22-character encrypted business ID:

{
"businesses": [
"WavvLdfdP6g8aZTtbBQHTw"
],
"maxReviewsPerBusiness": 10
}

Filter and sort reviews

{
"businesses": ["gary-danko-san-francisco"],
"sortBy": "RATING_ASC",
"ratings": ["1", "2"],
"maxReviewsPerBusiness": 50
}

Search review text

{
"businesses": ["gary-danko-san-francisco"],
"query": "service",
"maxReviewsPerBusiness": 20
}

Request a language view

Request Yelp's German language view and translations:

{
"businesses": ["gary-danko-san-francisco"],
"languageCode": "de",
"maxReviewsPerBusiness": 20
}

Input reference

FieldTypeDefaultDescription
businessesstring[][]Yelp business URLs, aliases, or 22-character encrypted business IDs. Add at least one entry to collect data. Requested targets are processed in input order, including repeated references.
sortBystringDATE_DESCDATE_DESC, DATE_ASC, RATING_DESC, RATING_ASC, or ELITES_DESC.
ratingsstring[]["1","2","3","4","5"]Zero or more star ratings from "1" through "5". An empty selection means all ratings, and repeated values are accepted.
maxReviewsPerBusinessinteger20Maximum saved reviews per business. Use 0 to remove the Actor-set cap.
querystring or null""Optional review search text. null is also accepted and treated as no query. Search results use Yelp's relevance order.
languageCodestring"en"Yelp language code such as en, de, or zh. Blank strings are passed to Yelp unchanged.
proxyConfigurationobject{"useApifyProxy":true}Connection configuration accepted by the Actor.

A raw 22-character value that contains letters, numbers, _, or - is interpreted as an encrypted business ID. Use the full Yelp URL if a business alias has that exact shape.

Complete input reference example

Where results are saved

The default dataset stores reviews in Yelp's returned order. The Actor does not re-sort the response, and it preserves repeated rows. The businesses dataset stores one business profile for each resolved target, including a valid business that has no matching reviews.

Review dataset

Each review item includes business identity, rating, text, language and time values, public author data, feedback counts, media, business replies, review history, tags, and the collection time.

Review fields

Root fieldTypeFixed child fields and meaning
idstringOpaque review ID.
businessAlias, businessName, businessEncIdstringResolved business identity. businessEncId is opaque.
ratingnumberStar rating.
textstringReview text. Search results can include source highlight markers.
translatedTextstring or nullSource-provided translation.
languagestringSource language code.
createdAt, localDateTimestring or nullUTC and business-local date-time values.
authorobjectid, displayName, and displayLocation are strings; review, friend, and photo counts are numbers; eliteYear and profilePhotoUrl are strings or null; isEliteAllStar is boolean.
feedbackobjectusefulCount, funnyCount, and coolCount are numbers. Missing source counts become 0.
reactionsobject[]Each item has string type and number count. Only reactions with a count greater than zero are saved.
photosobject[]Each item has string id, url, and caption; number helpfulCount and likeCount; nullable number width and height; nullable string uploadedAt; string[] keywords; and nullable uploadingUser with string id and displayName.
videosobject[]Each item has string id, url, and caption, plus number helpfulCount.
ownerReplystring or nullPublic business reply text.
previousReviewIdsstring[]Opaque IDs for earlier reviews in the same history.
tagsobjectcheckInCount is a number; reservation provider is a string or null; the other child fields are booleans.
expertRecognitionobject or nulldisplayName is a string and reviewCount is a number.
userSpecifiedTimeOfExperiencestring or nullSource-provided experience time.
scrapedAtstringUTC time when the Actor saved the record.

Optional fields and arrays depend on the review. translatedText, ownerReply, expertRecognition, and userSpecifiedTimeOfExperience can be null. reactions, photos, videos, and previousReviewIds can be empty. Photo width, height, uploadedAt, and uploadingUser fields can be null; keywords is an array.

Saved review example

These selected, unchanged fields came from one saved result on 2026-07-30. This is a partial sample. The reference above covers the omitted fields.

{
"id": "4c5hsfXxkQnRs_gierUmvQ",
"businessAlias": "gary-danko-san-francisco",
"businessName": "Gary Danko",
"businessEncId": "WavvLdfdP6g8aZTtbBQHTw",
"rating": 5,
"text": "Amazing Food! Service was superb! My wife and I really enjoy our Anniversary dinner! It was our first visit to SF in a long a time. We brought our daughter and we feel in love of the food. Very beautiful setting inside restaurant.",
"translatedText": null,
"language": "en",
"createdAt": "2026-07-27T21:02:17Z",
"localDateTime": "2026-07-27T14:02:17-07:00",
"feedback": {
"usefulCount": 0,
"funnyCount": 0,
"coolCount": 0
},
"reactions": [],
"photos": [],
"ownerReply": null,
"scrapedAt": "2026-07-30T05:20:11.595Z"
}

Business dataset

Each business item includes its identity, rating and review counts, language counts, photo and category data, status, location, contact fields, hours, public page sections, and collection time. Optional page sections can be null.

Business fields

The tables below cover every business root and each fixed child shape. A field marked as open can contain source-defined child keys in addition to the fixed outer field.

Root fieldTypeMeaning or fixed child fields
id, alias, namestringBusiness identity. id is opaque.
rating, reviewCountnumberOverall rating and review total.
reviewCountsByRatingnumber[]Counts for ratings 1 through 5 in that order.
reviewCountsByLanguageobject[]Each item has string language and number count.
primaryPhotoUrlstring or nullPrimary business image.
categoriesobject[] or nullEach item has string alias and title. Direct-ID input can make this field null.
isClosed, isClaimed, isYelpAdvertiser, isMultiloc, hasStorefrontAddressboolean or nullPage-derived business status flags.
closedUntilstring or nullSource-provided closure value.
yearEstablishednumber or nullPage-derived establishment year.
locationobject or nulladdress is an open object or null; neighborhoods is a string array; timezone is a string or null.
phoneNumber, meteredPhoneNumberstring or nullPage-derived contact values.
operationHoursopen object or nullSource-defined hours data.
priceRangestring or nullSource display value.
specialties, summarystring or nullSource descriptive text.
alternateNamesstring[] or nullOther business names.
ambiance, yelpMenu, serviceArea, searchStatsopen object or nullSource-defined data groups.
logostring or nullLogo value.
externalResourcesobject or nullmenuUrl, websiteUrl, and orderUrl; each is a string or null.
messaging, onlineOrderingboolean or nullAvailability flags.
mediaobject or nullphotoCount and videoCount are numbers.
notRecommendedReviewCountnumber or nullSource count.
reviewHighlightsstring[] or nullSource highlight text.
healthInspections, verifiedLicensesopen object[] or nullSource-defined records.
attributesobject[] or nullEach item has string name and alias, plus boolean isActive.
menuVerbiageobject or nullnoun and link are strings.
consumerAlertobject or nullalertType and isHarsh; both can be null.
bizOwnerProfileobject or nulldisplayName, role, bio, and photoUrl; each can be null.
dataFreshnessobject or nullverificationType and label; each can be null.
isCommunityQuestionsEnabled, isConnectEnabled, isItemListSchemaEnabledboolean or nullFeature flags.
communityQuestionCount, postCountnumber or nullSource counts.
containerBusinessstring or nullOpaque parent-business value.
categoryGroupsobject or nullisRFN and isPLAH are booleans.
associatedSearchesobject[] or nullEach item has string phrase and url.
internalLinksobject or nullIts three child fields are arrays of objects with string text and url.
jobPricingobject or nullisEligible is boolean.
jobsobject or nullisVerifiedByBizOwner is boolean; offeredJobs is an array of open source objects.
authoritativeAttributesobject[] or nullEach item has string alias and displayText, plus boolean boolValue.
videoCarouselItemsobject[] or nullEach item has string videoUrl; thumbnailUrl and caption are strings or null.
reviewSnippetsobject[] or nullEach item has string id and text.
categoryDetailsobject[] or nullEach item has string alias, title, and encid, plus string or null rootAlias.
countryCodestring or nullCountry code.
formattedPhonestring or nullFormatted contact value.
formattedAddressobject or nulladdressLine1, city, regionCode, and postalCode are strings.
isCurrentlyOpenboolean or nullCurrent open-state value.
regularHoursRawobject[] or nullEach item has string dayOfWeekShort, string[] hours, and number[][] rawMinutes.
upcomingSpecialHoursopen object[] or nullSource-defined special-hour records.
photoTabsobject[] or nullEach item has string label and alias, plus number count.
businessOwnerVideoobject or nullvideoUrl is a string; thumbnailUrl is a string or null.
categoryAncestryobject[] or nullEach item has string alias and title, plus ancestry objects with string alias and title.
logoHasPurchasedboolean or nullSource logo flag.
regularHoursLastUpdatedstring or nullSource update time.
costGuidesobject[] or nullEach item has string categoryAlias and links with string text and url.
partnerDataobject or nullctaType is a string; linkoutUrl is a string or null.
coordinatesobject or nulllatitude and longitude are numbers. Direct-ID input can make this field null.
scrapedAtstringUTC time when the Actor saved the record.

Optional page-derived fields can be null. upcomingSpecialHours and costGuides can be empty arrays. businessOwnerVideo, regularHoursLastUpdated, and partnerData.linkoutUrl can be null.

Saved business example

These selected, unchanged fields came from the matching saved business record. This is a partial sample. The reference above covers the omitted fields.

{
"id": "WavvLdfdP6g8aZTtbBQHTw",
"alias": "gary-danko-san-francisco",
"name": "Gary Danko",
"rating": 4.5,
"reviewCount": 6133,
"reviewCountsByRating": [124, 216, 484, 1095, 4219],
"reviewCountsByLanguage": [
{
"language": "en",
"count": 6135
},
{
"language": "zh",
"count": 2
},
{
"language": "de",
"count": 1
}
],
"primaryPhotoUrl": "https://s3-media0.fl.yelpcdn.com/bphoto/5dbjkeTld05HumeToIAhRQ/60s.jpg",
"coordinates": {
"latitude": 37.805823482811675,
"longitude": -122.42060564460563
},
"countryCode": "US",
"formattedAddress": {
"addressLine1": "800 N Point St",
"city": "San Francisco",
"regionCode": "CA",
"postalCode": "94109"
},
"isCurrentlyOpen": false,
"scrapedAt": "2026-07-30T05:20:11.582Z"
}

Known limits

  • Yelp controls search matching and relevance. A term without an exact text match can still return broader results.
  • Search can ignore sortBy and the rating filter. Combining search with a non-English language can also produce no matches.
  • Translation and optional enrichment fields depend on what Yelp returns for the business and language.
  • maxReviewsPerBusiness: 0 removes the Actor-set review cap.
  • Direct-ID input can omit fields that are available only on the public business page.
  • Yelp can change or temporarily restrict its public responses.