Yelp Business Analyzer | $3/1K | Reviews, Hours, Tech Stack avatar

Yelp Business Analyzer | $3/1K | Reviews, Hours, Tech Stack

Pricing

from $3.00 / 1,000 business-scrapeds

Go to Apify Store
Yelp Business Analyzer | $3/1K | Reviews, Hours, Tech Stack

Yelp Business Analyzer | $3/1K | Reviews, Hours, Tech Stack

Deep intelligence on any Yelp business: real-time ratings & reviews, structured weekly hours with is-open-now, geo coordinates, business listing age, website tech stack (20+ platforms), popularity score, customer segment, chain detection. 5 public data sources combined. Pay-per-use $3/1K.

Pricing

from $3.00 / 1,000 business-scrapeds

Rating

0.0

(0)

Developer

Apivault Labs

Apivault Labs

Maintained by Community

Actor stats

0

Bookmarked

40

Total users

30

Monthly active users

3 days ago

Last modified

Share

Yelp Business Analyzer | Lead Score, Tech Stack, Outreach Pitch

Deep business intelligence for any Yelp business page. Real-time ratings, structured weekly hours with is-open-now, business listing age, website tech stack (50+ platforms), emails (with CloudFlare decoder), social profiles, lead score, and ready-to-paste industry-specific outreach pitches — all in one API call.

Built for B2B lead-gen agencies, competitive research, directory builders, local SEO tools, and CRM enrichment pipelines.

🚀 What you get for $0.003 per business

For every Yelp URL analyzed, you get a single rich JSON record combining 8 public data sources + 30+ derived intelligence signals. No proxies, no logins, no API keys.

⭐ Core fields (real-time, no cache)

  • Business name, rating, review count
  • Categories, price range
  • Full address, phone, website, hours, neighborhood
  • Profile image, amenities

🕐 Hours Intelligence

  • Structured weekly schedule — one entry per day with opens/closes
  • Total hours per week, days open count (1-7)
  • Open weekends, has 24-hour day
  • Real-time is_open_now check (UTC-aware)

🛠️ Website Tech Stack — 50+ platforms detected

  • E-commerce: Shopify, WooCommerce, BigCommerce, Magento, Wix, Squarespace, Webflow, Square Online, Weebly, Duda, Ecwid
  • Restaurant tech: OpenTable, Resy, Tock, SevenRooms, Yelp Reservations, BentoBox, ChowNow, Toast, Olo
  • Delivery: DoorDash, Uber Eats, Grubhub, Postmates, Caviar, Slice, ezCater
  • Booking: Calendly, Acuity, Mindbody, Vagaro, Booksy, Square Appointments
  • Payments: Stripe, PayPal, Square POS, Clover, Lightspeed, Apple Pay, Google Pay, Klarna, Affirm, Afterpay
  • Marketing: Mailchimp, Klaviyo, Constant Contact, ActiveCampaign, HubSpot
  • Analytics: GA, GTM, Facebook Pixel, TikTok Pixel, Hotjar, Microsoft Clarity
  • Reviews: Yotpo, Trustpilot, Judge.me
  • Chat: Intercom, Zendesk, Drift, Tidio
  • Plus server headers, HSTS, alive check

📞 Contact Enrichment (pulled from the website)

  • emails_from_website[] — with CloudFlare email decoder (recovers ~25% obfuscated data-cfemail spans) + 4-layer protection (TLD whitelist, CDN blacklist, lookbehind regex)
  • phones_from_website[] — strict regex with separator requirements
  • phoneE164 + phoneTel — primary phone in international format with click-to-call URL
  • social_profiles{} — Instagram, Facebook, Twitter/X, TikTok, YouTube, LinkedIn, Pinterest URLs
  • menu_url, booking_url, delivery_urls[] — actionable links

🔍 SEO + Mobile-Friendliness Audit

  • seo_title, seo_meta_description, seo_canonical, seo_og_tags{}
  • seo_h1_count
  • mobile_has_viewport, mobile_has_responsive_css, mobile_friendly
  • seo_hygiene_score (0-100)

🏷️ Structured Amenities — 28 boolean flags

Free-text amenities → easy-to-filter booleans:

  • has_outdoor_seating, accepts_reservations, offers_takeout, offers_delivery
  • accepts_credit_cards, accepts_contactless, wifi_available, parking_available
  • wheelchair_accessible, good_for_kids, good_for_groups
  • serves_alcohol, has_happy_hour, vegan_options, vegetarian_options, gluten_free_options
  • serves_breakfast / brunch / lunch / dinner, open_late_night
  • dog_friendly, has_tvs, live_entertainment, private_dining, bike_parking, has_health_score

⏱️ Business Listing Age

  • Earliest Wayback Machine snapshot of the Yelp page
  • business_listing_age_years, estimated_first_listed_year

