Yelp Business Scraper avatar

Yelp Business Scraper

Pricing

$2.50 / 1,000 results

Go to Apify Store
Yelp Business Scraper

Yelp Business Scraper

Extract 25+ fields from any Yelp business — ratings, hours, photos, address, categories, and attributes. Search by query and location or look up by URL. No API key needed. Export as CSV, JSON, or Excel.

Pricing

$2.50 / 1,000 results

Rating

0.0

(0)

Developer

Beat Analytics

Beat Analytics

Maintained by Community

Actor stats

2

Bookmarked

146

Total users

66

Monthly active users

8 days ago

Last modified

Share

Yelp Business Scraper - Extract Business Details & Search Results Without the API

Yelp Business Scraper is an Apify actor that extracts detailed business information from Yelp listings and search results without a Yelp API key. It returns 25+ structured fields per business - more than the official Yelp Fusion API - with no authentication setup and no request limits. Search for businesses by query and location, or look up specific businesses by URL, alias, or ID; results are deduplicated automatically. Use the data for competitive intelligence, lead generation, or market research.

Why use this Yelp business scraper?

  • 🔍 Search for businesses by query and location - find businesses matching any search term in any city, state, or neighborhood, e.g. "pizza" in "Chicago, IL" or "coffee shops" in "San Francisco, CA".
  • 🔄 Cartesian product search - provide multiple queries and locations to search all combinations automatically. 5 queries and 10 locations run 50 searches in one job.
  • 🔗 Direct business lookup by URL, alias, or ID - paste URLs like https://www.yelp.com/biz/the-old-fashioned-madison, aliases like the-old-fashioned-madison, or Yelp business IDs.
  • 🧩 Combine search and direct lookup - use both in the same run; the scraper merges and deduplicates the results.
  • No API key required - no app registration, API keys, or OAuth tokens. Add your inputs and click Start.
  • 🔓 No rate limits - the Yelp Fusion API enforces strict daily quotas; this scraper has none. Scrape thousands of businesses in one run.
  • 📊 25+ data fields per business - more than the Fusion API returns, including business attributes (Wi-Fi, outdoor seating, reservations), health inspection scores, photo URLs, menu links, and machine-readable hours.
  • 💾 Export as JSON, CSV, Excel, XML, or HTML - all five formats work out of the box.
  • 🛡️ Automatic deduplication - businesses found through multiple queries or inputs appear once, so you never pay for duplicate records.
  • 🌐 Full Yelp API alternative - use it anywhere you would use the Yelp Fusion API, with more data and no configuration.

What data can you extract from Yelp businesses?

The scraper returns 25+ structured fields for each business:

Business identity:

  • id - Yelp's internal business ID (e.g. RJNAeNA-209sctUO0dmwuA)
  • alias - URL-friendly business alias/slug (e.g. the-old-fashioned-madison)
  • name - Business display name
  • url - Direct link to the Yelp business page

Location and geography:

  • address - Street address
  • city - City name
  • state - State or province code
  • zip - ZIP or postal code
  • country - Country code (e.g. US)
  • latitude - Geographic latitude coordinate
  • longitude - Geographic longitude coordinate
  • neighborhoods - List of neighborhoods the business belongs to

Business classification:

  • categories - Business categories (e.g. "American", "Breakfast & Brunch", "Beer Bar")
  • price_range - Price level indicator (e.g. "$", "$$", "$$$", "$$$$")

Contact information:

  • phone - Business phone number
  • website - Business website URL

Ratings and reviews:

  • avg_rating - Average star rating (rounded, e.g. 4.0)
  • unrounded_avg_rating - Precise average rating (e.g. 4.1)
  • review_count - Total number of reviews on Yelp

Hours of operation:

  • hours - Machine-readable hours as minute-based intervals (useful for programmatic analysis)
  • localized_hours - Human-readable business hours (e.g. "Mon-Thu 11:00 am - 9:00 pm")

Media and extras:

  • photos - List of business photo URLs (full-resolution Yelp CDN links)
  • attributes - Business attributes like "Takes Reservations: No", "Wi-Fi: Free", "Outdoor Seating: Yes"
  • health_score - Health inspection result (where available)
  • health_score_url - Link to health inspection details
  • menu_url - Link to the business menu on Yelp

Business status:

  • is_closed - Whether the business is permanently closed
  • is_temp_closed - Whether the business is temporarily closed

Search context (when found via search):

  • _search.query - The search query that returned this business
  • _search.location - The location that was searched
  • _search.rank - Position in search results for that query and location (1-indexed)

How to scrape Yelp business data

Follow these five steps to extract Yelp business details:

Step 1: Create a free Apify account

Sign up at apify.com if you do not have an account yet. Every new account includes $5 in free credits - enough to scrape 2,000 Yelp business listings at no cost.

Step 2: Open the Yelp Business Scraper

Navigate to the Yelp Business Scraper actor page on the Apify Store and click "Try for free" or "Start."

Step 3: Add your search queries, locations, or business URLs

You have three ways to specify which businesses to scrape:

  • Search: Enter search queries (e.g. "pizza", "plumber", "coffee shop") and locations (e.g. "New York, NY", "London, UK"). The scraper searches all combinations of queries and locations.
  • Direct URLs: Paste one or more Yelp business page URLs, such as https://www.yelp.com/biz/the-old-fashioned-madison.
  • Aliases or IDs: Enter Yelp business aliases (e.g. the-old-fashioned-madison) or internal Yelp business IDs.

You can combine all three methods in a single run. The scraper deduplicates results automatically.

Step 4: Click Start

Click the "Start" button to begin the scrape. The scraper will process your inputs, fetch business details, and push results to the dataset. You can monitor progress in real time on the run detail page.

Step 5: Download your data in JSON, CSV, Excel, XML, or HTML

Once the run completes, go to the Storage tab to view and download your results. Apify supports five export formats out of the box:

  • JSON - structured data, ideal for programmatic processing
  • CSV - spreadsheet-friendly, opens directly in Excel or Google Sheets
  • Excel (.xlsx) - native Excel format with proper column types
  • XML - for systems that consume XML feeds
  • HTML - human-readable table view

You can also access your data programmatically through the Apify API, or set up automatic exports to Google Sheets, Dropbox, Amazon S3, and other destinations.

Input parameters

The Yelp Business Scraper accepts the following input parameters:

