<!-- Supported Review Platforms: How Each One Connects · Prisma · https://prismareviews.com/docs/api-reference/platforms -->
> How each platform connects to the Prisma reviews API (OAuth, credentials or listing URL), the exact credential fields, reply support, reply limits and sync frequency.

# Platforms

Prisma reads reviews from eleven platforms and returns them in the same JSON. This page lists, for each one, the `platform` ID, how it connects with [`POST /v1/connections`](/docs/api-reference/connections), whether Prisma can publish replies there and how often Prisma checks for new reviews.

## Summary

| Platform | `platform` | Connects with | Replies | Reply limit | Delete reply | Plans |
| --- | --- | --- | --- | --- | --- | --- |
| Google Business Profile | `google` | OAuth | By API | 4,096 bytes | Yes | All |
| App Store | `app_store` | Credentials | By API | 5,970 characters | Yes | All |
| Google Play | `google_play` | Credentials | By API | 350 characters | No | All |
| Judge.me | `judge_me` | Credentials | By API (no edits) | — | No | All |
| Trustpilot (beta) | `trustpilot` | OAuth + credentials | By API | — | Yes | All |
| Yelp (beta) | `yelp` | Listing URL | Read only | — | — | Beam and up |
| Tripadvisor (beta) | `tripadvisor` | Listing URL | Read only | — | — | Beam and up |
| Booking.com (beta) | `booking` | Listing URL | Read only | — | — | Beam and up |
| Yotpo (beta) | `yotpo` | Credentials | Read only | — | — | Beam and up |
| REVIEWS.io (beta) | `reviews_io` | Credentials | Read only | — | — | Beam and up |
| G2 (beta) | `g2` | Credentials | Read only | — | — | Beam and up |

- **By API:** Prisma publishes the reply through the platform's official API (`202`, `status: "queued"`, then `published`).
- **Read only:** the platform has no reply API for third parties. Prisma reads the reviews, and each review's `url` links to where you answer it on the platform (for some platforms, the listing or product page). `POST` and `DELETE /v1/reviews/{id}/reply` return `422 reply_not_supported`. Prisma never logs into a customer's account.
- **—** in the limit column means Prisma's own limit of 10,000 characters applies.
- Connecting a platform that isn't in your plan returns `403 plan_upgrade_required`. Plans are on [Pricing](/pricing).

## How often Prisma checks for reviews

The first sync starts as soon as a location is connected. After that:

| Platforms | Spark | Beam | Spectrum | Aurora |
| --- | --- | --- | --- | --- |
| Google Business Profile | Every 24 hours | Every 24 hours | Every 24 hours | Every 24 hours |
| App Store, Google Play, Judge.me, Trustpilot | Every 60 minutes | Every 60 minutes | Every 15 minutes | Every 15 minutes |
| Yelp, Tripadvisor, Booking.com, Yotpo, REVIEWS.io, G2 | Not included | Every 6 hours | Every 60 minutes | Every 30 minutes |

`last_synced_at` and `next_sync_at` on each [location](/docs/api-reference/locations) show the schedule, and `review.created` [webhooks](/docs/api-reference/webhooks) fire when a new review is found. The first sync imports up to 90 days of history on Spark, 365 days on Beam and everything the platform returns on Spectrum and Aurora.

## Google Business Profile

`"platform": "google"` · OAuth · replies by API · [Google Business Profile API](/google-business-profile-api)

```json
{ "platform": "google", "redirect_url": "https://yourapp.com/prisma/callback" }
```

