alice.audio.webm 12.3 MB bob.audio.webm 8.7 MB carol.audio.webm 9.1 MB
v1for the team shipping a meeting AI feature · meet · teams · zoom
The meeting-bot API.
$0.005 per minute, billed per minute. Drop in a Meet, Teams or Zoom link and the bot joins for you — then writes per-speaker audio, the meeting's native captions, the chat log and a full tab recording into your own S3 bucket. When the call ends a signed webhook tells your app the files are ready. Built for the developer who needs the raw recording without renting another SaaS dashboard.
import { createMeetbot } from "@meetbot/sdk";
const meetbot = createMeetbot({ apiKey: process.env.MEETBOT_API_KEY! });
const job = await meetbot.dispatchBot({
url: "https://meet.google.com/abc-defg-hij",
externalId: "session-42",
webhooks: { onFinalize: "https://yours.example/hook" },
});
console.log(job.id, job.status);02 · what you get back
Four files. In your bucket.
No proprietary container, no "sign in to download" portal. When the meeting ends, these files land in the S3 prefix you chose, and a webhook arrives with the path to the index file. Open them with anything that reads webm + JSON.
{
"jobId": "job_4f2c…",
"durationMs": 2537000,
"speakers": ["alice","bob","carol"],
"files": {
"audio": ["alice.audio.webm", …],
"video": "tab.video.webm",
"captions": "captions.jsonl",
"chat": "chat.jsonl"
}
}- audio · per speaker12.3 MBaudio.{speaker}.webmopus@48k mono
- captions · live JSON186 KBcaptions.jsonl1,402 lines · jsonl
{"speakerId":"p-2", "name":"alice", "text":"so the redesign…"} - video · whole tab412 MBtab.video.webmvp9 1080p15
tab.video.webm vp9 · 1920×1080 · 15 fps duration 00:42:17
- chat · inbound4.1 KBchat.jsonl28 lines · jsonl
{"sender":"alice", "text":"link?", "tMs":1827000}
03 · platforms
Three platforms. One contract.
Google Meet
shipping*Joins as anonymous guest by default. Workspace-account login is in progress for the April 2026 dual-queue admit rollout.
Microsoft Teams
shippingWeb client, anonymous join. Captions via the data-channel intercept; real participant names from the People pane.
Zoom (Web)
shippingWeb client only — no Zoom SDK key required, no native binary. Per-speaker audio via WebRTC SSRC mapping.
* About the asterisk: Google rolled out a dual-queue admit system for Meet in April 2026 that auto-denies anonymous joiners on Workspace meetings. We're shipping a Workspace-bot identity pool to handle it — landing this month.
04 · what happens
One HTTP POST in. Files in your bucket out.
Five steps end-to-end. Your app calls our API, a bot joins the meeting, the recording lands in your bucket, and we ping your webhook. Every step is visible in the admin — no black box, no proprietary state machine.
- dispatchYour backend POSTs the meeting URL plus a webhook target. Bearer token, JSON body, returns a job id.
- queue + spin upThe API enqueues the job, pulls a clean Chrome bot container, and admits it to the meeting like any other guest.
- record + uploadDuring the call: per-speaker audio, captions, chat, tab video. After the call: streamed straight to your bucket — never our disks.
- signed callbackA signed POST to your webhook tells you the meeting is finished and gives you the path to the index file.
05 · pricing
$0.005 per minute.
Thirty cents an hour. Billed by the minute of meeting time — a 17-minute call costs eight and a half cents, no rounding up to the nearest hour, no per-bot fee. Every account gets 10 free meeting-hours every month, refreshed on the 1st UTC. We publish the math because the proprietary alternatives won't.
| meetbot | Recall.ai | ||
|---|---|---|---|
| per meeting-minute | $0.005 | $0.0083 | 40% less |
| billing granularity | per minute | per minute (rounded up) | |
| free tier | 10 hours / month | 5 hours one-time | |
| per-bot fee | — | — | |
| minimum spend | — | — | |
| pricing exposed | this page | after a sales call |
Recall.ai pricing as of their ; we'll update this row when theirs moves. This is a comparison, not a takedown — they built a great product. public pricing page
calculator
What you'd actually pay, side-by-side
Move the slider to your real meeting volume. We compare meetbot to Recall.ai, MeetingBaaS, and Vexa using each vendor's published prices — no asterisks, no "call us".
You save $43/mo vs Recall.ai at this volume.1
| vendor | monthly | annual | $ / hr effective | |
|---|---|---|---|---|
meetbot | $27 | $324 | $0.27 | |
Recall.ai | $70 | $840 | $0.70 | |
MeetingBaaS(Free PAYG) | $50 | $600 | $0.50 | |
Vexa | $50 | $600 | $0.50 |
1 meetbot's first 10 hours each month are free and reset on the 1st UTC of every calendar month. Recall.ai grants 5 free hours one-time on signup — already burned for any returning customer, so we don't subtract them above. MeetingBaaS Free PAYG is itself a $0/mo subscription tier (75 bots/day) — no separate hours allotment. Vexa hosted free tier is 1 concurrent bot — a parallelism cap, not an hours allotment.
Prices verified 2026-05-09. See /vs/recall for the full spec comparison.
06 · the code
The whole API in three calls.
import { createMeetbot } from "@meetbot/sdk";
const meetbot = createMeetbot({ apiKey: process.env.MEETBOT_API_KEY! });
const job = await meetbot.dispatchBot({
url: "https://meet.google.com/abc-defg-hij",
externalId: "session-42",
webhooks: { onFinalize: "https://yours.example/hook" },
});
console.log(job.id, job.status);07 · faq