# PowerReviews > PowerReviews is a ratings-and-reviews platform for retailers and brands. It collects, moderates, syndicates and displays user-generated reviews, questions, answers and visual content on product detail pages. It publishes two public HTTP API surfaces — a Read API for retrieving content and a Write API for submitting it — plus a CDN-hosted display widget that most customers integrate instead of the API. PowerReviews is part of Syndigo. Generated by the API Evangelist enrichment pipeline on 2026-08-13 from the provider's own developer portal and live probes. PowerReviews does not publish an llms.txt of its own (https://www.powerreviews.com/llms.txt returns 404, checked 2026-08-13). ## Operating notes for agents - Both APIs authenticate with a merchant-scoped `apikey` **query parameter**. The Read and Write keys are separate credentials. - Keys are not self-service. They are issued by emailing support@powerreviews.com with the brand you are supporting and a description of the integration. Agency campaign integrations go through sampling@powerreviews.com instead. - Every Read API path is rooted at `/m/{merchantId}` and most also carry `/l/{locale}` (for example `en_US`). Nothing is global — you always need a merchant id. - Paging is offset-based: `paging.size` (1–25) and `paging.from`. Their sum must not exceed 10,000. Walk large corpora with `date` + `updated_date_query=true` instead of deep offsets. - The Read API is rate limited to 1,800 requests per IP per 5 minutes. Exceeding it blocks the IP for 5 minutes. There are **no** RateLimit-* headers, no Retry-After and no 429 — you get no warning. PowerReviews' documented mitigation is to cache responses rather than call per page load. - Errors are a proprietary JSON envelope `{url, message, status_code}`, not RFC 9457 problem details. There is no stable machine-readable error code. - The Write API has **no idempotency contract**. A retried submission can create duplicate user-generated content. De-duplicate on `merchant_question_id` or `unique_review_id`. - Review submission requires an iOvation device-fingerprint `iovation_black_box` value produced by a browser script. A headless agent cannot generate one. - Submitted content enters in pending status and is moderated before it appears. - Call `startReviewUsingGET` (the review template) before every submission so your field set matches the current template for that page id and locale. ## APIs - [PowerReviews Read API](https://developers.powerreviews.com/Content/Read%20API/Read%20API.htm): Reviews, questions, answers, product snippets and merchant display configuration. Base URL https://readservices-b2c.powerreviews.com - [PowerReviews Write API](https://developers.powerreviews.com/Content/Write%20API/Write%20API.htm): Review template retrieval and server-to-server submission of reviews, questions, answers and merchant responses. Base URL https://writeservices.powerreviews.com ## Specs - [Read API Swagger 2.0](https://developers.powerreviews.com/Content/reference/api-specs/readservices.yaml): 7 GET operations. Local copy: openapi/powerreviews-readservices-openapi.yml - [Write API Swagger 2.0](https://developers.powerreviews.com/Content/reference/api-specs/writeservices.yaml): 1 GET and 4 POST operations. Local copy: openapi/powerreviews-writeservices-openapi.yml ## Operations Read API (https://readservices-b2c.powerreviews.com): - `getProductReviewsUsingGET` — GET /m/{merchantId}/l/{locale}/product/{pageId}/reviews - `getAllReviewsUsingGET` — GET /m/{merchantId}/reviews (requires `date`; the incremental sync entry point) - `getProductSnippetsUsingGET` — GET /m/{merchantId}/l/{locale}/product/{pageIds}/snippet (accepts multiple page ids) - `getQuestionsUsingGET` — GET /m/{merchantId}/l/{locale}/product/{pageId}/questions - `getAllQuestionsUsingGET` — GET /m/{merchantId}/questions (requires `date`) - `getAnswersUsingGET` — GET /m/{merchantId}/l/{locale}/question/{questionId}/answers - `getConfigurationByMerchantUsingGET` — GET /m/{merchant_id}/l/{locale}/configuration Write API (https://writeservices.powerreviews.com): - `startReviewUsingGET` — GET /api/b2b/writereview/review_template - `submitReviewUsingPOST` — POST /api/b2b/writereview/submit_review - `submitQuestionUsingPOST` — POST /api/b2b/question - `submitAnswerUsingPOST` — POST /api/b2b/answer - `submitMerchantResponseUsingPOST` — POST /api/b2b/merchant-response ## Docs - [Developer portal](https://developers.powerreviews.com/) - [Getting started](https://developers.powerreviews.com/Content/Getting%20Started%20APIs/Getting%20Started.htm) - [Requesting an API key](https://developers.powerreviews.com/Content/Getting%20Started%20APIs/Requesting%20an%20API%20Key.htm) - [Third-party campaign integration](https://developers.powerreviews.com/Content/Getting%20Started%20APIs/Third%20Party%20API%20Integration.htm) - [Read API use cases](https://developers.powerreviews.com/Content/Read%20API/Use%20Cases.htm): top-reviews widget, CRM sync, rate limiting - [Write API use cases](https://developers.powerreviews.com/Content/Write%20API/Use%20Cases.htm) - [iOvation device fingerprinting](https://developers.powerreviews.com/Content/Write%20API/iOvation.htm) - [Read API reference (Swagger UI)](https://developers.powerreviews.com/Content/reference/read.html) - [Write API reference (Swagger UI)](https://developers.powerreviews.com/Content/reference/write.html) - [Changelog](https://developers.powerreviews.com/Content/What's%20New/Changelog.htm): last entry 2019-04-24 - [Deprecated functionality](https://developers.powerreviews.com/Content/What's%20New/Deprecated%20Functionality.htm): api.powerreviews.com was sunset 2019-09-30 - [System status](http://status.powerreviews.com/) (http only) ## Artifacts - authentication/powerreviews-authentication.yml - conventions/powerreviews-conventions.yml - errors/powerreviews-problem-types.yml - rate-limits/powerreviews-rate-limits.yml - lifecycle/powerreviews-lifecycle.yml - changelog/powerreviews-changelog.yml - data-model/powerreviews-data-model.yml - components/powerreviews-components.yml - packages/powerreviews-packages.yml - conformance/powerreviews-conformance.yml - mcp/powerreviews-mcp.yml (candidate — no server ships) - mcp/powerreviews-tool-crosswalk.yml - skills/_index.yml ## What PowerReviews does not publish Verified absences as of 2026-08-13, so an agent does not waste calls looking: - No OpenAPI 3.x (Swagger 2.0 only), no GraphQL, no gRPC, no AsyncAPI, no webhooks - No MCP server (zero results in the MCP registry) and no A2A agent card - No `/.well-known/` documents on any host (34 paths probed across 6 hosts, 0 hits) - No first-party SDK on npm, PyPI, RubyGems, Packagist, crates.io or pkg.go.dev; no CLI - No public Postman collection or workspace - No pricing page, no plans, no self-service signup — the path is a sales demo request - No trust center, no published certifications, no security.txt, no vulnerability-disclosure program - No sandbox environment or documented test credentials