- The owner or a manager of the profile approves access on Google's consent screen (scope `business.manage`). Prisma imports every location that account can see, one location per Business Profile location.
- Prisma uses its own Google Cloud project, so you don't need one.
- Replies: up to 4,096 bytes; posting again replaces the reply; deleting is supported.
- Google limits edits per profile (see [Google Business Profile API usage limits](https://developers.google.com/my-business/content/limits)). Prisma queues replies and retries when Google answers with 429.

## App Store

`"platform": "app_store"` · credentials · replies by API · [App Store reviews API](/app-store-reviews-api)

Create an App Store Connect API key with the **Customer Support** role (App Store Connect → Users and Access → Integrations) and send:

| Field | Description |
| --- | --- |
| `issuer_id` | Your issuer ID (a UUID). |
| `key_id` | The 10-character key ID. |
| `private_key` | The full contents of the `.p8` file, including the `BEGIN PRIVATE KEY` line. Keep the line breaks as `\n` in JSON. |

```json
{
  "platform": "app_store",
  "credentials": {
    "issuer_id": "57246542-96fe-1a63-e053-0824d011072a",
    "key_id": "2X9R4HXF34",
    "private_key": "-----BEGIN PRIVATE KEY-----\nMIGTAgEAMBMG...\n-----END PRIVATE KEY-----"
  }
}
```

Each app the key can see becomes a location (`address` holds the bundle ID). Replies: up to 5,970 characters; posting again replaces the reply; deleting is supported. Apple applies hourly limits per key (see [App Store Connect API rate limits](https://developer.apple.com/documentation/appstoreconnectapi/identifying-rate-limits)).

## Google Play

`"platform": "google_play"` · credentials · replies by API · [Google Play reviews API](/google-play-reviews-api)

In Play Console, invite Prisma's service account, `reviews@sopa-reviews-play.iam.gserviceaccount.com`, with the permissions **Reply to reviews** and **View app information**, for the apps you want to connect. Then send their package names:

| Field | Description |
| --- | --- |
| `package_names` | Array of 1 to 200 Android package names, like `com.example.app`. |

```json
{ "platform": "google_play", "credentials": { "package_names": ["com.example.app"] } }
```

Prisma checks access to every package when you connect, so a typo or a missing invitation returns `422 invalid_credentials` at once. Each package becomes a location.

- The Google Play API only returns reviews created or edited in the last 7 days. Older reviews aren't available, so your history is what Prisma has stored since you connected.
- Replies: up to 350 characters; posting again replaces the reply; Google Play's API can't delete replies (`422 operation_not_supported`). See [Google Play reply-to-reviews limits](https://developers.google.com/android-publisher/reply-to-reviews).

## Judge.me

`"platform": "judge_me"` · credentials · replies by API · [Judge.me reviews API](/judge-me-reviews-api)

| Field | Description |
| --- | --- |
| `shop_domain` | The shop's `myshopify.com` domain, like `example-store.myshopify.com`. |
| `api_token` | The private API token from Judge.me (Settings → Integrations → Developers). |

One location per shop, with all its product and store reviews. Judge.me's API can create replies but can't edit or delete them: send each reply once (`DELETE` returns `422 operation_not_supported`). Its API doesn't return replies written elsewhere, so `reply` only shows replies sent through Prisma.

## Trustpilot (beta)

`"platform": "trustpilot"` · OAuth plus credentials · replies by API · [Trustpilot API](/trustpilot-api)

Trustpilot's OAuth doesn't say which profile the user manages, so send the profile's domain with the request:

| Field | Required | Description |
| --- | --- | --- |
| `credentials.domain` | yes | The domain of the Trustpilot profile, like `example.com`. |
| `credentials.business_user_id` | no | The Trustpilot business user who signs replies. |
| `redirect_url` | yes | Where the user lands after approving. |

```json
{
  "platform": "trustpilot",
  "redirect_url": "https://yourapp.com/prisma/callback",
  "credentials": { "domain": "example.com" }
}
```

A business user of that profile approves access. The business needs Trustpilot's API module on its account. One location per business unit. Replies can be replaced and deleted.

## Yelp, Tripadvisor and Booking.com (beta)

`"platform": "yelp" | "tripadvisor" | "booking"` · listing URL · read only · [Yelp](/yelp-reviews-api), [Tripadvisor](/tripadvisor-reviews-api), [Booking.com](/booking-com-reviews-api)

| Platform | `listing_url` must look like |
| --- | --- |
| Yelp | `https://www.yelp.com/biz/…` |
| Tripadvisor | `https://www.tripadvisor.com/…_Review-…` (any Tripadvisor country domain) |
| Booking.com | `https://www.booking.com/hotel/…` |

```json
{ "platform": "tripadvisor", "listing_url": "https://www.tripadvisor.com/Restaurant_Review-g187514-d1234567-Reviews-Example_Cafe-Madrid.html" }
```

One connection is one listing. Prisma reads the public reviews of the listing through a data provider; connect only listings of businesses you own or manage. Each check collects up to 1,000 reviews, and results arrive a few minutes after the check starts. Read only: answer reviews on the platform, with the link in each review's `url`.

## Yotpo, REVIEWS.io and G2 (beta)

Credentials · read only · [Yotpo](/yotpo-reviews-api), [REVIEWS.io](/reviews-io-api), [G2](/g2-reviews-api)

| Platform | Fields |
| --- | --- |
| Yotpo (`yotpo`) | `store_id` (the Store ID, also called app key) and `api_secret`. One location per store. Yotpo's own data can take up to an hour to show new reviews. |
| REVIEWS.io (`reviews_io`) | `store` (the store key) and `api_key` (the private API key, from Integrations → API). One location per store, with company and product reviews. |
| G2 (`g2`) | `api_token` (a G2 API token with access to product reviews) and, optionally, `products`: 1 to 200 product UUIDs or slugs. Without `products`, Prisma imports the products the account owns. One location per product. |

```json
{ "platform": "reviews_io", "credentials": { "store": "example-store", "api_key": "your-private-api-key" } }
```

These platforms' APIs can read reviews but not reply to them, so they are read only: each review's `url` links to where you answer it. G2 answers `403` when the vendor's G2 plan doesn't include API access to reviews; Prisma returns that as `422 invalid_credentials` at connection time.

## Not supported

- **Facebook:** Meta removed the Page ratings API in Graph API v22.0.
- **Amazon** and **Glassdoor:** not supported.

The full overview, with setup notes, is on [Integrations](/integrations).

## FAQ

### Why can't I reply to Yelp, Tripadvisor and Booking.com reviews through Prisma?

Those platforms have no API to reply to reviews for third parties. Prisma reads their reviews, and each review includes a `url` to answer it on the platform. A reply request returns `422 reply_not_supported`. Prisma never logs into a customer's account.

### Is Facebook supported?

No. Meta removed the Page ratings API in Graph API v22.0. Amazon and Glassdoor are not supported either.

### Do I need my own Google Cloud project?

No. Prisma uses its own Google Cloud project for the Business Profile API. The owner or a manager of the profile only approves access with OAuth.
