Updated Oct 2026
Multi-location review management: every location, one feed
Multi-location review management is hard because every location is its own profile, with its own login and its own inbox. Prisma is one API that pulls the reviews of all your locations on Google, Trustpilot, the App Store, Google Play and other platforms into a single feed, in one JSON format. You set alerts per location, compare locations side by side and reply from your own tools.
2 locations free, then plans from €49 a month. No card required.
The problem: 30 locations, 30 inboxes, nobody sees the pattern
A restaurant group with 30 venues has 30 Google Business Profiles. A franchise network can have hundreds. Each manager checks their own profile, or doesn’t.
What head office can’t see:
- Which location got three 1-star reviews this week about the same thing.
- Which managers answer within a day and which never answer.
- Whether the new menu moved the average rating in the venues that launched it.
The data exists. It’s just split across one profile per location.
How chains and franchises handle it today
| Approach | Upside | Cost |
|---|---|---|
| Each location manager handles their own profile | No tooling | No group view. Response quality depends on the manager. |
| All-in-one reputation suite | Dashboards, surveys, messaging | Usually quote-only pricing and a sales process. You pay for modules you may not use. |
| Your own build on each official API | Full control | One integration per platform. Google Business Profile API access needs its own application, and Google returns reviews in pages of up to 50 (reviews.list). |
| Prisma | One API, all locations, your tools | Published plans by connected locations. |
If your team wants a finished interface and nobody will write code, an all-in-one suite is the simpler path. If you already have a BI tool, an intranet or a developer, Prisma feeds them without another platform to log into.
How multi-location review management works with Prisma
Every location connects to Prisma once. From there you get three outputs: one review feed for your BI tool or intranet, alerts per location through webhooks, and the raw data to compare locations.
One feed for every location
Connect the Google account that owns or manages your locations once with POST /v1/connections. GET /v1/locations lists every location Prisma found under that account, up to your plan’s limit. GET /v1/reviews returns reviews across every location, or one location with location_id.
curl "https://api.prismareviews.com/v1/reviews?platform=google&since=2026-10-01T00:00:00Z" \
-H "Authorization: Bearer $PRISMA_API_KEY"Every review has the same fields: id, platform, location_id, rating, title, text, author, language, created_at, reply and url. Your Trustpilot reviews come back in the same shape (see the Trustpilot API page), and so do listings on Yelp, Tripadvisor and Booking.com from the Beam plan.
Alerts per location
Register an endpoint with POST /v1/webhooks and subscribe to review.created. Each event carries the review id, its location_id and the platform. Fetch the review, then route it by location to that venue’s manager, and send anything at 1 or 2 stars to the area manager too.
// Node.js 18+ with Express: route low ratings to the right venue
import crypto from "node:crypto";
import express from "express";
const app = express();
app.post("/webhooks/prisma", express.raw({ type: "application/json" }), async (req, res) => {
// Prisma-Signature: t=<unix>,v1=<HMAC-SHA256 hex of "t.body">
const sig = Object.fromEntries(req.get("Prisma-Signature").split(",").map((p) => p.split("=")));
const expected = crypto.createHmac("sha256", process.env.PRISMA_WEBHOOK_SECRET)
.update(`${sig.t}.${req.body}`).digest("hex");
const fresh = Math.abs(Date.now() / 1000 - Number(sig.t)) < 300;
if (!fresh || sig.v1 !== expected) return res.sendStatus(400);
const event = JSON.parse(req.body);
if (event.type === "review.created") {
const r = await fetch(`https://api.prismareviews.com/v1/reviews/${event.data.id}`, {
headers: { Authorization: `Bearer ${process.env.PRISMA_API_KEY}` },
});
const review = await r.json();
if (review.rating <= 2) notifyChannel(`#venue-${review.location_id}`, review);
}
res.sendStatus(200);
});How fast an alert arrives depends on how often Prisma checks each platform, and higher plans check more often. See pricing for each plan’s check frequency.
Compare locations
Because every review carries location_id, rating, created_at and reply.created_at, three numbers per location take one query in your warehouse:
- Average rating over the last 90 days.
- Reply rate: reviews with a reply divided by total reviews.
- Median reply time:
reply.created_atminuscreated_at.
Prisma doesn’t calculate these for you. It gives you clean data in one shape, so the table takes minutes to build and the outliers show up immediately.
Reply from your own tools
Post a reply with POST /v1/reviews/{id}/reply. Your managers can answer from the intranet, a shared inbox or a Slack action, without Google logins for every venue. Google, Trustpilot, App Store, Google Play and Judge.me replies are published through the official API; Yelp, Tripadvisor and Booking.com are read only, and each review includes a link the venue uses to answer it on the platform.
Example: a 30-venue restaurant group
This is an illustrative example, not a customer. A group runs 30 restaurants across three cities. They connect all 30 Google profiles in one authorization through the group’s Google account. Every Monday, the operations team gets a table built from the API: rating per venue for the last 7 days, unanswered reviews and the slowest repliers. Any 1-star review is routed to the venue manager’s Slack channel by the webhook handler above.
Pricing for multi-location brands
| Locations | Plan | Monthly price |
|---|---|---|
| Up to 2 | Spark | Free |
| Up to 10 | Beam | €49 (€39 billed yearly) |
| Up to 50 | Spectrum | €149 (€119 billed yearly) |
| Up to 200 | Aurora | €499 (€399 billed yearly) |
| More than 200 | Custom | Contact us |
One location is a Google location, an app in one store, a Trustpilot business unit or a listing on another platform. A venue on Google and Tripadvisor counts as two. See full pricing.
Prisma is an API, not an end-user dashboard. Working with an agency? Point them to Prisma for agencies. Only need Google? Read Google review management. Every endpoint is in the API reference.
FAQ
Can I connect all locations at once?
Yes, if one Google account owns or manages them. One authorization gives Prisma access to the locations under that account, up to your plan’s limit, and GET /v1/locations lists them.
Do franchisees have to share their passwords?
No. Each franchisee approves access with OAuth from their own Google account, as a separate connection. They can revoke it at any time.
How often are reviews updated?
Prisma checks each platform on a schedule that depends on your plan, and sends a review.created webhook when it finds a new review. You can also call GET /v1/reviews with since on any schedule you like.
Are there Google rate limits I need to know?
Google gives approved Business Profile API projects a default quota of 300 queries per minute. Prisma calls Google from its own project and manages that quota, so you only deal with Prisma’s per-key rate limit.
Can I include locations on Yelp or Tripadvisor?
Yes, from the Beam plan, in beta. Prisma reads the reviews of the listings you own. Those platforms have no reply API for third parties, so each review includes a link to answer it on Yelp or Tripadvisor.
See every location's reviews in one feed
Get an API key, connect your first 2 locations for free and pull your first feed today. Read the quickstart, and the Google Business Profile API quota guide if you plan to call Google yourself too. More on the Google Business Profile API.
2 locations free · Plans from €49 a month · No demo, no sales call