Yelp Business Scraper - Leads, Emails, Contacts & Reviews avatar

Yelp Business Scraper - Leads, Emails, Contacts & Reviews

Pricing

from $37.82 / 1,000 business results

Go to Apify Store
Yelp Business Scraper - Leads, Emails, Contacts & Reviews

Yelp Business Scraper - Leads, Emails, Contacts & Reviews

Scrape Yelp businesses by keyword and location or by URL. Get name, categories, rating, reviews, price, phone, website, emails and socials, full address, coordinates, hours, attributes, menu, health score and photos. Optional AI lead scoring. Export to JSON, CSV or Excel.

Pricing

from $37.82 / 1,000 business results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

12 days ago

Last modified

Share

Yelp Business Scraper - Leads, Emails, Contacts & Reviews

Yelp Business Scraper - Leads, Emails, Contacts & Reviews

Here is one real result (a lead from plumbers in Chicago, IL with contact enrichment, review highlights and AI lead scoring turned on). Long text fields are shortened here for readability, but nothing is invented and genuinely empty fields stay null:

{
"searchTerm": "plumbers",
"location": "Chicago, IL",
"businessId": "PsL6IZ3hL2ICBpFfvV_BIQ",
"alias": "rosso-handyman-services-chicago",
"businessName": "Rosso Handyman Services",
"yelpUrl": "https://www.yelp.com/biz/rosso-handyman-services-chicago",
"categories": ["Electricians", "Plumbing", "Water Heater Installation/Repair"],
"primaryCategory": "Electricians",
"rating": 4.8,
"reviewCount": 51,
"priceLevel": null,
"phone": "(773) 941-1112",
"address": "5407 N Christiana Ave, Chicago, IL 60625",
"street": "5407 N Christiana Ave",
"city": "Chicago",
"state": "IL",
"postalCode": "60625",
"country": "US",
"latitude": 41.979678,
"longitude": -87.712139,
"neighborhoods": ["North Park"],
"timezone": "America/Chicago",
"isAd": true,
"website": "https://rossohandyman.com/contact-2/",
"websiteDisplayUrl": "https://rossohandyman.com",
"hours": ["Mon: Open 24 hours", "Tue: Open 24 hours", "Wed: Open 24 hours"],
"openNow": true,
"businessStatus": "Open",
"isClosedPermanently": false,
"claimed": true,
"yearEstablished": "2015",
"businessDescription": "Founded in 2015, I am excited and proud to serve the Chicago area, bringing over 30 years of contract and remodeling experience...",
"businessOwnerName": "Mo R.",
"attributes": ["ASL proficient", "Accepts cash", "Accepts Zelle"],
"amenityCount": 8,
"photoCount": 25,
"images": ["https://s3-media0.fl.yelpcdn.com/bphoto/kuuCA4x5BkufCUI0IGNxRA/o.jpg"],
"reviewHighlights": [
"Will definitely be calling him back for future projects!",
"Mohammed was always on time and attentive to details and able to spot other problems that needed to be fixed."
],
"reviews": [
{ "text": "Will definitely be calling him back for future projects!", "rating": null, "author": null, "date": null, "source": "review_highlight" }
],
"emails": ["abcrosso3@gmail.com"],
"socials": null,
"aiLeadScore": 85,
"aiLeadTier": "Hot",
"aiLeadRationale": "High rating and review count indicate strong customer satisfaction and visibility.",
"source": "yelp.com",
"observedAt": "2026-08-25T19:11:10.063Z"
}

One of the most complete Yelp business scrapers available. It returns every listing field Yelp exposes for a search, plus a deep detail pass that adds the full address with coordinates, opening hours, attributes and amenities, menu URL, health score, verified licenses, photos, owner name, year established, price and claimed status, plus emails and social profiles pulled from the business website and an optional AI lead score. Fourteen input filters let you target exactly the businesses you need, by keyword, location, direct URL, price, rating, open-now and feature attributes.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

Give the actor one or more search terms (a category or business type) and one or more locations (city and state, or a ZIP code), or paste direct Yelp business URLs. It runs each term in each location, paginates the results, and writes one normalized record per business to the run dataset. Every business comes back with its name, Yelp URL, categories, star rating, review count, price level, address and phone when Yelp lists it.

