Place Review Aggregator avatar

Place Review Aggregator

Pricing

from $0.99 / 1,000 review collecteds

Go to Apify Store
Place Review Aggregator

Place Review Aggregator

Aggregate reviews for cafés, restaurants, shops, hotels and attractions from Google Maps, Yelp and Tripadvisor, plus Facebook recommendations and Swarm tips. Match one place across sources and export JSON or CSV with coverage notes.

Pricing

from $0.99 / 1,000 review collecteds

Rating

0.0

(0)

Developer

Zen Studio

Zen Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Place Review Aggregator (2026)

Compare reviews from 5 platforms. Request up to 50,000 in one export.
Google Maps · Yelp · Tripadvisor · Facebook · Swarm/Foursquare. Availability varies by place and source.

Place review aggregator: Google Maps, Yelp, Tripadvisor, Facebook and Swarm in one export

Combine reviews for cafés, restaurants, shops, hotels and attractions in one dataset. Collect Google Maps, Yelp and Tripadvisor reviews, plus optional Facebook recommendations and Swarm tips.

Enter a place name and address or an exact listing link. Use the form without code, or call the actor through the Apify API.

Free-plan preview: 5 lifetime runs, up to 20 reviews per run · 1–5 sources · 31 fields.
Place and review tools
Place Aggregator  Place Aggregator
➤ You are here
Google Reviews  Google Reviews
Reviews from Google only
Hotel Aggregator  Hotel Aggregator
Include hotel booking sites
Software Reviews  Software Reviews
G2, Capterra and more

Copy to your AI assistant

Place Review Aggregator (zen-studio/place-review-aggregator) on Apify. Aggregate Google Maps, Yelp and Tripadvisor reviews, plus optional Facebook recommendations and Swarm tips. Facebook requires an exact Page URL; combining it with a physical location requires facebookPageConfirmed=true after checking the Page association. Call ApifyClient("TOKEN").actor("zen-studio/place-review-aggregator").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Provide a name and location, or an exact place link/ID. Full spec: GET https://api.apify.com/v2/acts/zen-studio~place-review-aggregator/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Token: https://console.apify.com/account/integrations

Place reviews from five sources

  • Google reviews export: combine review text, star ratings, dates and owner replies from Google Maps, Yelp and Tripadvisor.
  • Place review aggregator: match the physical location before combining Google, Yelp, Tripadvisor and Swarm feedback. Facebook Page associations are explicitly confirmed by you and labeled in the summary.
  • Review data for analysis: retain the original language, source listing and source-specific details. Optional Facebook recommendations and Swarm / Foursquare tips add feedback without individual star ratings.
  • Review API and scheduling: export JSON or CSV, connect your reporting tools, and schedule repeat snapshots through Apify.

The default selection is Google Maps, Yelp and Tripadvisor. Facebook and Swarm are optional. Facebook returns a limited public subset and requires an exact Page link. A business does not need to exist on every site, and you can select a single source.

Measured result: Katz's Delicatessen in New York returned 6,000 unique reviews, 2,000 from each site, in 286 seconds on September 6, 2026. The run also recovered from a forced restart. Speed and available reviews vary by place and source.

How to scrape reviews for one place

  1. Open Place Review Aggregator and select Try for free.
  2. Enter the business name and full address. For chains, include the street or postcode.
  3. Choose sources and a maximum review count, then select Start.
  4. Open Output to inspect reviews and source coverage. Download as JSON, CSV, Excel or HTML.

Business name and address

This collects up to 100 reviews combined for the Eastcastle Street branch of Kaffeine in London. A free-plan preview applies its 20-review cap automatically.

{
"query": "Kaffeine",
"location": "15 Eastcastle Street, London, W1T 3AY, United Kingdom",
"sources": ["google", "yelp", "tripadvisor"],
"maxReviews": 100,
"sort": "newest"
}

Exact Google Place ID

An exact ID is useful when you already maintain a list of locations. This example needs no name or address. In the input form, clear the example name and address if they refer to a different business.

{
"googlePlaceId": "ChIJ6dpmcCsbdkgR0wcDN3XFut0",
"sources": ["google"],
"maxReviews": 10
}

Provide links to the same branch. Exact links guide matching; the sources selection still controls which sites contribute reviews. You can use sourceUrls with several links when a common business name is ambiguous.