ParameterTypeRequiredDefaultDescription
searchQueriesArray of stringsNo-Search query strings to find businesses (e.g. "pizza", "cheese curds", "plumber"). Used together with searchLocations; all combinations are searched.
searchLocationsArray of stringsNo-Locations to search in (e.g. "Madison, WI", "Chicago, IL", "New York"). Used together with searchQueries; all combinations are searched.
businessUrlsArray of URLsNo-Yelp URLs of specific businesses you want details for (e.g. https://www.yelp.com/biz/the-old-fashioned-madison). Can be used instead of or in addition to search.
businessAliasesOrIdsArray of stringsNo-Business aliases (e.g. the-old-fashioned-madison) or Yelp business IDs. Can be used instead of or in addition to URLs and/or search.
maxResultsPerSearchIntegerNo10Maximum number of business results per search query+location combination. Increase this to get more results per search.

Note: You must provide at least one of searchQueries (with searchLocations), businessUrls, or businessAliasesOrIds. You can use any combination of these inputs together; the scraper merges and deduplicates all results automatically.

Search example: Setting searchQueries to ["pizza", "sushi"] and searchLocations to ["Chicago, IL", "New York, NY"] will run four searches: pizza in Chicago, pizza in New York, sushi in Chicago, and sushi in New York. With maxResultsPerSearch set to 10, this would return up to 40 unique businesses (fewer if there is overlap between searches).

Output example

The Yelp Business Scraper outputs data in two formats: a structured JSON dataset and a flattened CSV file. You can download results in JSON, CSV, Excel, XML, or HTML from the Storage tab after each run.

JSON dataset

The results are stored in a dataset which you can find in the Storage tab. Each item in the dataset represents a single business.

Example JSON output

{
"id": "RJNAeNA-209sctUO0dmwuA",
"alias": "the-old-fashioned-madison",
"name": "The Old Fashioned",
"url": "https://www.yelp.com/biz/the-old-fashioned-madison",
"is_closed": false,
"is_temp_closed": false,
"address": "23 N Pinckney St",
"city": "Madison",
"state": "WI",
"zip": "53703",
"country": "US",
"latitude": 43.0761862475496,
"longitude": -89.3837572171967,
"neighborhoods": ["Capitol"],
"categories": ["American", "Breakfast & Brunch", "Beer Bar"],
"phone": "(608) 310-4545",
"website": "http://theoldfashioned.com/",
"price_range": "$$",
"avg_rating": 4.0,
"unrounded_avg_rating": 4.1,
"review_count": 2529,
"hours": [[660, 1260], [2100, 2700], [3540, 4140], [4980, 5580], [6420, 7080], [7800, 8520]],
"localized_hours": [
"Mon-Thu 11:00 am - 9:00 pm",
"Fri 11:00 am - 10:00 pm",
"Sat 10:00 am - 10:00 pm"
],
"photos": [
"https://s3-media0.fl.yelpcdn.com/bphoto/n1imsZpO7rNv0aueEL52EQ/o.jpg",
"https://s3-media0.fl.yelpcdn.com/bphoto/K5cehQF2wsBV76sha1oGHg/o.jpg",
"https://s3-media0.fl.yelpcdn.com/bphoto/ptE_UYxhabKfEztonGqHDw/o.jpg"
],
"attributes": [
{"label": "Takes Reservations", "value": "No"},
{"label": "Offers Delivery", "value": "Yes"},
{"label": "Outdoor Seating", "value": "Yes"},
{"label": "Wi-Fi", "value": "Free"}
],
"health_score": "No Reinspection Required",
"health_score_url": "https://m.yelp.com/inspections/the-old-fashioned-madison",
"menu_url": "https://m.yelp.com/menu/RJNAeNA-209sctUO0dmwuA"
}

CSV file

Business details are stored in a CSV file named businesses.csv. The file contains the following columns:

  • id: Yelp business ID
  • alias: Yelp business alias (URL slug)
  • name: Business name
  • url: Link to the Yelp business page
  • is_closed: Whether the business is permanently closed
  • is_temp_closed: Whether the business is temporarily closed
  • address: Street address
  • city: City
  • state: State
  • zip: ZIP code
  • country: Country code
  • latitude: Latitude
  • longitude: Longitude
  • neighborhoods: Neighborhoods (newline-separated)
  • categories: Business categories (newline-separated)
  • phone: Phone number
  • website: Website URL
  • price_range: Price range (e.g. "$$")
  • avg_rating: Average star rating
  • unrounded_avg_rating: Unrounded average star rating
  • review_count: Number of reviews
  • localized_hours: Human-readable business hours (newline-separated)
  • photos: Photo URLs (newline-separated)
  • attributes: Business attributes as "Label: Value" (newline-separated)
  • health_score: Health inspection score
  • health_score_url: Link to health inspection details
  • menu_url: Link to the business menu

Example CSV output

id,alias,name,url,is_closed,is_temp_closed,address,city,state,zip,country,latitude,longitude,neighborhoods,categories,phone,website,price_range,avg_rating,unrounded_avg_rating,review_count,localized_hours,photos,attributes,health_score,health_score_url,menu_url
RJNAeNA-209sctUO0dmwuA,the-old-fashioned-madison,The Old Fashioned,https://www.yelp.com/biz/the-old-fashioned-madison,False,False,23 N Pinckney St,Madison,WI,53703,US,43.0761862475496,-89.3837572171967,Capitol,"American
Breakfast & Brunch
Beer Bar","(608) 310-4545",http://theoldfashioned.com/,$$,4.0,4.1,2529,"Mon-Thu 11:00 am - 9:00 pm
Fri 11:00 am - 10:00 pm
Sat 10:00 am - 10:00 pm","https://s3-media0.fl.yelpcdn.com/bphoto/n1imsZpO7rNv0aueEL52EQ/o.jpg
https://s3-media0.fl.yelpcdn.com/bphoto/K5cehQF2wsBV76sha1oGHg/o.jpg","Takes Reservations: No
Offers Delivery: Yes
Outdoor Seating: Yes
Wi-Fi: Free",No Reinspection Required,https://m.yelp.com/inspections/the-old-fashioned-madison,https://m.yelp.com/menu/RJNAeNA-209sctUO0dmwuA

How much does it cost to scrape Yelp business data?

The Yelp Business Scraper uses per-result pricing: you only pay for the data you get.

$2.50 per 1,000 results - each business returned counts as one result, whether found via search or direct URL lookup. Deduplication happens before billing, so you never pay for the same business twice.

Free trial: every new Apify account comes with $5 in free platform credits, no credit card required - enough to scrape 2,000 business listings at no cost.

Enterprise plans: for large volumes on a regular basis, from thousands up to millions of listings per month, contact sales@beatanalytics.org for custom Enterprise pricing with dedicated support and volume discounts.

Use cases for Yelp business data

Yelp business data powers analytical, operational, and research workflows:

Competitive intelligence and benchmarking

Scrape Yelp business details for your competitors and compare ratings, review counts, price ranges, categories, and attributes side by side. Schedule regular runs to track how competitor ratings and review volumes change over time, and see which attributes (outdoor seating, delivery, Wi-Fi) competitors offer that you do not.

Market research and industry analysis

Search for all businesses in a given category and location to map the competitive landscape. Analyze business density by category, neighborhood, or price range to identify underserved markets, trending categories, or gaps in service coverage.

Lead generation and sales prospecting

Extract contact information (phone numbers, website URLs) for businesses matching specific criteria. Build targeted prospect lists by category and location, and use attributes, ratings, and review counts to qualify leads and prioritize outreach.

Real estate and location intelligence

Analyze business density and category distribution by neighborhood to evaluate commercial real estate opportunities. Use latitude/longitude data to build heat maps of business activity and gauge the character of a neighborhood from the businesses present.

Local SEO and business directory building

Build local business directories from Yelp data. Aggregate details across categories and locations to create niche industry directories, or power local search features in your own applications.

Academic and social science research

Study patterns in business ratings, review volumes, and category distributions across cities and regions. Analyze the relationship between business attributes and customer satisfaction, or use business density as a proxy for economic activity in urban development research.

Business operations and supply chain

Identify potential suppliers, vendors, or partners in specific locations. Build databases of businesses matching set criteria for partnership or franchise development, and monitor the open/closed status of businesses in your supply chain or competitive set.

Data journalism and public interest reporting

Investigate business trends, closures, and patterns across neighborhoods and cities. Analyze health inspection scores against ratings, or report on the economic health of commercial districts using Yelp business data as a proxy.

Integrations and API access

The Yelp Business Scraper integrates with the Apify platform ecosystem, giving you programmatic access to your scraped data and the ability to connect it to thousands of external tools.

Python

Use the Apify Python SDK to run the scraper and retrieve results programmatically:

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run_input = {
"searchQueries": ["pizza", "sushi"],
"searchLocations": ["Chicago, IL"],
"maxResultsPerSearch": 20,
}
run = client.actor("beatanalytics/yelp-business-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['name']} - {item['avg_rating']} stars - {item['address']}, {item['city']}")

JavaScript / Node.js

Use the Apify JavaScript SDK to integrate Yelp business scraping into your Node.js applications:

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("beatanalytics/yelp-business-scraper").call({
searchQueries: ["coffee shops"],
searchLocations: ["San Francisco, CA"],
maxResultsPerSearch: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
console.log(`${item.name} - ${item.avg_rating} stars - ${item.phone}`);
});

No-code integrations

Connect the Yelp Business Scraper to thousands of apps without writing code:

  • Make (formerly Integromat) - trigger workflows when new Yelp data is scraped, or schedule regular runs as part of larger automations
  • Zapier - connect Yelp business data to Google Sheets, Slack, email, CRM tools, and 5,000+ other apps
  • Webhooks - receive HTTP notifications when a run completes, then process the data in your own backend
  • Google Sheets - export results directly to a spreadsheet for collaborative analysis
  • Amazon S3 / Dropbox - automatically save scraped data to cloud storage after each run

Scheduled runs

Set up the Yelp Business Scraper to run on a schedule (hourly, daily, weekly, or custom cron) to keep your data fresh. Each run appends new results to your dataset, making it easy to track changes in business details, ratings, and review counts over time.

API endpoints

Every scraper run on Apify exposes RESTful API endpoints for accessing results, checking run status, and managing datasets. See the Apify API documentation for the complete reference.

Frequently asked questions

Scraping publicly available business information from Yelp is generally considered legal in the United States, following the precedent set by the hiQ Labs v. LinkedIn case, where the Ninth Circuit Court of Appeals ruled that scraping publicly accessible data does not violate the Computer Fraud and Abuse Act. Yelp business details such as names, addresses, ratings, hours, and categories are publicly visible to anyone browsing the Yelp website without logging in. However, laws vary by jurisdiction, and you should consult a legal professional if you have concerns about your specific use case. Always use scraped data responsibly and in compliance with applicable laws and regulations.

How is this different from the Yelp Fusion API?

The Yelp Fusion API is Yelp's official developer API. While it provides structured access to business data, it has several limitations that this scraper addresses:

  • Authentication: The Fusion API requires you to register an application and manage API keys. This scraper requires no API key or authentication setup.
  • Rate limits: The Fusion API enforces strict daily request quotas (typically 5,000 requests per day for free-tier apps). This scraper has no request limits.
  • Data fields: This scraper extracts fields that the Fusion API does not return, including business attributes with values, health inspection scores, menu URLs, and machine-readable hours.
  • Search flexibility: This scraper supports cartesian product search (multiple queries times multiple locations in a single run) and automatic deduplication.
  • Review data: The Fusion API returns only 3 reviews per business. For full review data, use this scraper with our Yelp Business Review Scraper.

What is the difference between the Yelp Business Scraper and the Yelp Business Review Scraper?

These are two complementary Apify actors:

  • Yelp Business Scraper (this actor) extracts business details: name, address, hours, ratings, photos, categories, attributes, and more. It also supports search, so you can discover businesses by query and location.
  • Yelp Business Review Scraper extracts individual reviews for specific businesses: review text, star ratings, dates, reviewer information, and business owner replies. It supports filtering by language and sorting by date, rating, or elite status.

Use both together: scrape business details with this actor to identify businesses of interest, then pass those business URLs to the Review Scraper to extract all their reviews for sentiment analysis or reputation monitoring.

How many businesses can I scrape?

There is no hard limit on the number of businesses you can scrape in a single run. Typical runs scraping 100-500 businesses complete in a few minutes. Runs scraping thousands of businesses may take longer but are fully supported. For very large-scale scraping (tens of thousands of businesses), consider reaching out to sales@beatanalytics.org for Enterprise plans with volume discounts.

Can I search for businesses by location?

Yes. The Yelp Business Scraper supports location-based search as a core feature. Enter one or more locations in the searchLocations field along with search queries in the searchQueries field (see Input parameters). The scraper searches all combinations of queries and locations automatically. Each business result includes its full address, city, state, ZIP code, country, latitude, and longitude, so you can perform geographic analysis on the results.

What export formats are supported?

The Yelp Business Scraper supports five export formats, all available directly from the Apify platform with no additional configuration:

  • JSON - structured data, ideal for programmatic processing and API integrations
  • CSV - comma-separated values, opens directly in Excel, Google Sheets, or any spreadsheet tool
  • Excel (.xlsx) - native Microsoft Excel format with proper column types
  • XML - for systems that consume XML feeds or require XML-based data exchange
  • HTML - human-readable table view for quick visual inspection

You can download data in any format from the Storage tab after a run completes, or retrieve it programmatically through the Apify API.

How often is the data updated?

The Yelp Business Scraper fetches live data from Yelp every time it runs. There is no cached or stale data - each run makes fresh requests to Yelp and returns the most current business information available. To keep your data fresh, you can schedule the scraper to run on a recurring basis (hourly, daily, weekly, or on a custom cron schedule) using Apify's built-in scheduling feature. This is particularly useful for tracking changes in ratings, review counts, business hours, or open/closed status over time.

Can I scrape Yelp search results?

Yes. Scraping Yelp search results is one of the primary features of this actor. Enter your search queries (e.g. "restaurants", "dentists", "auto repair") and locations (e.g. "Austin, TX"), and the scraper will return full business details for each search result. You can control how many results to return per search with the maxResultsPerSearch parameter (default: 10). Each result includes a _search field with metadata about which query and location found it, along with its ranking position in the search results.

Can I get business photos and attributes?

Yes. The scraper extracts all publicly visible business photos as full-resolution Yelp CDN URLs. Business attributes are extracted as structured label-value pairs - for example, {"label": "Takes Reservations", "value": "No"}, {"label": "Wi-Fi", "value": "Free"}, {"label": "Outdoor Seating", "value": "Yes"}. The specific attributes available depend on what each business has listed on its Yelp page. Common attributes include reservations, delivery, takeout, outdoor seating, Wi-Fi, parking, wheelchair accessibility, and many more.

How do I scrape Yelp business data without the API?

The Yelp Business Scraper is designed specifically for this use case. Instead of dealing with API key registration, OAuth authentication, rate limits, and limited data fields, you simply open the scraper on Apify, enter your search queries or business URLs, and click Start. The scraper handles all the data extraction automatically and returns structured results in JSON, CSV, or any other supported format. No API key, no rate limits, no authentication setup. See How to scrape Yelp business data for a step-by-step walkthrough.

Yelp Business Review Scraper

The companion to this actor. Where this scraper extracts business details (address, hours, ratings, photos, attributes), the Review Scraper extracts individual customer reviews - full text, star ratings, dates, reviewer information, and business owner replies - across every review a business has, not the 3 the Yelp Fusion API caps you at. It filters reviews by language (24 supported) and sorts by newest, oldest, highest or lowest rated, or elite reviews, and handles pagination automatically.

Use them together: search for and identify businesses with this scraper, then feed the resulting URLs into the Review Scraper to extract every review for sentiment analysis, reputation monitoring, or competitive benchmarking.

Yelp Photos Scraper

Downloads every photo and video from a Yelp listing - full-resolution image URLs, captions, categories, and video metadata across the entire gallery, not just the sample bundled with business details. Discover businesses by search query and location with this scraper, then feed the resulting URLs into the Photos Scraper to pull each listing's complete photo gallery for visual analysis, content enrichment, or competitive research.