Skip to content

Developers

Vouch Rate is a trust network, and a network that only we can read is not verifiable. The reputation and review endpoints are therefore open, unauthenticated and cacheable — comparison sites, marketplaces, procurement tools and directories can consume our trust data without a commercial conversation.

Available now

GET/api/v1/businesses/{id|slug}/reputationAuth: None

Rating, unweighted mean, 12-month and 30-day figures, distribution, verified percentage, response rate and Evidence Score.

GET/api/v1/reviews?business={id|slug}Auth: None

Published reviews with their verification level, evidence summaries, business replies and detected topics. Cursor paginated.

GET/embed/{widgetKey}Auth: None

A rendered widget, for iframe embedding. Use widget.js rather than calling this directly.

Write endpoints

Authenticated with a key from your dashboard: Authorization: Bearer vr_…. Keys, the write endpoints and both store integrations are included on the Professional plan and above.

POST/api/v1/experiencesKey · experiences:write

Record an order, booking or job. Idempotent on (business, source, external_id), so a webhook firing twice creates one record. This is what upgrades a later review to a system-confirmed Verified Experience.

POST/api/v1/invitationsKey · invitations:write

Queue an invitation, optionally linked to an experience, a branch (location) and a staff member (staff_ref), and delayed by delay_days. Honours the global suppression list and the re-invite cooldown, returning status: skipped rather than an error when either applies.

POST/api/integrations/shopify/webhookShopify HMAC

Receives orders/* and fulfillments/* topics. Records the experience on order, invites on fulfilment.

Note what these endpoints do not accept: any field describing a customer’s expected sentiment or satisfaction. There is no way to ask us to invite only the happy ones — refusing to model it is more reliable than a clause in the terms.

Ready-made integrations

WordPress

Connects in one click. Shows your rating and reviews through blocks, shortcodes or any page builder on every plan, and with WooCommerce or Easy Digital Downloads records completed orders and invites customers after a delay you choose.

Download the plugin (.zip)

Shopify

Webhook-driven. Orders record the experience; fulfilment triggers the invitation, so nobody is asked to review a parcel that has not arrived.

Webhooks

On the Business plan, add up to five endpoints from your dashboard. Each event is a signed JSON POST; failures are retried with increasing gaps for about a day.

  • review.publishedA review of the business goes live. Includes the text, rating, verification level, branch and staff attribution.
  • review.respondedThe business replies to a review, publicly or privately.
  • review.removedA moderator removes a review under the guidelines. The text is not resent.
  • rating.changedThe displayed rating moves by at least 0.1, with the Evidence Score alongside.
POST https://your-endpoint.example/hooks
x-vouchrate-event: review.published
x-vouchrate-delivery: cmf3…
x-vouchrate-signature: t=1757750000,v1=HMAC_SHA256(secret, "1757750000." + raw body)

{
  "id": "cmf3…",
  "event": "review.published",
  "created_at": "2026-09-13T10:42:00.000Z",
  "business": { "id": "…", "slug": "northgate-motors", "name": "Northgate Motors", "url": "…" },
  "data": { "review": { "id": "…", "rating": 5, "verification_level": "PURCHASE_VERIFIED", … } }
}

Example

curl https://www.vouchrate.com/api/v1/businesses/northgate-motors/reputation

{
  "name": "Northgate Motors",
  "rating": 3.9,
  "rating_simple_mean": 3.8,
  "review_count": 34,
  "verified_percentage": 76.5,
  "trust_score": 71,
  "trust_band": "strong",
  "reputation_score": 66,
  "methodology_url": "/transparency/rating"
}

Note that rating_simple_mean ships alongside the weighted rating. A weighting scheme nobody can check against the raw number is just a claim.

Rate limits

120 requests per minute per IP on reputation, 60 on reviews, unauthenticated. Responses carryCache-Control: public, max-age=60, s-maxage=300so a CDN in front of your integration will do most of the work. An API key raises this to 600 requests a minute on Professional and 3,000 on Business.

Coming next

  • POST /api/v1/reviews/analyseScore arbitrary review text for authenticity — the Trust API, sold standalone.

What the API will never do

There is no endpoint to delete a review, suppress one, or alter a rating, and there will not be one. If you are integrating on behalf of a business, the write surface you get is the same one the dashboard has: collect, reply, dispute.

From the blog

How the platform works, and why it is built this way.

All posts