videoreview
collect Record pageYour branded page. Any phone, no app. Review requestsEmails, SMS, reminders and automations that ask for you.
polish Clips and captionsEdit on a timeline, style the captions, post anywhere.
show Review wallYour reviews on your site, in one line. Highlight reelsYour best moments in one video.
grow InsightsViews, plays and what customers love. IntegrationsYour CRM sends requests by itself.
All features API, webhooks and MCP
Home servicesPlumbers, roofers, HVAC, cleaners Health and wellnessDentists, med spas, chiropractors Restaurants and shopsCafés, restaurants, bakeries, retail Coaches and creatorsCoaches, consultants, creators, teachers AgenciesRun it for every client, as your brand Online storesShopify, WooCommerce and DTC brands Real estateAgents, brokers, property managers AutoDealerships, repair shops, detailers
Built for any business with happy customers. All use cases
How it works Pricing FAQ
Log in Start free Dashboard
platform
Record page Review requests Clips and captions Review wall Highlight reels Insights Integrations All features
use cases
Home services Health and wellness Restaurants and shops Coaches and creators Agencies Online stores Real estate Auto All use cases
features how it works pricing questions
Start free, no card Go to your dashboard Already have an account? Log in

5 video reviews free, forever

developers

api reference

Pro and Agency plans Questions? [email protected] or chat with us
On this page
  1. Quick start
  2. Keys
  3. Reviews
  4. Review requests
  5. Stats and links
  6. Webhooks
  7. AI assistants (MCP)
  8. Zapier
  9. CRMs
  10. Errors and limits

The short version

  • Read your reviews and send review requests from your own code, Zapier or your AI assistant.
  • Hear about new reviews the second they come in, with signed webhooks.
  • Connect GoHighLevel, HubSpot, Jobber, Housecall Pro, Pipedrive, Salesforce or Zoho with no code at all.

Quick start

Make a key in videoreview under Settings, Developers, API keys. Send it as a bearer token. Everything is JSON.

curl https://dash.videoreview.co/api/v1/reviews \
  -H "Authorization: Bearer vrk_your_key"

The base address is https://dash.videoreview.co/api/v1.

Keys

A key works as the person who made it, and only while they still have access and the account is on Pro or Agency. Remove it under Settings, Developers and it stops at once.

Agencies can make a key for one business or for every business. When a key opens more than one, pass business (the business's link name, like acme-roofing) with each call. GET /me lists them.

CallWhat it does
GET /meWho the key belongs to, and its businesses with their record links and Google rating.

Reviews

CallWhat it does
GET /reviewsNewest first. Filters: kind (video, text), status (new, wall, hidden, held), starred, since (a date). limit up to 100; next page with before=the next value.
GET /reviews/{id}One review in full.
PATCH /reviews/{id}Change status (wall puts it on your wall), starred (shows first) or shared (its public link).

A review has the person's name, email, rating, what they said (the transcript, for videos), the best quote, a summary, where it came from, and links. video_url and poster_url are signed links that work for 7 days without a key, so Zapier can copy the video to Drive, YouTube or social.

{
  "id": "k3x9q2m7a1b4c8d0",
  "business": "acme-roofing",
  "kind": "video",
  "status": "wall",
  "name": "Sam Rivera",
  "email": "[email protected]",
  "rating": 5,
  "text": "They showed up on time and the roof looks perfect.",
  "quote": "The roof looks perfect.",
  "seconds": 34,
  "source": "email",
  "video_url": "https://dash.videoreview.co/api/dl/k3x9…/video?e=…&s=…",
  "share_url": null,
  "created_at": "2026-11-08T17:00:00.000Z"
}

Review requests

Requests go out from the business's own email account (connected under Settings, Sending), never from ours. Anyone who already reviewed, was asked in the last 30 days, or unsubscribed is skipped. Up to 200 a day per business, 50 per call.

CallWhat it does
POST /requestsSend one (email, name) or many (people: a list of { name, email }). Optional subject and message; [First name] is filled in. Leave them out to use the business's saved words.
GET /requestsNewest first, with status: sent, opened, clicked, reviewed or failed. status=waiting for no review yet.
GET /requests/{id}One request.
POST /requests/{id}/remindOne reminder (or a retry, for one that failed).

If the business has an automation for Zapier and the API (Requests, Automations), requests without your own subject and message follow it: they wait, send and remind on its schedule, and come back as scheduled with each one's send_at.

curl -X POST https://dash.videoreview.co/api/v1/requests \
  -H "Authorization: Bearer vrk_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Sam Rivera", "email": "[email protected]" }'

