Yelp Scraper - Extract Business Data, Contacts & Reviews avatar

Yelp Scraper - Extract Business Data, Contacts & Reviews

Pricing

from $3.00 / 1,000 yelp businesses

Go to Apify Store
Yelp Scraper - Extract Business Data, Contacts & Reviews

Yelp Scraper - Extract Business Data, Contacts & Reviews

Scrape Yelp businesses at scale. Extract name, rating, reviews, price range, categories, address, phone, website, hours, GPS coordinates, claimed status, photos count and recent reviews. Supports keyword search mode and direct Yelp URL mode. Residential proxies recommended for production-scale use.

Pricing

from $3.00 / 1,000 yelp businesses

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Share

🌟 Yelp Scraper — Extract Business Data, Contacts & Reviews

What Does Yelp Scraper All-in-One Do?

Yelp Scraper All-in-One extracts complete business profiles from Yelp — including contact info, hours, ratings, price range, GPS coordinates, and optional user reviews — using either a keyword search or direct Yelp business URLs. No login, no API key, no cookies required.

Why Use This Yelp Scraper?

  • All data in one run — name, address, phone, website, hours, rating, reviews, coordinates, and more
  • Dual-input mode — search by keyword + city OR scrape specific Yelp business URLs
  • Decoded website URLs — Yelp wraps external links in a redirect; we decode them to give you the real business URL
  • Review extraction — pull recent user reviews (author, star rating, date, full text) alongside business data
  • CRM-ready output — clean JSON with consistent field names, null for missing data (never undefined)
  • No login required — fully public data extraction

What Data Can Yelp Scraper Extract?

FieldTypeExample
business_namestring"Joe's Pizza"
yelp_urlstring"https://www.yelp.com/biz/joes-pizza-new-york"
yelp_business_idstring"joes-pizza-new-york"
ratingnumber4.5
review_countinteger1247
price_rangestring"$$"
categoriesstring[]["Pizza", "Italian"]
addressstring"7 Carmine St, New York, NY 10014"
street_addressstring"7 Carmine St"
citystring"New York"
statestring"NY"
zip_codestring"10014"
countrystring"US"
phonestring"(212) 366-1182"
websitestring"https://www.joespizzanyc.com"
hoursobject{"Mon": "11 AM – 11 PM"}
is_claimedbooleantrue
descriptionstring"Award-winning pizza since 1975..."
photos_countinteger342
latitudenumber40.7308
longitudenumber-74.0021
reviewsarray[{author, rating, date, text}]
scraped_atISO 8601"2026-04-13T14:22:10.000Z"
source_urlstringYelp page URL

How to Scrape Yelp — Step-by-Step Tutorial

Mode 1: Search by Keyword + Location

This is the most common mode. Set searchQuery to what you're looking for and location to where.

Example input:

{
"searchQuery": "dentists",
"location": "Chicago, IL",
"maxResults": 100,
"includeReviews": true,
"maxReviewsPerBusiness": 5
}

This will search yelp.com/search?find_desc=dentists&find_loc=Chicago%2C+IL, paginate through results, visit each business page, and return full business profiles.

Mode 2: Scrape Direct Yelp URLs

Provide specific Yelp business page URLs when you already know which businesses you want to scrape.

Example input:

{
"startUrls": [
{ "url": "https://www.yelp.com/biz/nobu-new-york-city" },
{ "url": "https://www.yelp.com/biz/eleven-madison-park-new-york" },
{ "url": "https://www.yelp.com/biz/le-bernardin-new-york" }
],
"includeReviews": true,
"maxReviewsPerBusiness": 10
}

Mode 3: Lead Generation (B2B Use Case)

Build a prospect list of local service businesses:

{
"searchQuery": "plumbers",
"location": "Dallas, TX",
"maxResults": 200,
"includeReviews": false
}

Then export to CSV and import directly into your CRM.

Running via API