🎯 Lead Score & Best Contact

  • leadScore (0-100) — composite of website health, modern tech, contact data quality, popularity, SEO hygiene, quality tier
  • leadTiercold / warm / hot / scorching
  • leadScoreReasons[] — explainable signals
  • bestContact: {channel, value, label} — most actionable handle (priority: email > E.164 phone > IG > FB > LinkedIn > website)

💬 Industry-Specific Outreach Pitch

outreachPitch — ready-to-paste cold-outreach message tailored to the business category. 15 industry templates matched against Yelp categories:

  • 🍽️ Restaurants / cafes / bars / bakeries
  • 💇 Salons / spas / barbers / nail / beauty
  • 🏥 Dentists / chiropractors / medical / clinics
  • 🚗 Auto repair / mechanic / car wash
  • 🔧 Plumbing / electric / HVAC / roofing / handyman
  • ⚖️ Law firms / attorneys
  • 🏘️ Real estate / realtors / brokers
  • 💪 Gyms / yoga / pilates / fitness
  • 🏨 Hotels / motels / lodging
  • 🛍️ Retail / boutiques / gift shops
  • 🐕 Pet care / veterinary / grooming
  • 💍 Wedding / catering / events / DJ / florist
  • 🧹 Cleaning / janitorial / laundry
  • 🎓 Daycare / tutoring / education
  • 💼 Financial / accounting / tax / insurance

Plus a sensible generic fallback for any other category.

📊 Derived Intelligence

  • popularity_score (0-100), customer_segment, quality_tier
  • online_presence_score (0-100), chain_likelihood_score, service_offerings_count
  • is_open_now, open_weekends

🌍 Optional Geocoding

Set extractGeocoding: true to add latitude / longitude via Nominatim (off by default — Nominatim is rate-limited).

📦 Input

{
"businessUrls": [
"https://www.yelp.com/biz/tartine-bakery-san-francisco",
"https://www.yelp.com/biz/the-french-laundry-yountville"
],
"exportFormat": "default",
"excludeChains": false,
"maxConcurrency": 2
}
FieldDescriptionDefault
businessUrlsYelp business pages (yelp.com/biz/...)required
extractCoreThunderbit core fields (name, rating, hours…)true
extractHoursIntelStructured weekly schedule + is-open-nowtrue
extractWebsiteDetect 50+ platforms tech stacktrue
extractContactEnrichmentEmails + phones + social profiles + action linkstrue
extractAmenities28 boolean amenity flagstrue
extractAgeWayback listing agetrue
extractGeocodingAdd lat/lng via Nominatimfalse
extractDerivedSignalspopularity, segment, quality, chaintrue
extractLeadScoreleadScore + bestContacttrue
extractOutreachPitchIndustry-specific outreach pitchtrue
excludeChainsSkip chain-likelihood ≥ 50false
exportFormatdefault (full JSON) or csv (sales-ready flat)default
writeSummaryAggregate summary to KV store on bulk runstrue
maxConcurrencyParallel businesses (1-5)2
timeoutSeconds per business (60-300)180

📖 Sample Output

{
"success": true,
"inputUrl": "https://www.yelp.com/biz/tartine-bakery-san-francisco",
"yelpBusinessId": "tartine-bakery-san-francisco",
"businessName": "Tartine Bakery",
"rating": "4.2",
"rating_normalized": 4.2,
"reviewsCount": "9200",
"reviewsCount_int": 9200,
"priceRange": "$$",
"categories": "Bakeries, Cafes, Desserts",
"address": "600 Guerrero St, San Francisco, CA 94110",
"phone": "(415) 487-2600",
"phoneE164": "+14154872600",
"phoneTel": "tel:+14154872600",
"website": "https://tartinebakery.com",
"neighborhood": "Mission",
"weekly_schedule": [
{"day": "Monday", "opens": "07:30", "closes": "18:00"},
{"day": "Saturday", "opens": "08:00", "closes": "18:00"}
],
"hours_per_week_total": 73.5,
"open_weekends": true,
"is_open_now": true,
"website_alive": true,
"website_domain": "tartinebakery.com",
"website_tech_stack": ["Shopify", "Klaviyo", "Google Analytics", "Apple Pay"],
"emails_from_website": ["info@tartinebakery.com", "hello@tartinebakery.com"],
"phones_from_website": ["(415) 487-2600"],
"social_profiles": {
"instagram": "https://www.instagram.com/tartinebakery",
"facebook": "https://www.facebook.com/tartine.bakery",
"twitter": "https://twitter.com/tartinebakery"
},
"seo_title": "Tartine Bakery | Artisan Bread & Pastries",
"seo_meta_description": "Award-winning bakery in San Francisco's Mission District…",
"seo_h1_count": 1,
"mobile_friendly": true,
"seo_hygiene_score": 90,
"menu_url": "https://tartinebakery.com/menu",
"has_outdoor_seating": true,
"accepts_credit_cards": true,
"wifi_available": true,
"good_for_kids": true,
"offers_delivery": true,
"earliest_wayback_snapshot": "2010-03-14",
"business_listing_age_years": 16.2,
"customer_segment": "mid-range",
"quality_tier": "great",
"popularity_score": 84,
"online_presence_score": 90,
"chain_likelihood_score": 0,
"service_offerings_count": 8,
"leadScore": 78,
"leadTier": "scorching",
"leadScoreReasons": [
"website live",
"4 tech detected",
"emails recovered",
"3 social profiles",
"high popularity",
"strong SEO hygiene",
"great quality"
],
"bestContact": {
"channel": "email",
"value": "info@tartinebakery.com",
"label": "mailto:info@tartinebakery.com"
},
"outreachPitch": "Saw Tartine Bakery on Yelp (4.2★, 9200 reviews). I help bakeries brands turn Yelp traffic into repeat orders with branded online ordering and SMS follow-ups — would a 10-min look at your funnel be useful?"
}

