# ReviewHook > One API for every review platform. Fetch, reply to, and monitor reviews across Google Play, App Store, Google Business, G2, Trustpilot, Yelp, and more — under a single unified schema. ReviewHook aggregates reviews from every major platform through one REST API with one consistent schema, so teams integrate once instead of maintaining a connector per source. API base URL: `https://api.reviewhook.dev`. Currently in beta / early access. ## Pages - [Homepage](https://reviewhook.dev/): product overview, supported platforms, and example API calls. ## Documentation - [Docs home](https://reviewhook.dev/docs): entry point for the ReviewHook API reference (in progress). The documentation covers: - **Authentication**: API keys sent as plain request headers. Two key types per workspace: a **private key** (`rev_live_...` via the `api-key` header) that authorizes every endpoint, and a **public key** (`rev_pub_...` via the `api-key-public` header) scoped to read-only review reads (`GET /reviews`, `GET /reviews/{id}`). - **Unified review schema**: the normalized shape every platform maps onto — `id`, `platform`, `rating`, `title`, `body`, `author`, `createdAt`, `updatedAt`, `language`, `url`, `response` — so consumers write one integration instead of one per source. - **Supported platforms**: Google Play, Apple App Store, Google Business Profile, G2, Trustpilot, Yelp, and additional sources added over time. Platform-specific quirks (rate limits, auth model, reply eligibility) are called out per connector. - **Endpoints**: - `GET /reviews` — list and filter reviews across platforms. Query params include `platform` (comma-separated), `minRating`, `maxRating`, `since`, `until`, `language`, `cursor`, `limit`. - `GET /reviews/{id}` — fetch a single review by its unified ID. - `POST /reviews/{id}/reply` — post a reply to a review on the originating platform (where the platform supports replies). - `GET /platforms` — enumerate connected platforms and their capabilities (read / reply / monitor). - `POST /webhooks` — register a webhook to receive new-review and reply-status events. - **Pagination**: cursor-based via `cursor` + `limit` query params; responses include `nextCursor` when more data is available. - **Rate limits**: per-key limits with `X-RateLimit-Remaining` / `X-RateLimit-Reset` response headers; platform-level throttling is applied transparently. - **Webhooks**: signed payloads (HMAC signature in `X-ReviewHook-Signature`) delivered for `review.created`, `review.updated`, and `reply.delivered` events. Includes retry policy and signature verification guidance. - **Errors**: conventional HTTP status codes with a JSON body of the form `{ "error": { "code", "message", "details" } }`. Common codes: `invalid_api_key`, `platform_unavailable`, `reply_not_supported`, `rate_limited`. - **SDKs and quickstarts**: cURL examples throughout; first-class SDKs and framework quickstarts added as they ship.