Yelp Real-Time Data — Business Scraper & Lead Extractor avatar

Yelp Real-Time Data — Business Scraper & Lead Extractor

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Yelp Real-Time Data — Business Scraper & Lead Extractor

Yelp Real-Time Data — Business Scraper & Lead Extractor

Real-time Yelp scraper for business search, details, reviews & contact enrichment (phone, website, email). Reliable, proxy-ready, LLM/MCP-friendly. Export leads to JSON, CSV, or Excel.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Chidubem Aneke

Chidubem Aneke

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Yelp Real-Time Data — Live Business Intelligence Scraper

Turn Yelp into structured JSON — search results, full contact profiles, reviews, photos, category listings, events, and arbitrary URL scraping. Enable features with checkboxesBusiness Search is on by default. One feature runs per start (if multiple are checked, highest priority wins). Every row is tagged with featureType so agents, CRMs, and data pipelines can filter without guessing.

Built for lead generation, local SEO, reputation monitoring, market research, and real-time data feeds — with optional email enrichment from business websites and 40+ data fields per business.


Why teams choose this Actor

  • Rich, join-friendly JSON — identity, contact, location, reputation, operations, and media in one canonical schema
  • Eight specialized modes — search, details, reviews, photos, category browse, URL scraper, events, full pipeline
  • Checkbox UX — enable only what you need; Business Search on by default; one feature per run
  • Lead-gen ready — phone, E.164 phone, website, resolved URL, optional email, completeness score
  • Filter-rich — Yelp-native filters on requests + post-scrape filters before save
  • Apify-native — API, schedules, webhooks, dataset views, CSV/Excel export
  • Agent & MCP friendly — documented input/output contracts below for LLM tool use

Use cases

Use caseEnableWhat you get
B2B lead listsenableBusinessSearch + searchEnrichContactsBusinesses with phone, website, rating, address; optional email from website
One-click lead genenableFullPipelineSearch → full contact profile (+ optional reviews) in one run
CRM enrichmentenableBusinessDetailsDeep profile for known Yelp URLs: hours, amenities, social links
Outbound sales prospectingenableBusinessSearch + filterPreset: lead_genPre-filtered rows: phone required, min rating, email enrichment
Local SEO auditsenableBusinessDetails or enableCategoryBrowseClaimed status, hours, categories, review counts, completeness score
Competitor mappingenableCategoryBrowse or enableBusinessSearchAll businesses in a category + geo with filters
Reputation monitoringenableBusinessReviewsPaginated review text with business contact embedded on each row
Sentiment & NLP pipelinesenableBusinessReviewsStar rating, date, author, text, keyword filters
Brand / visual auditenableBusinessPhotosPhoto URLs, captions, dates, categories
Event marketingenableEventsLocal events by city or URL with date/category filters
Ad-hoc researchenableScrapeByUrlPaste any Yelp URL — auto-detects page type
Data warehouse / lakeAny enabled featureStable featureType + ISO timestamps for incremental loads
AI agent workflowsAny enabled featureStructured input schema + typed output rows (see below)

Data richness — what each business row can include

When data exists on Yelp (and optionally the business website for email), business-facing rows populate fields from this canonical profile:

FieldTypeDescription
namestringBusiness name
bizIdstring | nullYelp slug ID (from URL)
encBizIdstring | nullEncoded ID for joins / GraphQL
urlstringYelp page URL
yelpProfileUrlstring | nullCanonical profile URL
categoriesstring[]All category labels
primaryCategorystring | nullMain category
descriptionstring | nullAbout / snippet text

Contact (high value for lead gen)

FieldTypeDescription
phonestring | nullDisplay phone
phoneE164string | nullNormalized E.164
websitestring | nullRaw website (may be Yelp redirect)
websiteFinalstring | nullDereferenced external URL
emailstring | nullFrom website enrichment when enabled
emailSourcestring | nullwebsite, jsonld, or mailto
socialLinksobject[]Platform + URL pairs

Location

FieldTypeDescription
addressobject | nullStructured: street, city, state, zip, country, formatted
neighborhoodstring | nullNeighborhood name
city, state, zip, countrystring | nullFlat address parts
coordinatesobject | null{ latitude, longitude }

Reputation

FieldTypeDescription
ratingnumber | nullAverage stars (1–5)
reviewCountnumber | nullTotal reviews
priceRangestring | null$$$$$
ratingDistributionobject | nullStar histogram (details mode)
isClaimedboolean | nullProfile claimed by owner
isClosedboolean | nullPermanently closed flag

Operations & media (details mode)