{
"sourceUrls": {
"tripadvisor": "https://www.tripadvisor.com/Restaurant_Review-g186338-d9784345-Reviews-Kaffeine-London_England.html"
},
"sources": ["google", "tripadvisor"],
"maxReviews": 20,
"sort": "source_default"
}

Facebook Page recommendations

Select Facebook and provide its exact Page URL. This example collects up to six public recommendations for Element Coffee. Clear the example business name and address when using a Page link alone.

{
"sourceUrls": {"facebook": "https://www.facebook.com/ElementCoffeeUK"},
"sources": ["facebook"],
"maxReviews": 6
}

To combine Facebook with other sources, also provide the business name and address or an exact non-Facebook listing. Check that the Page represents that specific location, then enable This Facebook Page represents this business location (facebookPageConfirmed: true). A brand Page covering several locations should not be merged into one location's reviews. The summary labels the association matchBasis: user_confirmed_page; Page-only collection uses exact_page.

Facebook returns an unknown public subset, often far below its displayed review count. advertisedReviewCount is separate from reviewsDelivered. Reaching the end of the visible feed does not establish complete history. Source order is preserved, newest ordering is unverified, and Facebook results are not eligible for a complete monitoring checkpoint.

Review limits, sources and matching options

The Input tab contains the complete form. There are nine input fields; the defaults suit a first run.

InputDefaultPurpose
queryNoneBusiness name or an exact Google Maps, Yelp, Tripadvisor, Swarm/Foursquare or Facebook Page link
locationNoneCity or full address; required with a business name
maxReviews100Total across selected, matched sources, from 1 to 50,000
sourcesGoogle, Yelp, TripadvisorSelect any combination of google, yelp, tripadvisor, swarm, facebook
sortnewestNewest where supported, or source_default
sourceUrls{}Exact links under google, yelp, tripadvisor, swarm or facebook
googlePlaceIdNoneExact Google Place ID, with no name or address required
countryCodeNoneOptional two-letter country code, such as GB or US
facebookPageConfirmedfalseConfirm the Page represents this location before combining Facebook with a physical place or another source

One combined limit: maxReviews: 100 means up to 100 reviews for this place across all selected sources. The actor first shares that allowance across matched sources, then makes a bounded attempt to fill unused capacity from sources that reached their initial limit. Repeated reviews are deduplicated and are not charged twice. The total remains an upper limit, not an all-history guarantee.

Large exports: 50,000 is an input ceiling, not a guaranteed historical count. Availability, spending and collection limits can reduce the result. Swarm is capped at 1,000 tips. Facebook is capped at 1,000 recommendations, usually with a much smaller public subset available. Start with a small run to verify the branch before requesting more.

Place matching: the actor checks the selected place against available location and listing details. A similar name alone is not sufficient. If several candidates remain plausible, supply the full address or exact source links. Facebook is an explicit exception: the Page-to-location association is confirmed by you, not independently verified by the actor.

Matching corrections: when the branch is uncertain, the run summary includes actionRequired and, when available, possiblePlaces with listing names, addresses and links. These are suggestions to verify, not accepted matches. Use the correct exact link in a new run.

Language: reviews retain their original language. countryCode narrows place matching; it does not select English reviews. This version does not offer a language filter or automatic translation.

Sourcenewestsource_default
Google MapsLatest activity, including review editsMost relevant
YelpNewestNewest
TripadvisorSource order; newest ordering is unverifiedSource default
Swarm / FoursquareRecency is unverifiedPopular/source order
FacebookSource order; recency is unverifiedSource default

Reviews are not globally sorted across sites. Highest-rated, lowest-rated and star filters are not available in this version. You can filter or sort the collected dataset in your own reporting tool.

Review data: JSON output and source coverage

Every exported record represents one review, Facebook recommendation or written tip. The same 31 top-level fields appear across sources. Missing values are null; empty arrays mean no such entries were returned for that review.

Rating rules: rating uses a 1–5 scale when the review has a rating. Facebook recommendations and Swarm tips have rating: null. Facebook uses isRecommended: true, false or null; a recommendation is never converted into five stars or one star. A venue's overall rating is not substituted for an individual review rating.

Source detail: platformData preserves the collected source record. Swarm keeps its tip in reviewData and place details in sourcePlaceData. Nested fields differ by platform and can expand when sources expose more data.

Complete example review

This is a complete Tripadvisor record for Kaffeine Eastcastle, matching the name/address example above. All 31 top-level fields and all nested keys are included. The empty arrays and nulls are the actual values returned for this review.

