Public REST API

Trigger Brewdemo from every audience tool.

One endpoint, real bearer auth, real responses. POST a URL + description from Substack, Mailchimp, Shopify, HubSpot, Zapier, or anything that can POST JSON. Brewdemo records, narrates, composes, and webhooks back the finished share link.

Need your API key? Settings → API keys. Or skim the /api/v1/record reference before you wire anything.

Quickstart
  1. Grab a key at /settings/api-keys.
  2. POST to /api/v1/record with a URL + description. Brewdemo returns a job id.
  3. Either set a webhookUrl on the key (we POST you when the video is ready) or poll /api/v1/runs/{id}.
📨
Substack
Welcome video the moment a reader subscribes.
Trigger
Substack Pro → Settings → Webhooks → "New subscriber" → POST to the URL below.
Payload
POST https://brewdemo.com/api/v1/record
Authorization: Bearer brk_<YOUR_API_KEY>
Content-Type: application/json

{
  "url": "https://yoursite.com/welcome",
  "description": "60-second welcome tour for new {{publication}} subscribers",
  "targetDurationSec": 60
}
Note: Free Substacks don't expose webhooks — wire Zapier on "new sub" → POST to the same URL.
🐵
Mailchimp
Onboarding video on tag change.
Trigger
Mailchimp → Automation → Tag added → HTTP Webhook
Payload
POST https://brewdemo.com/api/v1/record
Authorization: Bearer brk_<YOUR_API_KEY>
Content-Type: application/json

{
  "url": "https://yourapp.com/dashboard",
  "description": "Personalized onboarding tour for {{merge.FNAME}}",
  "targetDurationSec": 90
}
🛒
Shopify
Cart-abandon recovery video keyed off product.
Trigger
Shopify Flow → Cart abandoned → Send HTTP request
Payload
POST https://brewdemo.com/api/v1/record
Authorization: Bearer brk_<YOUR_API_KEY>
Content-Type: application/json

{
  "url": "https://yourstore.com/products/{{product.handle}}",
  "description": "Convince {{customer.first_name}} to come back for {{product.title}}",
  "targetDurationSec": 45
}
🟧
HubSpot
Demo video when a deal hits a stage.
Trigger
HubSpot Workflows → Trigger: "Deal stage = Demo scheduled" → Webhook action
Payload
POST https://brewdemo.com/api/v1/record
Authorization: Bearer brk_<YOUR_API_KEY>
Content-Type: application/json

{
  "url": "https://app.yourproduct.com",
  "description": "Personalized demo for {{contact.firstname}} at {{contact.company}} ({{contact.industry}})",
  "targetDurationSec": 120
}
Zapier / Make / n8n
Wire any trigger from any tool to a Brewdemo recording.
Trigger
Zapier → Action: "POST request" → URL below.
Payload
POST https://brewdemo.com/api/v1/record
Authorization: Bearer brk_<YOUR_API_KEY>
Content-Type: application/json

{
  "url": "<the URL Brewdemo should record>",
  "description": "<what should the demo say + who it's for>",
  "targetDurationSec": 60
}
Note: Works with Make.com, n8n, IFTTT, or anything that can POST JSON.
Native integration for your platform?

We’re prioritizing native (OAuth-based) HubSpot, Slack, and Zapier app integrations. In the meantime everything above works via the public webhook recipe. Tell us which one to prioritize →