FieldTypeDescription
hoursobject[]Day, open, close, overnight
isOpenNowboolean | nullComputed open status
amenitiesstring[]Highlights / amenities
serviceArea, paymentMethodsvariousWhen available
photoUrls, logoUrl, menuUrlstring | nullMedia and menu links
imageUrlstring | nullPrimary listing image

Meta (every row)

FieldTypeDescription
featureTypestringWhich mode produced the row — filter on this
localestringRegion code (e.g. US)
scrapedAtstringISO-8601 collection time
dataCompletenessScorenumber0–100 based on populated fields

Email is not on Yelp profiles. Enable includeEmailFromWebsite: true to scan contact/about pages (bounded, no LLM).


Input schema (for APIs, agents, and MCP tools)

Rule: Enable one feature checkbox per run (enableBusinessSearch is on by default). If multiple are checked, priority is: Pipeline → Details → Reviews → Photos → Category → Scrape → Events → Search.

Feature checkboxes

FieldDefaultFeature
enableBusinessSearchtrueKeyword + location search
enableBusinessDetailsfalseFull profiles for /biz/... URLs
enableBusinessReviewsfalsePaginated reviews
enableBusinessPhotosfalsePhoto galleries
enableCategoryBrowsefalseCategory + location listings
enableScrapeByUrlfalseAny Yelp URL (auto-detect)
enableEventsfalseEvent listings
enableFullPipelinefalseSearch → enrich → optional reviews

Global fields (all modes)

Console form order: General → feature sections (checkbox each) → Contact enrichment → Result filters → Proxy (last). Region defaults to US (not exposed in the form).

FieldTypeDefaultDescription
maxItemsinteger10Fallback cap when a mode-specific limit is unset
includeEmailFromWebsitebooleanfalseCrawl business website for email
emailMaxContactPagesinteger5Max pages per website (1–10)
filterPresetenum"none"lead_gen, seo_audit, high_rating, or custom
filterMinRating / filterMaxRatingnumber0 / 5Post-scrape star filter
filterRequirePhone / filterRequireWebsite / filterRequireEmailbooleanfalseRequire contact fields
filterExcludeClosedbooleantrueDrop closed businesses
filterMinCompletenessScoreinteger0Minimum 0–100 completeness
proxyConfigurationobjectresidential USApify Proxy — last in form; use RESIDENTIAL for Yelp
FieldTypeDescription
searchQueriesstring[]"keyword :: location" e.g. "dentists :: Miami, FL"
searchKeywords + searchLocationsstring[]Cross-product alternative to searchQueries
searchUrlsstring[]Direct Yelp search URLs
searchMaxResultsPerQueryintegerMax businesses per query
searchMaxPagesintegerSERP pages to crawl
searchEnrichContactsbooleanFull Lead-Gen contact scrape per result
searchSort, searchPrice, searchOpenNow, …variousYelp-native SERP filters

When enableBusinessDetails is true — Business Details

FieldTypeDescription
businessUrlsstring[]/biz/... URLs
businessAliasesstring[]Slug IDs
encBizIdsstring[]Encoded business IDs
includeHours, includeAmenities, includePhotos, …booleanToggle detail sections

When enableBusinessReviews is true — Business Reviews

FieldTypeDescription
reviewsBusinessUrls / reviewsEncBizIdsstring[]Target businesses
reviewsMaxPerBusinessintegerReviews per business
reviewsSortByenumDATE_DESC, RATING_DESC, etc.
reviewsFilterByRatingnumber[]Star subset
reviewsIncludeBusinessContactbooleanAttach phone/website to each review row

When enableBusinessPhotos is true — Business Photos

FieldTypeDescription
photosBusinessUrls / photosEncBizIdsstring[]Target businesses
photosMaxPerBusinessintegerPhoto cap
photosSortBy, photosCategory, …variousGallery filters

When enableCategoryBrowse is true — Category Browse

FieldTypeDescription
categoryNames + categoryLocationstring / string[]e.g. "Plumbers" + "Denver, CO"
categoryUrlsstring[]Direct category listing URLs
categoryMaxBusinessesintegerListing cap
categoryEnrichContactsbooleanLead-Gen contact per listing (slow)

When enableScrapeByUrl is true — Scrape By URL

FieldTypeDescription
scrapeUrlsstring[]Any Yelp URL (search, biz, reviews, photos, category, events)
scrapeExtractTypeenumauto (default) or force a page type
scrapeMaxPagesintegerPagination for list pages
scrapeInheritFeatureFiltersbooleanApply result filters to scraped lists

When enableEvents is true — Events

FieldTypeDescription
eventsLocationstringCity/region for event search
eventsUrlsstring[]Direct events listing URLs
eventsMaxItemsintegerEvent cap
eventsDateFrom / eventsDateTostringDate range filters

When enableFullPipeline is true — Full Pipeline