{
"schemaVersion": 1,
"recordType": "review",
"platform": "tripadvisor",
"reviewKey": "tripadvisor:9784345:963672429",
"reviewId": "963672429",
"reviewUrl": "https://www.tripadvisor.com/ShowUserReviews-g186338-d9784345-r963672429-Kaffeine-London_England.html#review963672429",
"placeId": "google:ChIJ6dpmcCsbdkgR0wcDN3XFut0",
"placeName": "Kaffeine",
"place": {
"id": "google:ChIJ6dpmcCsbdkgR0wcDN3XFut0",
"name": "Kaffeine",
"address": "15 Eastcastle St, London W1T 3AY, United Kingdom",
"countryCode": "GB"
},
"sourcePlace": {
"id": "9784345",
"name": "Kaffeine",
"url": "https://www.tripadvisor.com/Restaurant_Review-g186338-d9784345-Reviews-Kaffeine-London_England.html"
},
"title": "75/25",
"text": "Pleasant atmosphere, although one of the waitresses was very surly. Good coffee and obviously popular with local workers.",
"language": "en",
"rating": 5,
"ratingOriginal": 5,
"ratingScale": "1-5",
"isRecommended": null,
"publishedAt": "2024-08-07T14:20:48+00:00",
"updatedAt": null,
"lastActivityAt": "2024-08-07T14:20:48+00:00",
"scrapedAt": "2026-09-05T20:51:44.342607+00:00",
"observedAt": "2026-09-05T20:51:53.854538+00:00",
"reviewer": {
"id": "B7A55827A3FD5E78F303085E7D4CCC53",
"name": "keepsmiling29",
"url": "https://www.tripadvisor.com/MemberProfile-a_uid.B7A55827A3FD5E78F303085E7D4CCC53",
"avatarUrl": "https://media-cdn.tripadvisor.com/media/photo-f/1a/53/a4/38/keepsmiling29.jpg",
"location": "Thaxted, United Kingdom",
"reviewCount": 25
},
"helpfulVotes": 0,
"ownerResponse": null,
"photos": [],
"videos": [],
"subratings": [],
"visit": {
"date": "2024-07"
},
"sourceRank": 1,
"platformData": {
"locationId": 9784345,
"placeName": "Kaffeine",
"placeKind": "restaurant",
"placeUrl": "https://www.tripadvisor.com/Restaurant_Review-g186338-d9784345-Reviews-Kaffeine-London_England.html",
"reviewId": "963672429",
"rating": 5,
"title": "75/25",
"text": "Pleasant atmosphere, although one of the waitresses was very surly. Good coffee and obviously popular with local workers.",
"publishedDate": "2024-08-07T10:20:48-04:00",
"publishedPlatform": "Desktop",
"travelDate": "2024-07",
"language": "en",
"helpfulVotes": 0,
"machineTranslated": false,
"subratings": [],
"reviewUrl": "https://www.tripadvisor.com/ShowUserReviews-g186338-d9784345-r963672429-Kaffeine-London_England.html#review963672429",
"ownerResponse": null,
"user": {
"userId": "B7A55827A3FD5E78F303085E7D4CCC53",
"username": "keepsmiling29",
"displayName": null,
"location": "Thaxted, United Kingdom",
"avatar": "https://media-cdn.tripadvisor.com/media/photo-f/1a/53/a4/38/keepsmiling29.jpg",
"profileUrl": "https://www.tripadvisor.com/MemberProfile-a_uid.B7A55827A3FD5E78F303085E7D4CCC53",
"joinedDate": "2011-03-23T10:42:40-0400",
"contributions": {
"reviews": 25,
"hotelReviews": 5,
"restaurantReviews": 16,
"attractionReviews": 4,
"photos": 2,
"helpfulVotes": 23
}
},
"scrapedAt": "2026-09-05T20:51:44.342607+00:00"
}
}

Field reference

FieldsMeaning
schemaVersion, recordType, platformFormat version, record type (review or Facebook recommendation), and source; Swarm uses foursquare
reviewKey, reviewId, reviewUrlCombined source/place/review key, native review ID and direct link
placeId, placeName, placeShared place identity, name and available address/country
sourcePlaceSource-specific listing ID, name and URL
title, text, languageReview heading, original text and language when available
rating, ratingOriginal, ratingScaleNormalized rating and original rating information; all null for Facebook
isRecommendedFacebook recommendation: true, false, or null when unknown; null on other sources
publishedAt, updatedAt, lastActivityAtPublication, edit and latest known activity timestamps
scrapedAt, observedAtCollection and observation timestamps
reviewerAvailable reviewer identity, profile link, avatar and other details
helpfulVotes, ownerResponseHelpful vote count and business reply, where available
photos, videos, subratings, visitMedia links, category ratings and visit information
sourceRank, platformDataPosition within the collected source results and additional source data

