Restaurant Review Intelligence - Multi-Platform Reviews avatar

Restaurant Review Intelligence - Multi-Platform Reviews

Pricing

Pay per usage

Go to Apify Store
Restaurant Review Intelligence - Multi-Platform Reviews

Restaurant Review Intelligence - Multi-Platform Reviews

Aggregate restaurant reviews from Google Maps, Yelp, TripAdvisor, DoorDash, and UberEats into unified profiles. Cross-platform ratings, sentiment analysis, popular dishes, review highlights, and competitive intelligence for restaurant owners, investors, and food industry analysts.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ricardo Akiyoshi

Ricardo Akiyoshi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Restaurant Review Intelligence — Multi-Platform Review Aggregator

Aggregate restaurant reviews and ratings from 5 major platforms into unified, actionable intelligence profiles. This premium meta-actor searches Google Maps, Yelp, TripAdvisor, DoorDash, and UberEats simultaneously to give you the most comprehensive view of any restaurant or dining scene.

What It Does

  1. Discovery — Search by restaurant name, cuisine type, or area. The actor finds matching restaurants across all 5 platforms.
  2. Aggregation — Collects ratings, review counts, hours, contact info, menus, and individual reviews from each platform.
  3. Deduplication — Uses address normalization and fuzzy name matching to merge the same restaurant across platforms into one unified profile.
  4. Sentiment Analysis — Keyword-based sentiment scoring of review text. Identifies common praise, complaints, and trending topics.
  5. Popular Dishes — Extracts frequently mentioned dishes and menu items from review text across all platforms.
  6. Cross-Platform Analytics — Weighted average rating, platform comparison, rating distribution, and confidence scoring.

Platforms Covered

PlatformData Extracted
Google MapsRating, review count, address, phone, hours, cuisine, price level, individual reviews with text and dates
YelpRating, review count, address, phone, hours, categories, price range, photos count, individual reviews
TripAdvisorRating, review count, ranking, address, cuisine, price range, individual reviews with traveler type
DoorDashRating, review count, delivery fee, delivery time, menu items, popular items, individual reviews
UberEatsRating, review count, delivery fee, delivery time, menu categories, popular picks, individual reviews

Output Fields

Each restaurant profile includes:

{
"name": "Joe's Pizza",
"address": "7 Carmine St, New York, NY 10014",
"normalizedAddress": "7 carmine st new york ny 10014",
"phone": "(212) 366-1182",
"website": "https://joespizzanyc.com",
"cuisine": ["Pizza", "Italian"],
"priceRange": "$$",
"hours": { "monday": "10:00 AM - 4:00 AM", "..." : "..." },
"crossPlatformRating": 4.42,
"totalReviewCount": 8547,
"ratingConfidence": "high",
"platforms": {
"google": { "rating": 4.5, "reviewCount": 4200, "url": "..." },
"yelp": { "rating": 4.0, "reviewCount": 2800, "url": "..." },
"tripadvisor": { "rating": 4.5, "reviewCount": 1200, "url": "..." },
"doordash": { "rating": 4.6, "reviewCount": 215, "url": "..." },
"ubereats": { "rating": 4.5, "reviewCount": 132, "url": "..." }
},
"sentiment": {
"overall": "positive",
"score": 0.78,
"positiveCount": 412,
"negativeCount": 67,
"neutralCount": 145,
"topPraise": ["authentic", "crispy crust", "fast service", "great value"],
"topComplaints": ["long wait", "small portions", "cash only"],
"trendingTopics": ["new location", "late night"]
},
"popularDishes": [
{ "dish": "Pepperoni Slice", "mentions": 89, "sentiment": "positive" },
{ "dish": "Fresh Mozzarella Slice", "mentions": 45, "sentiment": "positive" }
],
"reviews": [
{
"platform": "google",
"author": "John D.",
"rating": 5,
"date": "2026-01-15",
"text": "Best pizza in NYC, hands down...",
"sentiment": "positive"
}
],
"analytics": {
"bestPlatformRating": { "platform": "doordash", "rating": 4.6 },
"worstPlatformRating": { "platform": "yelp", "rating": 4.0 },
"ratingSpread": 0.6,
"platformPresence": 5,
"reviewVelocity": "high"
},
"scrapedAt": "2026-03-02T12:00:00Z"
}