💼 Use Cases

🥇 B2B Lead Generation (the headline use case)

The default output is CRM-ready — drop the CSV directly into HubSpot / Pipedrive / Salesforce / Apollo:

  • Filter by leadTier = "scorching" for the warmest prospects
  • Filter by website_tech_stack contains "Shopify" to find your match-fit
  • Filter by chain_likelihood_score < 50 to focus on independents
  • Use bestContact for outreach orchestration
  • Use outreachPitch as the first cold-email/cold-DM template
  • Use phoneE164 + phoneTel for click-to-call dialers

🥈 Niche Directory & Aggregator Building

  • "Best date-night restaurants" → filter private_dining = true + serves_alcohol = true + priceRange = "$$$"
  • "Family-friendly cafés" → good_for_kids + wifi_available + outdoor_seating
  • "24-hour spots" → has_24h_day = true

🥉 Local SEO / Tech Adoption Research

  • Track what % of restaurants in a market use modern reservation systems
  • Identify SMBs without HSTS / mobile-friendly sites for upsell
  • Map customer_segment distribution by neighborhood

Investment & M&A Due Diligence

  • business_listing_age_years for legitimacy verification
  • quality_tier consistency over time
  • POS adoption signals (Toast, Square, OpenTable, Stripe)

CRM Enrichment Pipeline

  • Batch-enrich a list of Yelp URLs and get phones in E.164 format, validated emails, and 7-platform social profiles in a single CSV ready for upload.

💰 Pricing

VolumeCost
1 business$0.003
100 businesses$0.30
1,000 businesses$3.00
10,000 businesses$30.00

Pay only for what you extract. No subscriptions, no hidden fees.

⚡ Speed & Reliability

  • 15–25 seconds per business (parallel HTTP, no rendering)
  • 2 businesses in parallel by default (Yelp-friendly, configurable up to 5)
  • No proxies needed — Thunderbit handles Yelp scraping for us
  • Single website fetch powers all 8 enrichment layers (no extra cost vs simpler scrapers)
  • Graceful degradation — if Wayback is slow or a website is down, other layers still return data

📊 Aggregate Summary (Bulk Runs)

When you analyze multiple businesses in one run, a SUMMARY record is written to the run's key-value store (free — doesn't add to your dataset bill):

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("apivault_labs/yelp-business-scraper").call({"businessUrls": [...]})
summary = client.key_value_store(run["defaultKeyValueStoreId"]).get_record("SUMMARY")["value"]
print(summary["avg_lead_score"]) # 64.2
print(summary["with_emails_pct"]) # 47.5
print(summary["top_tech_detected"]) # [{"name": "Shopify", "count": 12}, ...]
print(summary["chains_detected"]) # ["Starbucks", "McDonald's", ...]

❓ FAQ

Q: Do I need any API keys? A: No. Just an Apify account ($5 free credit gets you ~1,500 businesses).

Q: How fresh is the data? A: 100% real-time. No caching. Each call hits Yelp's live page via Thunderbit.

Q: Why is popularity_score not just rating? A: A 5★ business with 3 reviews isn't actually popular. We combine rating with log-scaled review count so 4.5★ × 1000 reviews ≈ 85, while 5.0★ × 5 reviews ≈ 25.

Q: How accurate is chain_likelihood_score? A: It's a heuristic combining brand-name matching and review patterns. Scores 50+ almost always indicate chains. Under 25 = independent business. Use excludeChains: true to filter automatically.

Q: Can it find emails on Cloudflare-protected sites? A: Yes. We decode data-cfemail XOR-obfuscated email spans — that recovers ~20-30% of emails on CF-protected WordPress / Wix sites.

Q: Will the outreach pitch sound generic? A: It's tailored to the Yelp category and uses the actual business name + rating + review count. Treat it as a strong first draft — most users tweak 1-2 sentences before sending.

Q: Can I get the data as CSV instead of JSON? A: Yes — set exportFormat: "csv". You get a flat 30-column CSV with one row per business, ready to import into Sheets / HubSpot / Pipedrive.

📞 Support

Open an issue on the actor's Apify page, or reach out via Apify messaging.