FieldTypeDescription
pipelineQueriesstring[]"keyword :: location" queries
pipelineMaxBusinessesintegerTotal businesses to enrich
pipelineFetchReviewsbooleanAlso scrape reviews per business
pipelineIncludeEmailbooleanEmail enrichment during pipeline

Output schema (dataset rows)

Storage: Default Apify dataset — one JSON object per scraped item.

Required on every row: featureType, locale, scrapedAt, url

featureType values — use this to route rows

featureTypeEnabled byRow shape
business_searchenableBusinessSearchProfile core + query, position, page, isAd
business_detailsenableBusinessDetails, enableFullPipelineProfile core + hours, amenities, socialLinks, …
business_reviewsenableBusinessReviews, enableFullPipelineReview fields + optional businessName, businessPhone, …
business_photosenableBusinessPhotosphotoId, caption, url, linked business fields
category_browseenableCategoryBrowseProfile core + category, categoryUrl, position
eventsenableEventstitle, date, venue, description, …
scrape_by_urlenableScrapeByUrlWrapper: sourceUrl, detectedPageType, nested data

Dataset API views (append ?view= to dataset URL)

ViewPurpose
overviewAll features — name, phone, email, rating, URL
leadsCRM export — contact + completeness score
searchSERP rows only
detailsFull profiles only
reviewsReview text + linked business
photosPhoto URLs
categoriesCategory browse
eventsEvent listings

Apify API example: GET /v2/datasets/{id}/items?view=leads&format=json


Example inputs (copy-paste for agents)

{
"enableBusinessSearch": true,
"searchQueries": ["dentists :: Phoenix, AZ"],
"searchMaxResultsPerQuery": 25,
"searchEnrichContacts": true,
"includeEmailFromWebsite": true,
"filterPreset": "lead_gen",
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" }
}

Full profile for one business

{
"enableBusinessSearch": false,
"enableBusinessDetails": true,
"businessUrls": ["https://www.yelp.com/biz/franklin-barbecue-austin"],
"includeHours": true,
"includeAmenities": true,
"includeEmailFromWebsite": true
}

Reviews with business contact

{
"enableBusinessSearch": false,
"enableBusinessReviews": true,
"reviewsBusinessUrls": ["https://www.yelp.com/biz/franklin-barbecue-austin"],
"reviewsMaxPerBusiness": 50,
"reviewsSortBy": "DATE_DESC",
"reviewsIncludeBusinessContact": true
}

Category mapping

{
"enableBusinessSearch": false,
"enableCategoryBrowse": true,
"categoryNames": ["Plumbers"],
"categoryLocation": "Denver, CO",
"categoryMaxBusinesses": 30,
"filterMinRating": 4
}

One-shot pipeline

{
"enableBusinessSearch": false,
"enableFullPipeline": true,
"pipelineQueries": ["dentists :: Phoenix, AZ"],
"pipelineMaxBusinesses": 20,
"pipelineIncludeEmail": true,
"pipelineFetchReviews": false
}

Scrape any Yelp URL

{
"enableBusinessSearch": false,
"enableScrapeByUrl": true,
"scrapeUrls": [
"https://www.yelp.com/biz/example-business-city",
"https://www.yelp.com/search?find_desc=coffee&find_loc=San+Francisco%2C+CA"
],
"scrapeExtractType": "auto"
}

How to run (Apify Console)

  1. Open the Actor → Start
  2. Check the feature checkbox you need — Business Search is on by default
  3. Fill inputs for that mode only
  4. Keep Proxy → Residential (US)
  5. Run → export from Leads view or API

Memory recommendations

ProfileRAMTypical workload
Light512 MBSearch ≤25, details ≤10, no email
Standard1024 MBSearch ≤100, email on ≤25 businesses
Heavy2048 MBLarge review dumps, email on 100+ businesses

Integrating with LLMs & MCP

For tool-calling agents:

  1. Enable one feature checkbox — determines which input fields are required
  2. Validate required fields per mode (see Input schema above)
  3. Read output from dataset; filter items where featureType matches your mode
  4. Use ?view=leads when the agent needs contact columns only
  5. Use dataCompletenessScore to rank rows for outreach quality

Stable join keys: encBizId or bizId or url across search → details → reviews runs (run modes separately, join in your warehouse).

Do not enable multiple modes in one run — use separate runs and merge downstream.


Contact & custom projects

Need a custom scraper or a web app built? I take on custom work, including:

  • Web scraping / data extraction — any site, any scale (search, detail pages, contact & lead enrichment, anti-bot handling, proxies)
  • Apify actors — building, optimizing, or maintaining actors
  • Web apps — full-stack builds of any kind (dashboards, APIs, automation, integrations)

Reach out and let's build it: