Zoom
Transcription
API
Real-time Zoom meeting transcription via open-source REST API. Drop a bot into any Zoom call — no Pro plan, no cloud-recording subscription, no Zoom App Marketplace approval. Self-host or use Vexa cloud.
Waiting for meeting participants…
Feed meetings into your AI. Live.
AI needs data, and the best data is real-time. Vexa streams transcripts, audio, and context from any meeting straight to your models and agents — as it happens.
Built for Zoom
Vexa drops a meeting bot into Zoom calls via the Zoom web client and streams live transcripts back through a REST API. Unlike Zoom's own transcription, you do not need a Pro / Business plan, you do not need cloud recording enabled, and you do not need to ship a Zoom Marketplace app for approval. The bot joins through the meeting URL just like any guest. Transcripts come from Whisper running locally or in our hosted cloud, and the same API also covers Google Meet and Microsoft Teams.
- No Zoom Pro plan, no cloud-recording subscription, no Zoom App Marketplace approval — join via meeting ID + passcode
- Real-time transcript chunks via WebSocket or REST, with speaker diarization
- Apache 2.0 — self-host the bot + Whisper inside your VPC for full audio control
# Extract from https://us05web.zoom.us/j/12345678901?pwd=YOUR_PWD
# native_meeting_id = "12345678901"
# passcode = "YOUR_PWD" (optional)
curl -X POST "$API_BASE/bots" \
-H "Content-Type: application/json" \
-H "X-API-Key: $API_KEY" \
-d '{
"platform": "zoom",
"native_meeting_id": "12345678901",
"passcode": "YOUR_PWD",
"transcribe_enabled": true,
"transcription_tier": "realtime"
}'
# Poll transcripts
curl "$API_BASE/transcripts/zoom/12345678901" \
-H "X-API-Key: $API_KEY"Set $API_BASE to https://api.cloud.vexa.ai (hosted) or http://localhost:8056 (self-host). Get $API_KEY from /get-started.
Zoom transcription FAQ
Things developers and buyers usually want to know before they wire Zoom up.
Do I need a Zoom Pro plan or cloud-recording subscription?
No. Zoom's own transcription requires a Pro / Business plan and cloud recording enabled — those settings live with the meeting host and aren't under your control if you're a guest. Vexa joins as a regular participant via the meeting URL, captures audio from the web client, and runs transcription separately. The Zoom plan tier doesn't matter.
Do I need to ship a Zoom App Marketplace app to use this?
No. As of v0.10.4 Vexa joins via the Zoom Web Client by default — no Marketplace listing, no OAuth setup, no SDK credentials. The legacy Native SDK path is still available (set ZOOM_SDK=true) for operators who already have credentials, but most users won't need it.
How does this compare to Zoom's built-in AI Companion?
AI Companion is a Zoom feature — it works inside Zoom's UI and writes summaries to the host's Zoom account, with no programmatic access for downstream automation. Vexa is an API: you POST a meeting URL and receive transcripts as they happen. If you're building a CRM-update flow, an MCP tool call, or a real-time agent that needs live meeting text, AI Companion isn't designed for that.
What's the current state of speaker identification on Zoom?
Speaker diarization on the Zoom web client has a known regression we're actively working on (see GitHub issue #318). Transcript content is accurate; speaker-attribution labels can mis-assign across speakers in some web-client meeting configurations. If your use case is single-speaker (sales calls with one rep) or doesn't require per-turn speaker labels, this isn't a blocker. For multi-party meetings with strict per-speaker attribution, validate against your call shape before production.
Are Zoom Events / Zoom Webinars supported?
Zoom Webinars (numeric meeting ID format) work the same way as regular meetings. Zoom Events (events.zoom.us) are NOT supported — Events uses unique per-registrant join links that can't be shared with a bot.
Common patterns
What teams build with the Zoom API
Three shapes we see repeatedly across customers integrating Vexa with Zoom.
Webinar transcription & search
Scenario
You run product webinars and customer Q&A on Zoom. You want full transcripts indexed and searchable post-event without paying for Zoom Business + cloud recording.
What you get
Auto-transcribe every webinar via Vexa, push to your help center or content platform with speaker tags. SEO-friendly transcripts of every event without the Zoom upsell.
Customer-discovery interviews
Scenario
Product and sales teams run customer interviews on Zoom. You need transcripts feeding research synthesis (Dovetail, Notion, Coda) and CRM enrichment.
What you get
Single API call per interview, transcripts piped to research tools via n8n or direct webhook. No Zoom recording-policy gymnastics.
Coaching & call-review automation
Scenario
Sales managers want every rep's Zoom call coached. You need transcripts feeding a coaching AI or a Gong-style review tool — without the Gong price tag.
What you get
Vexa transcribes every Zoom call, your coaching layer ingests text via webhook, surfaces patterns and review items per rep. Build the Gong workflow on your own terms.
Quickstart
Get a Zoom bot live in 5 minutes
The full flow from sign-up to first transcript — no SDK install, no Marketplace approval, no admin consent for unmanaged tenants.
- 1
Get an API key
Sign up at vexa.ai/get-started, or run the self-hosted gateway and mint a key locally.
- 2
Extract meeting ID + passcode
From https://us05web.zoom.us/j/12345678901?pwd=PWD take the numeric ID and the pwd value.
- 3
POST /bots
Send platform=zoom with native_meeting_id and (optional) passcode. No Marketplace approval needed.
- 4
Host admits the bot
Bot joins the Zoom web client, waits in lobby if enabled, becomes active when host admits.
- 5
Receive transcripts
Poll GET /transcripts/zoom/{id} or subscribe to a webhook for push delivery.
How it works under the hood
Zoom architecture
As of v0.10.4 Vexa joins via the Zoom Web Client (app.zoom.us/wc/...) in a Playwright-driven bot pod. Audio is captured from the browser session, streamed to a Whisper-large-v3-turbo service, and emitted as transcript chunks. The legacy native SDK path remains available via ZOOM_SDK=true plus Marketplace credentials for operators who need it. ZoomGov URLs are supported with the same flow.
Pipeline
Documentation
Go deeper on Zoom
Reference docs for the Zoom buyer: URL formats, lifecycle, webhooks, self-host, diarization.
Zoom platform guide
Web Client default flow, SDK opt-in, supported URL formats, Zoom Events limits.
Zoom SDK setup (optional)
OAuth + OBF flow only if you need the native SDK path — most users skip this.
Bots API reference
Full POST /bots payload, status polling, lifecycle hooks.
Webhooks
Push transcripts to your endpoint as chunks land — no polling.
Speaker identification
How diarization works, accuracy bounds, current Zoom-web regression context.
Authentication
API keys, admin tokens, multi-tenant scoping.
Full reference at docs.vexa.ai.
Related reading
Keep going on Zoom
Tutorials, deep-dives, and adjacent surfaces from across the Vexa substrate.
Vexa v0.10 — Zoom Web Client default (no Marketplace approval)
How Zoom support shipped without requiring SDK credentials or Marketplace listing.
Vexa vs Recall.AI comparison
Side-by-side on pricing, license, self-host — Recall vs Vexa for Zoom workflows.
Open-source transcription API — complete guide
How Vexa works under the hood — bots, Whisper, REST, WebSocket.
Pay only for
what you use
Self-host for free, or let us run it for you. Simple usage-based pricing—no per-seat tax.
Apache 2.0 · Self-host forever
Best for teams who need full control
1 bot · Flat monthly · Everything included
Best for personal use — 1 meeting at a time
No credit card required
Bot infrastructure · +$0.20/hr transcription
Best for teams & API builders · $5 free credit
No credit card required
On-premises, OpenShift, Kubernetes. Dedicated support + SLA.
For self-hosted Vexa bot users. Transcription only — $0.002/min.
Frequently asked questions
What's included in the $0.30/hr Bot Service?
The base rate covers bot infrastructure: audio capture, webhooks, and 12 months of audio storage across Google Meet, Microsoft Teams, and Zoom. Add real-time transcription for +$0.20/hr ($0.50/hr total).
Which plan is right for me?
Choose Individual ($12/mo) if you need one bot for personal use—it includes real-time transcription, storage, and the Dashboard. Choose Pay-as-you-go ($0.30/hr) if you need multiple simultaneous bots or want to pay only for what you use—ideal for teams and API integrations. Both plans include Google Meet and Microsoft Teams support. Self-host for free from GitHub if you need full data control.
How does the free credit work?
Every new account gets $5 in free bot credit—no credit card required. That covers ~16 hours of bot time at $0.30/hr. All features are available: audio capture, transcription, real-time data, and full API access.
Can I self-host Vexa?
Yes. Vexa is Apache 2.0 licensed and fully self-hostable. Deploy with Docker Compose, Kubernetes, or OpenShift on your own infrastructure with complete data sovereignty.
How does Vexa compare to Recall.ai?
Vexa is open source, self-hostable, and up to 40% cheaper. Bot: $0.30/hr vs Recall.ai ~$0.50/hr. Transcription add-on: $0.20/hr vs ~$0.15/hr. See our detailed comparison.
What's the Individual plan for?
The Individual plan ($12/mo) is for single users who need one concurrent bot with unlimited meetings. It includes real-time transcription, recording, storage, REST API, WebSockets, and the UI Dashboard—everything you need for personal meeting intelligence. It supports Google Meet and Microsoft Teams, with Zoom coming soon.
Ready when you are
Start with Zoom.
First transcript in 5 minutes.
No credit card, no Marketplace approval, no admin consent for unmanaged tenants. Get an API key, POST a meeting URL, receive transcripts.
Apache 2.0 · Self-host or cloud · No credit card required