Skip to content

Developers

VouchRate 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 Trust 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_…

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. 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

WooCommerce

A WordPress plugin. Records completed orders, invites after a delay you choose, and displays reviews through a block, a shortcode or any page builder.

Shopify

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

Example

curl https://vouchrate.co.uk/api/v1/businesses/apaxon-limited/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. Higher limits come with an API key, issued from your business dashboard.

Coming next

  • POST /api/v1/reviews/analyseScore arbitrary review text for authenticity — the Trust API, sold standalone.
  • Webhooks outreview.published, review.responded, rating.changed, fraud.detected.

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.