Three optional add-ons enrich each business further:

  • Contact and detail enrichment opens each business page and adds the full street address, city, state, ZIP and country, latitude and longitude, website, menu URL, opening hours, open-now status, attributes and amenities, verified licenses, health score, photos, year established, owner name, claimed status and a business description. It then reads the business website to pull emails and social profiles. This is the lead data most people want. It is off by default and charged only when a phone or website is found.
  • Review highlights adds the review excerpts Yelp publishes on the business page as a reviews array.
  • AI lead score rates each business as a sales prospect from 0 to 100, assigns a tier (Hot, Warm, Cold) and gives a one-line rationale.

Missing values are returned as null, never invented. Anti-bot handling is fully internal, so you do not configure proxies or supply any login.

How we compare

We checked the top direct Yelp scrapers on the Apify Store. Here is an honest, side-by-side view. We do not win on every axis and we say so.

Capabilityscrapers_lat (this actor)tri_angle/yelp-scraperweb_wanderer/yelp-reviews-scraperbeatanalytics/yelp-business-scrapermemo23/yelp-scraper
Input filters14518 (review-focused)518
Distinct output fields per business55+~25~35 (per review)~25~25
Search by keyword + locationYesYesYesYesYes
Direct business URLsYesYesYesYesYes
Price / rating / open-now / attribute filtersYes (all four)NoPrice + featuresNoSort only
Full address + coordinatesYesYesNoYesCity/state/ZIP
Hours + open-now + attributesYesYesNoYesHours only
Menu URL + health scoreYesHealth scoreNoYesNo
Verified licenses + owner name + yearYesPartialNoNoOwner name
Emails from business websiteYesNoNoNoYes
Social profiles from business websiteYesNoNoNoNo
ReviewsHighlight excerptsLimitedFull feed, deep filtersSibling actorFull feed
AI lead scoringYesNoNoNoAI review insights
Price per 1,000 businesses$20 to $40~$1.50n/a (per review)~$2.50~$2.75
Adoption (store users)Newer, low6,800+600+200+200+

Where competitors win, honestly:

  • Price. tri_angle at about $1.50 per 1,000 businesses is far cheaper than us, and web_wanderer bills reviews at about $0.30 per 1,000. We are the premium option because we clear Yelp's anti-bot layer with a paid unblocking transport and return a much wider field set. If your only need is a big cheap list of names and phones, tri_angle is the value pick.
  • Reviews depth. web_wanderer and memo23 return the full review-by-review feed with author, rating, date and reaction counts, plus per-review filters (language, keyword, date). Yelp does not expose full review bodies to plain HTTP clients, so we return the review highlight excerpts Yelp publishes on the business page, not the exhaustive feed. For deep review export, use one of those actors.
  • Adoption. tri_angle has thousands of users and a long track record. We are newer.

Where we win:

  • Widest single-record profile. 55+ populated fields per business, more than any direct competitor, in one row.
  • Only actor that returns emails and social profiles from the business website together with the full Yelp business profile and coordinates and health score and menu and AI lead scoring. memo23 does emails; nobody else combines all of it.
  • Strongest business-search filters: price, minimum rating, open-now and Yelp feature attributes, plus direct URLs and multi-term, multi-location runs.
  • No charge on failed or empty runs, internal anti-bot, no proxy or login setup.

Quickstart

Open the actor, paste this into the input, and press Run. It returns the 10 top coffee shops in Seattle.

{
"searchTerms": ["coffee"],
"locations": ["Seattle, WA"],
"maxBusinesses": 10,
"sortBy": "Most Reviewed"
}

For full leads with contacts, emails, socials, review highlights and AI lead scores (a paid Apify plan is required for add-ons):

{
"searchTerms": ["plumbers", "electricians"],
"locations": ["Austin, TX"],
"maxBusinesses": 50,
"minRating": 4,
"withContacts": true,
"scrapeReviews": true,
"withLeadScore": true
}

Scrape specific businesses by URL:

{
"businessUrls": [
"https://www.yelp.com/biz/gary-danko-san-francisco",
"https://www.yelp.com/biz/rosso-handyman-services-chicago"
],
"withContacts": true
}

Input reference

FieldTypeRequiredExampleDescription
searchTermsarray of stringsyes*["plumbers"]Categories or business types to search. Each term is searched in each location.
locationsarray of stringsyes*["Austin, TX"]Places to search: city and state, or a ZIP code. Each location is searched with every term.
businessUrlsarray of stringsno["https://www.yelp.com/biz/gary-danko-san-francisco"]Scrape these Yelp business pages directly by URL or alias. Combined with any search.
maxBusinessesintegerno10Maximum businesses to collect across the whole run. Free plans are capped at 10.
sortByenumnoMost ReviewedResult order: Recommended, Highest Rated, Most Reviewed, or Distance.
priceLevelsarray of stringsno["1","2"]Keep only these price levels: 1 = $, 2 = $$, 3 = $$$, 4 = $$$$. Empty for all.
openNowbooleannofalseOnly return businesses open at run time.
minRatingintegerno4Keep only businesses rated at least this many stars (1 to 5). 0 disables the filter.
attributesarray of stringsno["RestaurantsDelivery","WiFi"]Filter by Yelp feature attribute keys (for example hot_and_new, deals_v2, RestaurantsReservations, DogsAllowed, WheelchairAccessible).
maxImagesintegerno10Maximum photo URLs per business (detail pass only). 0 to skip images.
withContactsbooleannofalsePaid add-on. Detail page plus emails and socials from the business website. Charged only on a phone or website hit.
scrapeReviewsbooleannofalsePaid add-on. Add Yelp review highlight excerpts as a reviews array.
maxReviewsintegerno10Maximum review excerpts per business when review scraping is on.
reviewSortenumnoYelp SortPreferred review order: Yelp Sort, Newest First, Oldest First, Highest Rated, Lowest Rated.
withLeadScorebooleannofalsePaid add-on. AI lead score, tier and rationale per business. Charged only on a usable score.

* Provide searchTerms + locations, or businessUrls, or both. Add-ons are disabled on free Apify plans.

Output reference

One dataset item per business. Types: string, number, integer, boolean, string[], object[], or null when a value is absent.

FieldTypeDescription
searchTermstringSearch term that produced this business (null for direct URLs).
locationstringLocation searched (null for direct URLs).
businessIdstringYelp business id (encid).
aliasstringYelp business alias (URL slug).
businessNamestringBusiness name.
alternateNamesstring[]Alternate names, when listed.
yelpUrlstringFull Yelp business page URL.
categoriesstring[]All Yelp categories.
primaryCategorystringFirst listed category.
ratingnumberStar rating, 1 to 5.
reviewCountintegerNumber of reviews.
priceLevelstringPrice level $ to $$$$.
priceLevelNumberintegerPrice level as 1 to 4.
phonestringPhone number.
addressstringFormatted address.
streetstringStreet address (detail).
citystringCity (detail).
statestringState or region code (detail).
postalCodestringPostal or ZIP code (detail).
countrystringCountry code (detail).
latitudenumberLatitude (detail).
longitudenumberLongitude (detail).
neighborhoodsstring[]Neighborhoods.
serviceAreastringService area for mobile businesses.
timezonestringBusiness timezone (detail).
isAdbooleanWhether the listing was a sponsored slot.
rankPositionintegerPosition in the collected result set.
websitestringBusiness website (detail add-on).
websiteDisplayUrlstringDisplay form of the website (detail add-on).
menuUrlstringExternal menu URL (detail add-on).
hoursstring[]Opening hours by day (detail add-on).
openNowbooleanWhether the business is open at run time (detail add-on).
businessStatusstringOperational status (Open, Closed now, Permanently closed).
isClosedPermanentlybooleanWhether the business is permanently closed.
claimedbooleanWhether the owner has claimed the Yelp page (detail add-on).
verifiedLicensebooleanWhether a Yelp verified license is present (detail add-on).
licenseNumbersstring[]Verified license numbers (detail add-on).
licenseTradesstring[]Verified license trades (detail add-on).
yearEstablishedstringYear the business was established (detail add-on).
specialtiesstringBusiness specialties text (detail add-on).
businessDescriptionstringBusiness description or history (detail add-on).
businessOwnerNamestringBusiness owner display name (detail add-on).
healthScorestringLatest health inspection score, for eligible categories (detail add-on).
healthScoreDatestringDate of the latest health inspection (detail add-on).
attributesstring[]Amenities and attributes (detail add-on).
amenityCountintegerNumber of amenities captured.
popularDishesstring[]Popular dishes or items, for eligible categories (detail add-on).
photoCountintegerNumber of photos on the page (detail add-on).
imagesstring[]Photo URLs, capped by maxImages (detail add-on).
reviewHighlightsstring[]Review highlight quotes (detail add-on).
reviewHighlightCountintegerNumber of review highlights captured.
reviewsobject[]Review highlight excerpts as objects (review add-on).
reviewCountCapturedintegerNumber of review excerpts captured.
emailsstring[]Emails found on the business website (contacts add-on).
socialsstring[]Social profile URLs found on the business website (contacts add-on).
aiLeadScoreintegerAI lead score 0 to 100 (AI add-on).
aiLeadTierstringAI lead tier Hot, Warm or Cold (AI add-on).
aiLeadRationalestringOne-line rationale for the score (AI add-on).
sourcestringAlways yelp.com.
observedAtstringISO 8601 timestamp when the record was collected.
errorstringnull on success. On a failed run a single item with a populated error field is written instead.