Stats and links

CallWhat it does
GET /statsPass days to choose how far back (default 30). Returns reviews, video and written, average rating, and the share of requests sent, opened and reviewed.
GET /record-linkThe link customers open to record, plus versions for a QR code and your website.

Webhooks

Add an address under Settings, Developers, Webhooks (or POST /webhooks with url and events). We POST JSON to it when:

  • review.received: a new video or written review is ready (videos after their transcript and cleanup).
  • request.sent: a review request went out.
  • request.opened: a customer opened their request for the first time.
{ "id": "evt_123", "type": "review.received", "created": "…", "business": { "id": "…", "name": "Acme Roofing", "slug": "acme-roofing" }, "data": { …the review… } }

Every body is signed. Check VideoReview-Signature: t=<seconds>,v1=<hex>: the HMAC-SHA256 of <t>.<body> with your webhook's secret.

const [t, v1] = header.split(',').map((p) => p.split('=')[1])
const ok = crypto.createHmac('sha256', secret).update(`${t}.${rawBody}`).digest('hex') === v1

Answer with any 2xx. Failures retry for a day (1 minute, 5, 30, then hours apart). After 50 failures in a row the webhook turns off; Send a test turns it back on.

AI assistants (MCP)

Connect Claude, ChatGPT, Cursor or any MCP client to https://dash.videoreview.co/mcp. Claude and ChatGPT sign you in and ask which businesses it may use; other clients can use an API key.

  • Claude: Settings, Connectors, Add custom connector, paste the address.
  • ChatGPT: Settings, Apps and Connectors, Create, paste the address.

It can list and read reviews, put them on your wall, show stats and your record link, and send review requests. Before any email goes out it shows you exactly who gets what and waits for your yes. It can never touch your plan, logins or settings.

Zapier

Connect videoreview in Zapier with an API key. Triggers: New Review and Review Request Opened. Action: Send Review Request. Search: Find Review. That covers ServiceTitan, monday.com, Airtable, Google Sheets, Slack and 7,000 more apps.

CRMs

No code needed: connect your CRM under Settings, Integrations, then set up an automation under Requests, Automations. Pick what sends a request (a won deal, a stage, a finished job, a paid invoice), how long to wait, and the reminders. When the review comes in, it's added to that customer's record.

CRMSends a request whenThe review comes back as
GoHighLevelAn opportunity is marked Won, or reaches a stageA note and the tag videoreview on the contact
HubSpotA deal reaches a stageA note on the contact and the deal
JobberA job is closed, or an invoice is paidA note on the client
Housecall ProA job is completeA note on the job
PipedriveA deal is marked Won, or reaches a stageA note on the person and deal
SalesforceAn opportunity is Closed Won, or reaches a stageA completed task on the contact and opportunity
Zoho CRMA deal reaches a stage (like Closed Won)A note on the contact
HoneyBookA project is booked or paid, through ZapierYour own Zap decides

Only deals and jobs from after you turn it on count, so nobody from before gets an email.

Coming soon

  • ServiceTitan
  • JobNimbus
  • AccuLynx
  • Workiz
  • ServiceM8
  • Keap
  • ActiveCampaign
  • monday.com
  • Close
  • Follow Up Boss
  • Square
  • Vagaro
  • Boulevard
  • Clio
  • Aircall
  • RingCentral
  • GoTo Connect
  • Zoom Phone
  • Nextiva

Using one of these today? Connect it through Zapier until it's built in.

Errors and limits

Errors come back as { "error": { "status": 400, "message": "…" } } with a message you can show a person.

StatusMeans
400Something in the call is missing or wrong; the message says what.
401Missing, unknown or removed key.
403The account isn't on Pro or Agency.
404No such review, request or call.
409Not possible right now, like no email connected yet.
422The business's mail server said no, or the day's limit is reached.
429More than 120 calls a minute on one key.
videoreview

Turn happy customers into your best ads. One link, they hit record, and the hype lands on your site. No app. No login. No cringe.

ProductFeaturesIntegrationsHow it worksPricingFAQRoadmap
AccountStart freeLog inDevelopers
CompanyOur StoryMission & ValuesAffiliates
LegalPrivacyTermsRefundsSitemap
SupportHelp centerSystem status(877) 589-4020[email protected]421 Broadway Unit #338
San Diego, CA 92101

© 2026 videoreview, a brand of Equity Capital LLC. All rights reserved.

Website designed, developed, and maintained by Upstrike. Built proudly on WordPress.

cookies, but make it minimal

Just the few this site and our chat need, plus simple analytics so we can see what's working. Never sold. Privacy policy