Yelp Business Scraper avatar

Yelp Business Scraper

Pricing

Pay per usage

Go to Apify Store
Yelp Business Scraper

Yelp Business Scraper

Fast Yelp business scraper. Search by location and keyword or scrape direct Yelp business URLs. Extracts name, address, phone, website, hours, photos, ratings, review count, price tier, categories, and claimed status. Direct read of Yelp's server-rendered Apollo data, no headless browser.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Crikit

Crikit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Fast Yelp business scraper. Search by location and keyword, or paste direct Yelp URLs. Returns clean, structured records with name, address, phone, website, hours, photos, ratings, review count, price tier, categories, and claimed status. No headless browser, no Yelp API key, no login required.

What does Yelp Business Scraper do?

Yelp Business Scraper is an Apify actor that extracts business listings from Yelp.com programmatically. It reads Yelp's server-rendered Apollo data directly, so you get the same data Yelp's own pages show - but as clean JSON.

Use it to:

  • Build lead lists for local-marketing agencies.
  • Pull restaurant or hospitality datasets for analytics or AI training.
  • Run real-estate site selection (which categories cluster where).
  • Monitor competitors' Yelp ratings, review counts, and claimed status.
  • Backfill phone numbers, websites, and hours into a CRM.

How to use Yelp Business Scraper

There are two input modes; you can combine them in one run.

Search mode

Provide searchTerms (e.g. ["pizza", "tacos"]) and locations (e.g. ["San Francisco, CA", "Brooklyn, NY"]). The scraper runs one search per (term, location) pair and paginates through results up to maxResults (default 50, Yelp's hard ceiling is 240).

Optional filters:

  • categoryAlias - Yelp category slug like pizza, restaurants, autorepair. Stricter than the free-text term.
  • priceFilter - array of 1, 2, 3, 4 (mapping to $, $$, $$$, $$$$).
  • sortBy - recommended (default), rating, or review_count.

Direct URL mode

Provide directUrls with Yelp business URLs like https://www.yelp.com/biz/pink-onion-san-francisco. Each is scraped as a detail page. Useful when you already have a list of businesses to enrich.

Detail enrichment

Set enrichWithDetails: true (default) to fetch each business's full detail page. Without enrichment you get name, alias, rating, review count, price tier, categories, and a thumbnail photo. With enrichment you also get phone, website, hours, lat/lng, address components, photos, properties (delivery, reservations, etc.), and claimed status.

How many businesses can Yelp Business Scraper return?

Yelp itself caps a single search at 240 results. To pull a bigger market, split into smaller locations (neighborhoods or ZIP codes) and re-run.

Output

One record per business. Example shape:

{
"encid": "IxDRIBkKtP-f24sr5zHAhQ",
"alias": "pink-onion-san-francisco",
"url": "https://www.yelp.com/biz/pink-onion-san-francisco",
"name": "Pink Onion",
"rating": 4.5,
"reviewCount": 1383,
"priceRange": "$$",
"phoneNumber": "+14155292635",
"website": "http://www.pinkonionpizza.com",
"address": {
"addressLine1": "64 14th St",
"city": "San Francisco",
"regionCode": "CA",
"postalCode": "94103",
"country": "US",
"formatted": "64 14th St\nSan Francisco, CA 94103"
},
"latitude": 37.7687698,
"longitude": -122.414829,
"timezone": "America/Los_Angeles",
"categories": [
{"alias": "pizza", "title": "Pizza"},
{"alias": "italian", "title": "Italian"}
],
"photos": [
{"encid": "...", "url": "https://...", "caption": "..."}
],
"hours": [
{"dayOfWeek": "Monday", "regularHours": ["4:00 PM - 10:00 PM"]}
],
"properties": [
{"alias": "RestaurantsReservations", "displayText": "Takes reservations", "isActive": true}
],
"isClaimed": true,
"isClosed": false,
"isYelpAdvertiser": true,
"isWomenOwned": false,
"isBlackOwned": false,
"byAppointmentOnly": false,
"hasStorefrontAddress": true
}

Records can be downloaded from the run's dataset in JSON, JSONL, CSV, XLSX, or HTML.

How much does Yelp Business Scraper cost?

Flat fee of $0.004 per business record ($4 per 1,000). No actor-start fee. Pay only for what you keep.

That undercuts the $5 to $15 per 1,000 charged by incumbent Yelp scrapers while shipping full detail enrichment by default.

Tips for scraping Yelp

  • Split big markets into smaller locations. Yelp caps a single search at 240. Three smaller searches return more total businesses than one big one.
  • Run with enrichWithDetails: false to scout a market quickly, then re-run on the alias list with enrichWithDetails: true only on the ones worth full enrichment.
  • Use categoryAlias when you know exactly the Yelp category you want - search-term matching is fuzzy and includes adjacent categories.
  • The actor uses Apify residential proxies by default; that's the right setting for sustained scraping. Datacenter works for tiny runs but trips DataDome quickly.

Personal data is protected by GDPR in the European Union and similar regulations elsewhere. This actor extracts business directory data (commercial entities, not individuals). Yelp's Terms of Service prohibit scraping; operators should verify their own compliance posture. See Apify's blog on whether web scraping is legal for general guidance.

Feedback

Found a bug? Open an issue from the actor's Issues tab in Apify Console. Pull requests welcome on the source repository.