Run via API and CLI

Start a run and read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~yelp-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchTerms":["coffee"],"locations":["Seattle, WA"],"maxBusinesses":25,"sortBy":"Most Reviewed"}'

Start a run asynchronously with the paid add-ons:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~yelp-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchTerms":["dentists"],"locations":["Miami, FL"],"maxBusinesses":100,"withContacts":true,"withLeadScore":true}'

Apify CLI:

apify call scrapers_lat/yelp-scraper \
--input '{"searchTerms":["law firms"],"locations":["Chicago, IL"],"maxBusinesses":50}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets.

Billing and limits

  • Pay per result. You are charged one result event per business returned. A one-time actor-start event is charged when a run begins.
  • Add-ons are opt-in. Contact and detail enrichment (contacts) and AI lead score (ai_lead_score) are off by default. Each is charged only when it produces data: contacts when a phone or website is found, ai_lead_score when the AI returns a usable score. Both are disabled on free Apify plans.
  • No charge on failure. If a run errors or matches nothing, the actor writes a single item with a populated error field and does not charge result or any add-on. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 businesses per run and cannot use the paid add-ons. Upgrade for higher maxBusinesses.
  • Tiered pricing. Per-event prices step down across Apify plan tiers. See the pricing tab for current rates.

FAQ and troubleshooting

A run returned 0 businesses. Why? The term and location combination matched nothing, or the location was not recognized. Try a broader term, a nearby larger city, or a City, ST format. Zero-result runs are not charged.

Do I get emails and social profiles? Yes, when withContacts is on. The actor reads each business website and extracts emails and social profile links. Not every business publishes an email or links its socials, so those fields are null when the site does not expose them. In our tests emails come back for a meaningful share of businesses that list a website.

How complete are the reviews? The reviews array returns the review highlight excerpts Yelp publishes on the business page. Yelp does not expose full individual review bodies (author, date, full text) to HTTP clients, so this is not the exhaustive review-by-review feed. For deep review export, use a dedicated Yelp reviews actor.

Why is healthScore or popularDishes empty? Those fields exist only for eligible categories (mostly restaurants and food). Service businesses return null for them, which is correct.

Do I need a proxy or a Yelp login? No. Anti-bot handling is fully internal. You never configure a proxy or supply cookies or credentials. Paid runs use a premium unblocking transport for reliable delivery; free runs use the standard proxy and may be blocked by Yelp, in which case the run is not charged.

Is this an official Yelp tool? No. This actor is independent and not affiliated with Yelp. It reads only data that is publicly visible on Yelp business and search pages.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Yelp. Accesses only publicly available Yelp data. Use in accordance with Yelp's terms of service.