You can trigger this actor from your own code using the Apify API. Export scraped data, schedule runs, monitor progress, or integrate with other tools.

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_API_TOKEN' });
const run = await client.actor('USERNAME/yelp-scraper-all-in-one').call({
searchQuery: 'coffee shops',
location: 'Austin, TX',
maxResults: 50,
includeReviews: true,
maxReviewsPerBusiness: 5,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Scraped ${items.length} businesses`);
console.log(items[0]);

Pricing

This actor uses pay-per-event pricing — you only pay for results you receive.

ResultsCost
10 businesses$0.03
100 businesses$0.30
500 businesses$1.50
1,000 businesses$3.00

Price: $0.003 per business scraped (80% goes to the developer, 20% to Apify platform).

Platform compute costs are separate and typically add $0.001–$0.005 per business depending on memory and run time.

Input Parameters Reference

ParameterTypeDefaultDescription
searchQuerystring"restaurants"What to search for on Yelp
locationstring"New York, NY"City, state, or ZIP to search in
startUrlsarray[]Direct Yelp business URLs (overrides search)
maxResultsinteger50Max businesses to scrape (1–1000)
includeReviewsbooleantrueExtract recent user reviews
maxReviewsPerBusinessinteger5Reviews per business (1–20)
proxyTypestring"datacenter"Proxy strategy: datacenter / residential / none

Output Structure

Each scraped business is one JSON record in the output dataset. All fields are present on every record — missing data is returned as null (never undefined or empty string), which makes downstream data processing predictable.

Sample output record:

{
"business_name": "Joe's Pizza",
"yelp_url": "https://www.yelp.com/biz/joes-pizza-new-york",
"yelp_business_id": "joes-pizza-new-york",
"rating": 4.5,
"review_count": 1247,
"price_range": "$",
"categories": ["Pizza", "Italian"],
"address": "7 Carmine St, New York, NY 10014, US",
"street_address": "7 Carmine St",
"city": "New York",
"state": "NY",
"zip_code": "10014",
"country": "US",
"phone": "(212) 366-1182",
"website": "https://www.joespizzanyc.com",
"hours": {
"Mon": "10:00 AM - 4:00 AM",
"Tue": "10:00 AM - 4:00 AM",
"Sun": "10:00 AM - 4:00 AM"
},
"is_claimed": true,
"description": "Award-winning New York-style pizza in the West Village since 1975.",
"photos_count": 342,
"latitude": 40.7308,
"longitude": -74.0021,
"reviews": [
{
"author": "Sarah M.",
"rating": 5,
"date": "01/12/2026",
"text": "Absolute NYC institution. Cash only but worth every penny."
}
],
"scraped_at": "2026-04-13T14:22:10.000Z",
"source_url": "https://www.yelp.com/biz/joes-pizza-new-york"
}

Use Cases

Lead Generation & Sales Prospecting — Build targeted prospect lists of local businesses by category and location. Export phone, website, and address directly into your CRM or outreach tool.

Market Research — Analyze competitor density, rating distributions, price ranges, and category trends in any market.

Local SEO Auditing — Check how businesses appear on Yelp, assess claimed status, and benchmark ratings against local competitors.

Review Monitoring — Pull recent customer reviews for sentiment analysis, customer feedback aggregation, or reputation management workflows.

Real Estate & Site Selection — Map businesses by GPS coordinates to analyze neighborhood commercial density before opening a new location.

AI & LLM Pipelines — Feed structured Yelp data into RAG systems, recommendation engines, or AI agents that need local business context.

Proxy & Anti-Bot Notes

Yelp actively monitors for automated traffic and blocks datacenter IP ranges at a high rate. For reliable results:

  • Residential proxies are strongly recommended. Yelp blocks most datacenter and shared proxy IPs. On Apify, enable Residential proxies in your account and set proxyType to residential.
  • Without residential proxies, the actor will still run but may hit frequent 403 blocks, especially on search results pages. Individual business URL scraping tends to have better success rates.
  • The actor automatically falls back through proxy options: specified group → default proxy → no proxy. If all proxies fail, it retries up to 3 times per URL before logging a failure.
  • Stealth measures applied on every request: navigator.webdriver masked, realistic Accept-Language/User-Agent headers, randomized viewport, human-like delays (1–3 seconds between requests).
  • CAPTCHA/block detection: the actor checks page titles for access denied patterns and retries with a new session.

On Apify's free plan: datacenter proxies are limited, and Yelp blocks them heavily. Upgrade to a plan with residential proxy access for production-grade reliability.

For very large-scale scraping (10,000+ businesses), spread runs across multiple hours and use residential proxies.

FAQ

Q: Does this actor require a Yelp account or API key? A: No. It scrapes publicly available data without any authentication.

Q: Can I scrape reviews separately from business data? A: Reviews are bundled into each business record. Set includeReviews: false to skip them and speed up the run.

Q: How fast does it scrape? A: Approximately 2–5 businesses per minute with datacenter proxies. Residential proxies are 30–50% slower.

Q: What happens if Yelp changes its page structure? A: The actor uses multiple CSS selector fallbacks and JSON-LD structured data extraction. Minor site changes typically don't break it. Major redesigns may require updates — check the changelog for maintenance releases.

Q: Can I export the data to CSV or Excel? A: Yes. In Apify Console, go to your run → Storage → Dataset → Export → choose CSV, Excel, or JSON.

Q: Is this legal? A: This actor scrapes publicly available data displayed to any visitor on Yelp.com. It does not bypass authentication, access private data, or violate user privacy. Users are responsible for ensuring their use complies with Yelp's Terms of Service and applicable laws in their jurisdiction.

This actor is intended for lawful data collection from publicly available sources. Users are responsible for compliance with applicable laws, Yelp's Terms of Service, and data protection regulations including GDPR and CCPA. The actor does not access private or authenticated data. Use responsibly.


Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools. Built and maintained by USERNAME.