Docs / API reference

Stats

The numbers agencies and multi-location teams put in their reports, computed from the reviews Prisma already has: how many reviews arrived, the average rating, reviews per star, how many got a reply and how fast, and which negative reviews are still unanswered. One call per workspace, location or platform, for any period. Stats are plain counts and averages: no AI, no extra calls to the platforms, and included in every plan.

The stats object

JSON
{
  "since": "2025-10-28T00:00:00.000Z",
  "until": "2026-10-28T00:00:00.000Z",
  "location_id": "loc_01KJ8P9W2C4D6F8G0H2J4K6M8N",
  "platform": null,
  "reviews": 214,
  "average_rating": 4.37,
  "ratings": { "1": 9, "2": 7, "3": 15, "4": 48, "5": 135 },
  "replied": 181,
  "reply_rate": 0.846,
  "median_reply_hours": 6.5,
  "unreplied_negative": 3,
  "by_month": [
    { "month": "2026-09", "reviews": 21, "average_rating": 4.43, "replied": 19 },
    { "month": "2026-10", "reviews": 18, "average_rating": 4.5, "replied": 15 }
  ]
}
FieldTypeDescription
since, untiltimestampThe period, by when reviews were written on the platform (created_at). since is included, until is not.
location_id, platformstring | nullThe filters you sent, or null.
reviewsintegerReviews written in the period.
average_ratingnumber | nullAverage of the 1–5 ratings, 2 decimals. Reviews without a rating are counted in reviews but not here. null without rated reviews.
ratingsobjectReviews per star, "1" to "5".
repliedintegerReviews with a published reply, whether you sent it through Prisma or answered on the platform. Queued and failed replies don’t count.
reply_ratenumber | nullreplied / reviews, from 0 to 1. null without reviews.
median_reply_hoursnumber | nullMedian time between a review and its reply, in hours, 1 decimal. null when there are no replies with a date.
unreplied_negativeintegerReviews of 1 or 2 stars without a published reply: the ones to answer first.
by_montharrayOne entry per calendar month (UTC) with reviews, oldest first: month (YYYY-MM), reviews, average_rating, replied.

Stats only cover the reviews Prisma stores, so they start when you connected the location, plus the history each platform returns on the first check (see Platforms), and follow your plan’s retention.

Get workspace stats

GET /v1/stats

Stats for every location of your workspace in the mode of your key. Test keys return stats of the sample reviews.

ParameterDescription
location_idOnly this location.
platformOnly this platform, e.g. google or app_store.
sinceStart of the period: a date (2026-01-01, midnight UTC) or an ISO 8601 timestamp with offset. Default: 12 months before until.
untilEnd of the period, not included. Default: now.
api.prismareviews.com/v1
curl "https://api.prismareviews.com/v1/stats?platform=google&since=2026-01-01" \
  -H "Authorization: Bearer $PRISMA_API_KEY"

Returns 200 with the stats object. 422 invalid_request for an unknown platform, a since or until that can’t be read, or a since that isn’t earlier than until.

Get a location’s stats

GET /v1/locations/{id}/stats

The same object for one location, with since and until as above. 404 resource_not_found if there is no location with that ID in your workspace and mode.

cURL
curl "https://api.prismareviews.com/v1/locations/loc_01KJ8P9W2C4D6F8G0H2J4K6M8N/stats?since=2026-01-01" \
  -H "Authorization: Bearer $PRISMA_API_KEY"

To build a report for every client or store, list your locations and call this endpoint for each one, or call GET /v1/stats once per platform.

Monthly review reports, from one API call.

Get API key

2 locations free, then plans from €49 a month.

Updated Oct 28, 2026 · Markdown · llms.txt