Read the coverage summary before drawing conclusions

The summary linked from Output reports the place or Page identity, requested and effective limits, delivered count, and each source's matching and collection outcome. Review records remain in the dataset when another source is unavailable.

A partial result may contain useful reviews. It does not prove that you have the complete history. coverage: unknown means completeness could not be established. Check issues and notes before comparing totals across sites.

monitorCheckpointEligible is currently false: a successful snapshot is not proof that every review since your previous run has been collected. globallySorted is also false because source order is preserved separately.

Advanced Usage: review exports and recurring analysis

Use place review data for reputation reporting, restaurant feedback analysis, competitor comparisons and your own sentiment analysis workflows.

Export Google reviews to CSV or Google Sheets

Download CSV or Excel from the dataset's Export menu. For recurring reports, connect the dataset to Google Sheets, Make or Zapier. Keep reviewKey, platform and sourcePlace so rows can be traced back to the original listing.

JSON retains nested reviewer, reply and source details. A flat spreadsheet may require you to select or expand nested columns for the particular analysis you want.

Schedule a daily review snapshot

Save a task with exact place links and start with a daily Apify schedule. Send an ACTOR.RUN.SUCCEEDED webhook to your reporting workflow, then fetch the dataset and coverage summary.

Deduplicate repeat snapshots by reviewKey. To detect edits, also compare lastActivityAt and the review text. Keep the same exact place identity across runs so a different anchor does not change your canonical placeId.

This is snapshot collection, not a built-in new-reviews monitor. A bounded snapshot may miss new reviews, especially on sources without verified chronological order. Increase limits when appropriate and retain the source coverage notes with each report.

Build a review API workflow in Python

Use your Apify token from API & Integrations. The dataset belongs to your run. Source collection is included in the review price.

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("zen-studio/place-review-aggregator").call(
run_input={
"query": "Kaffeine",
"location": "15 Eastcastle Street, London, W1T 3AY, United Kingdom",
"sources": ["google", "yelp", "tripadvisor"],
"maxReviews": 100,
}
)
for review in client.dataset(run["defaultDatasetId"]).iterate_items():
print(review["platform"], review["rating"], review["text"])
summary = client.key_value_store(run["defaultKeyValueStoreId"]).get_record("OUTPUT")
print(summary["value"]["sources"])

Prepare reviews for sentiment analysis

Use text as the analysis input and retain language, rating, platform and the review date as context. Analyze each source separately before combining results, since source audiences and review availability differ.

The actor supplies the review dataset. Sentiment scores, summaries and business recommendations are produced by your own analysis tools.

How much does collecting place reviews cost?

The collection price is $2.49 per 1,000 reviews on Free and Bronze, $1.49 on Silver, and $0.99 on Gold and higher plans. Google Maps, Yelp and Tripadvisor reviews, Facebook recommendations and Swarm tips use the same review event. Only delivered records are charged, including recommendations whose text or recommendation value is unavailable.

Apify tierPrice per 1,000 reviews
Free / no tier discount$2.49
Bronze$2.49
Silver$1.49
Gold, Platinum and Diamond$0.99
Collected reviewsBase review-event charge
10$0.0249
100$0.249
1,000$2.49

These examples show the review-event charge. Additional Apify platform events apply. Check the actor's Pricing tab for the current platform fees and effective rate on your plan.

Free-plan users receive five lifetime preview runs, each capped at 20 reviews. Previews use your Apify credits at the applicable rate. Paying plans remove the preview cap; the requested review limit and spending limit still apply.

If your spending limit cannot cover the request, the actor reduces the effective review limit before collection. The summary reports requestedMaxReviews, effectiveMaxReviews and limitReason.

Place review scraper FAQ

What is a place review aggregator?

A place review aggregator combines feedback about the same café, restaurant, shop, hotel or attraction from several review websites. This actor matches one location across Google Maps, Yelp and Tripadvisor, with optional Swarm tips and Facebook recommendations. Facebook requires an exact Page URL and your confirmation before merging it with a physical location.

