Prisma Reviews / Guides / Aggregate reviews in your app

How to aggregate customer reviews from different sites into your app

Short answer: connect each review platform once, store every review in one table keyed by platform and review id, and update it from webhooks instead of polling. You can do that with each platform’s own API, with a scraper, or with one reviews API that does the connecting for you. For businesses and apps you own or manage, a unified reviews API such as Prisma Reviews returns reviews from 84 platforms in one JSON format with one API key, and replies by official API where the platform allows it.

The three ways to aggregate reviews

ApproachWhat you buildWorks forThe catch
Each platform’s own APIOne integration per platform: auth, pagination, rate limits, data mappingYour own businesses and appsEvery platform is different, and some barely give you anything (Google Play’s API returns only the last 7 days, Yelp’s 3 excerpts per business)
Scraping or a public-data providerCalls to a scraping service, per review or per searchAny business, yours or notRead only, no replies, and it breaks or gets blocked when pages change
A unified reviews APIOne integrationBusinesses and apps you own or manageYou depend on one vendor; check which platforms it covers and how it connects to each

The platform limits are real and documented: Google Play keeps 7 days in its API, Yelp returns 3 review excerpts, and Google’s Places API returns at most 5 reviews per place, while the full feed needs the Google Business Profile API and its approval. Which platforms have an API at all is in this table.

Step by step with one reviews API

1. Connect each platform once

The business connects each account: an official sign-in or API token where the platform has an official API, or the address of its own public page where it doesn’t. You can create connections from your app with the API, or send your customer a connect link.

cURL
curl -X POST https://api.prismareviews.com/v1/connections \
  -H "Authorization: Bearer $PRISMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform": "yelp", "listing_url": "https://www.yelp.com/biz/acme-coffee-san-francisco"}'

2. Read every review in one format

Every review comes back with the same fields, whatever the platform: id, platform, location_id, rating (1 to 5), text, author, created_at, reply and url. Page through with cursor until next_cursor is null.

api.prismareviews.com/v1
curl "https://api.prismareviews.com/v1/reviews?limit=50" \
  -H "Authorization: Bearer $PRISMA_API_KEY"

3. Keep it fresh with webhooks

Register a webhook and Prisma sends review.created and review.updated for every platform, including the ones that have no webhooks of their own (Prisma checks those on a schedule that depends on the plan). Events carry ids only: fetch the review with GET /v1/reviews/{id} and upsert it, so a late or repeated event never overwrites newer data. The webhooks reference covers signatures and retries.

4. Show them, or answer them

Show the reviews in your own UI, compute your own averages, or let your users reply: POST /v1/reviews/{id}/reply publishes their text through the platform’s official API where it allows replies, and returns 422 reply_not_supported with the review’s url where it doesn’t. See which review APIs let you reply.

Data model tips

Try it without connecting anything

A test key (pk_test_…) returns sample reviews from every platform in the real format, so you can build the table, the webhook handler and the UI before a customer connects a single account. Start with the quickstart, or get a free key: 2 locations are free.

Next step: compare plans on Prisma Reviews pricing.

Get your API key in a minute

Free Spark plan: 2 locations, no card. Test keys return sample data on all 84 platforms, so you can build before connecting a real one.