Use Cases

Restaurant Owners & Operators

  • Monitor your reputation across all review platforms in one place
  • Identify recurring complaints before they become trends
  • Track which dishes customers love (and which they don't)
  • Compare your ratings against competitors in your area

Food Industry Investors & Analysts

  • Due diligence on restaurant investments — see real customer sentiment
  • Market analysis: find underserved cuisines or locations
  • Track rating trends across a portfolio of restaurants
  • Identify high-performing restaurants for acquisition targets

Restaurant Consultants

  • Competitive landscape analysis for clients
  • Benchmark a client's restaurant against local competitors
  • Identify improvement areas from cross-platform review analysis
  • Data-driven recommendations backed by thousands of reviews

Food Bloggers & Media

  • Research restaurants before reviews with comprehensive data
  • Find trending restaurants and emerging food scenes
  • Identify the most-loved dishes at popular restaurants
  • Data journalism on dining trends and patterns

Delivery Platform Optimization

  • Compare delivery ratings vs dine-in ratings
  • Identify restaurants with high delivery demand (DoorDash/UberEats reviews)
  • Track delivery fee competitiveness across platforms

Pricing

$0.01 per restaurant analyzed (pay-per-event)

Each restaurant analyzed includes:

  • Full profile data from up to 5 platforms
  • Cross-platform rating aggregation
  • Sentiment analysis of collected reviews
  • Popular dish extraction
  • Competitive analytics

Example costs:

  • 50 restaurants in a city: $0.50
  • 200 restaurants for market research: $2.00
  • 500 restaurants for comprehensive analysis: $5.00

Input Examples

Single Restaurant Analysis

{
"searchQuery": "Joe's Pizza",
"location": "New York, NY",
"maxRestaurants": 1,
"includeReviews": true,
"maxReviewsPerRestaurant": 50
}

Cuisine Market Research

{
"searchQuery": "Thai restaurants",
"location": "San Francisco, CA",
"maxRestaurants": 100,
"includeReviews": true,
"maxReviewsPerRestaurant": 20
}

Quick Rating Comparison (No Reviews)

{
"searchQuery": "pizza",
"location": "Chicago, IL",
"maxRestaurants": 200,
"includeReviews": false
}

Tips for Best Results

  1. Use specific locations — "Austin, TX" works better than "Texas"
  2. Restaurant names should be exact — For single-restaurant lookup, use the exact name as it appears on Google Maps
  3. Enable proxies — Google, Yelp, and TripAdvisor aggressively block scrapers. Residential proxies are strongly recommended.
  4. Start small — Test with 5-10 restaurants first, then scale up
  5. Reviews add value — Keep includeReviews enabled for sentiment analysis and dish extraction. Disable only for quick rating-only scans.

Technical Details

  • Built with Apify SDK v3 and Crawlee CheerioCrawler
  • Inline scraping for all 5 platforms (no external actor dependencies)
  • 10+ rotating user agents with anti-bot measures
  • Address normalization for cross-platform deduplication
  • Keyword-based sentiment analysis (no external API calls)
  • Graceful degradation: if one platform blocks, others still work
  • Structured error handling with per-platform retry logic

Limitations

  • Review text availability depends on each platform's current page structure
  • DoorDash and UberEats data requires the restaurant to be listed on those delivery platforms
  • Sentiment analysis is keyword-based (not ML-based) for speed and zero external dependencies
  • Some platforms may serve different results based on proxy location
  • Rate limiting may slow down very large runs (500+ restaurants)

Integration — Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("sovereigntaylor/restaurant-review-intelligence").call(run_input={
"searchTerm": "example query",
"maxResults": 50
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item.get('title', item.get('name', 'N/A'))}")

Integration — JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('sovereigntaylor/restaurant-review-intelligence').call({
searchTerm: 'example query',
maxResults: 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(item.title || item.name || 'N/A'));