How do I scrape all Google reviews?

Select Google and increase maxReviews after checking the listing. This actor returns up to the requested limit, subject to availability and collection limits; it does not guarantee the complete history.

For a dedicated Google-only workflow, see Google Maps Reviews Scraper.

What is the Google reviews API alternative here?

Google offers Places API for place data and Business Profile review access for managed locations. Choose the official product that fits your access and intended use.

This actor is useful when your reporting needs a shared dataset across Google Maps, Yelp and Tripadvisor. Review availability, fields and usage terms differ between the official products and this collection workflow.

How do I export Google Maps reviews to CSV?

Run with sources: ["google"], then choose CSV from the dataset's Export menu. For a combined export, keep the default source selection. Include platform in the exported columns to distinguish the review sites.

Can I collect replies and star ratings too?

Yes, where the source returns them. Ratings appear in rating, and business replies in ownerResponse. A missing reply remains null. Facebook recommendations and Swarm tips do not have individual star ratings. Facebook recommendation values appear in isRecommended.

Can I scrape all Facebook reviews?

No. The actor collects the public recommendations currently available to it, which can be a small subset of the Page's displayed count. The summary retains partial results and reports the stop reason. Facebook uses recommendations rather than individual star ratings; keep these separate from star averages.

Which free plan or trial is available?

You can try five lifetime runs on a free Apify plan, with up to 20 reviews per run. Preview runs consume your available Apify credits. A paying Apify plan removes these preview restrictions.

Do I need website accounts or cookies?

You use your Apify account. The input form does not ask for Google, Yelp, Tripadvisor, Facebook or Swarm cookies or login details. It collects available public listing reviews; it cannot retrieve private feedback.

Why are fewer reviews returned than requested?

A source may have fewer available reviews, an uncertain match, an incomplete collection or a source-specific limit. The actor shares the combined allowance across sources and attempts to fill unused capacity from healthy sources with more reviews. Source limits, availability and collection safeguards can still leave the total unfilled. The summary identifies the outcome for each site.

How do I avoid mixing two nearby branches?

Use a full street address and postcode, then add exact source links when available. Keep all links pointed at the same branch. If the actor cannot verify a source match, it reports that outcome instead of treating a similar name as sufficient evidence.

Can I monitor only new reviews?

You can schedule daily snapshots and deduplicate them in your own workflow. This version does not maintain a cross-run checkpoint for new reviews. The coverage summary explains which sources have unverified recency or completeness.

Does the actor support sentiment analysis?

It exports review text and useful context for your sentiment analysis tools. It does not assign sentiment scores. Keep original language and source information when sending the data to an analysis workflow.

Does a hotel or restaurant include additional specialist sites?

This version uses the five sources listed in the input form. For a separate export of TheFork feedback, use TheFork Restaurant Reviews. For hotel booking-site feedback, use Hotel Review Aggregator. For G2, Capterra and Trustpilot, use Software Review Scraper.

Can I collect every cafe in Manhattan?

Find businesses by category and area with Google Maps Scraper, or build a contact list with Business Leads Scraper. Then pass each place link, or business name and full address, to this aggregator in a separate run. Google Maps Reviews Scraper also accepts several Google listings when you only need Google reviews.

Is scraping place reviews allowed?

Check the source websites' terms and the rules that apply to your use. Public availability is not permission to republish everything. Review text, reviewer profiles and photos may carry copyright or personal-data obligations.

Use appropriate attribution and retention rules. For personal data, consider the GDPR, UK data protection requirements and the CCPA where applicable. Obtain advice for your particular use if you are uncertain.

Learn to run and schedule Apify actors

These official tutorials show how to start an actor and create a schedule:

More Zen Studio & Clearpath review scrapers

🔗 Review aggregators

📍 Individual review sources

Support and responsible use

Report unexpected results through the actor's Issues tab and include the run ID plus the affected place. For a custom review workflow, contact Zen Studio.

Google Maps, Yelp, Tripadvisor, Facebook, Swarm and Foursquare belong to their respective owners. This actor is not affiliated with them. Use the collected data in line with source terms, copyright and applicable data protection requirements.

Open Place Review Aggregator and try your first place.


Place Review Aggregator combines Google Maps, Yelp and Tripadvisor reviews, Facebook recommendations and Swarm / Foursquare tips in one structured dataset.