Yelp Business Scraper
Pricing
from $0.14 / 1,000 item extracteds
Yelp Business Scraper
Find and export public Yelp business listings, profiles, ratings, locations, contact details, hours, and search provenance.
Pricing
from $0.14 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Yelp Business Scraper – Search and Export Business Profiles
Use this Yelp scraper to find public Yelp businesses by keyword and location or look up known business URLs and aliases. Export canonical Yelp IDs, profile URLs, ratings, review counts, categories, location details, contact fields, hours, media, and search provenance as structured JSON, CSV, Excel, or other Apify dataset formats.
Example input
{"searchQueries": ["plumbers"],"searchLocations": ["San Francisco, CA"],"maxResultsPerSearch": 20,"maxPagesPerSearch": 2,"sortBy": "recommended"}
Example output
{"businessId": "RR5cJHVh-R9f5DNqZ-XAJA","alias": "discount-plumbing-rooter-services-san-francisco-2","name": "Discount Plumbing Rooter Services","url": "https://www.yelp.com/biz/discount-plumbing-rooter-services-san-francisco-2","rating": 4.5,"reviewCount": 1305,"categories": ["Plumbing"],"searchQuery": "plumbers","searchLocation": "San Francisco, CA","searchRank": 1,"collectedAt": "2026-08-13T12:00:00.000Z"}
Who is it for?
This Actor is built for local lead generation agencies, local SEO teams, market researchers, and business data enrichment teams that need repeatable Yelp business discovery data.
What you can use it for
- Build local-business lead lists by service and city for Yelp lead generation.
- Compare businesses by rating, review volume, category, or price range.
- Resolve Yelp aliases and URLs to stable business IDs.
- Feed canonical business URLs into Yelp Reviews Scraper.
- Monitor public business profile details over time.
Input settings
| Field | Type | Description |
|---|---|---|
searchQueries | string[] | Categories, services, or business names. |
searchLocations | string[] | Cities, regions, or postal codes. Each query is combined with each location. |
startUrls | request[] | Public Yelp business or search URLs. |
businessAliases | string[] | Yelp aliases such as gary-danko-san-francisco. |
maxResultsPerSearch | integer | Unique businesses per query/location, from 1 to 240. |
maxPagesPerSearch | integer | Pagination cap from 1 to 24. |
sortBy | string | recommended, rating, or review_count. |
priceLevels | integer[] | Optional Yelp price levels 1–4. |
Provide both searchQueries and searchLocations when using search mode. You can combine search, URL, and alias inputs in one run; duplicate businesses are saved once.
Output fields
Every dataset row uses one stable business shape. Source-dependent optional fields may be null or empty when Yelp does not publish them.
| Group | Fields |
|---|---|
| Identity | businessId, alias, name, url, alternateNames, businessType |
| Status | isAd, isClaimed, isClosed, isTemporarilyClosed |
| Address | addressLine1, addressLine2, city, state, postalCode, country, neighborhoods |
| Coordinates | latitude, longitude |
| Classification | categories, cuisine |
| Contact and price | phone, website, priceRange |
| Reputation | rating, reviewCount, healthScore |
| Hours and features | hours, specialHours, amenities, businessHighlights |
| About | about, specialties, history, yearEstablished |
| Links and media | menuUrl, reservationUrl, primaryPhoto, images, mediaCount |
| Provenance | searchQuery, searchLocation, searchRank, sourceUrl, collectedAt |
This Actor returns business discovery/profile records, not review bodies or reviewer profiles.
Input recipes
Find local service providers
{"searchQueries":["electricians","plumbers"],"searchLocations":["Austin, TX"],"maxResultsPerSearch":25}
Look up known profiles
{"businessAliases":["gary-danko-san-francisco"],"maxResultsPerSearch":1}
Use public Yelp URLs
{"startUrls":[{"url":"https://www.yelp.com/biz/gary-danko-san-francisco"}]}
Pricing and limits
The Actor charges one small start event per run and one item event for each unique business saved. Failed targets and duplicates are not charged as items. Current rates and account-tier discounts are shown on the Actor's live Pricing tab.
Yelp may limit the number of businesses available for a search. The Actor caps each search at 240 businesses and 24 pages, preserves completed rows when another target fails, and records a run summary in the default key-value store.
API usage
Run from JavaScript with apify-client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/yelp-business-scraper').call({searchQueries: ['sushi'],searchLocations: ['Austin, TX'],maxResultsPerSearch: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Run from Python with apify-client:
from apify_client import ApifyClientclient = ApifyClient("<APIFY_API_TOKEN>")run = client.actor("fetch_cat/yelp-business-scraper").call(run_input={"searchQueries": ["sushi"],"searchLocations": ["Austin, TX"],"maxResultsPerSearch": 20,})items = client.dataset(run["defaultDatasetId"]).list_items().items
Or call the REST API with cURL:
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~yelp-business-scraper/runs?token=<APIFY_API_TOKEN>' \-H 'Content-Type: application/json' \-d '{"searchQueries":["sushi"],"searchLocations":["Austin, TX"],"maxResultsPerSearch":20}'
The same input works with schedules, webhooks, and integrations.
MCP and AI agents
Connect through Apify MCP. For Claude Code:
$claude mcp add apify --transport http 'https://mcp.apify.com/?tools=fetch_cat/yelp-business-scraper'
Example MCP client configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=fetch_cat/yelp-business-scraper"}}}
Example prompts: “Find 20 plumbers in Austin and return names, ratings, phones, and Yelp URLs” or “Compare sushi businesses in Seattle by rating and review count.” Keep limits low during interactive exploration, then increase them for exports.
Tips
- Use specific service terms and city/state locations for relevant lead lists.
- Start with 10–25 businesses to validate a search before requesting more pages.
- Use direct aliases or URLs when you already know the target business.
- Review optional fields for your category and region; public profile completeness varies.
FAQ
What data can I export with Yelp Business Scraper?
You can export identity, location, categories, ratings, review totals, public contact details, hours, media, and search provenance for each discovered business.
Can I run Yelp Business Scraper through an API, schedule, or MCP client?
Yes. Use the Apify API example above, create a schedule in Console, or connect through the linked Apify MCP endpoint with the same JSON input.
How much does it cost to use Yelp Business Scraper?
Each run charges one small start event and one item event per unique business saved. Current rates and account-tier discounts are shown on the Actor's Pricing tab.
Does this scrape Yelp reviews?
No. It exports one row per business. Use Yelp Reviews Scraper for public review records.
Why are some contact or hours fields empty?
Yelp does not publish every field for every business or region. The Actor keeps the business row and uses null or an empty array for unavailable optional data.
Can I search multiple locations?
Yes. Every search query is combined with every supplied location, and businesses are deduplicated across the run.
What happens if one search fails?
Completed businesses remain in the dataset. The run summary reports failed targets, duplicates, saved rows, and pending work.
Related Actors
- Yelp Reviews Scraper
- Google Maps Reviews Scraper
- Google Maps Lead Finder
- Tripadvisor Reviews Scraper
- Trustpilot Reviews Scraper
Support
If a public Yelp URL or search returns unexpected output, open an issue from the Actor page and include the input, run ID, and expected business. Do not include private credentials or personal account data.