Migrate from Recall.ai
A one-command tool that scans your Recall.ai codebase, maps every API call to its MeetStream equivalent, shows you the diff, and rewrites it — for both Node.js and Python.
MeetStream is a near drop-in replacement for Recall.ai at a lower price point — roughly 30% less per hour, and about half at volume. The migration kit does the mechanical rewrite for you and tells you exactly what — if anything — needs a human.
What it does
Point the tool at your existing Recall.ai project and it works in four passes:
- Scan — recursively finds Recall base URLs, endpoint calls, field names, webhook handlers, SDK imports, and
RECALL_API_KEYusage. - Map — prints endpoint, field, and webhook mapping tables so you can see every change before it happens.
- Transform — rewrites base URLs, endpoint paths, field names, webhook event handling, env vars, and imports.
- Report — summarizes what changed, warns on anything that needs manual review, and prints a post-migration checklist.
Run it in scan or --dry-run mode as many times as you like — nothing is written until you confirm.
Install & run
Node.js
Python
What gets rewritten
Endpoints
Fields
Webhooks
Recall’s global webhook becomes a per-bot callback_url passed to create_bot, and Recall’s string events map onto MeetStream’s event model. The event envelope key is event, and bot completion is two-layered (bot.stopped carries a bot_status such as Stopped, NotAllowed, Denied, or Error). Before finalizing your handlers, read the Webhooks and Events guide (Guides → Webhooks), or have your assistant call the webhook_events_guide tool on the MeetStream MCP server.
Feature parity & gaps
As of v2.1 (June 2026) MeetStream matches Recall.ai across recording, per-participant audio/video streams, real-time audio/video/transcript, chat and image output, Google and Outlook calendar, advance scheduling, signed-in bots, and retention — and adds native AI summaries and MIA voice agents that Recall does not have.
The migrator explicitly flags the two remaining gaps, both shipping with the video launch:
- Pause / resume recording mid-call
- Live video output into the meeting
Everything else migrates automatically.
After migrating
- Swap
RECALL_API_KEYforMEETSTREAM_API_KEYin your environment and secrets manager. - Change the auth header to
Authorization: Token <your-key>. - Point webhooks at your handler via
callback_urloncreate_bot. - Run
test --api-key ...(optionally with--meeting-url) to confirm the live API responds as expected. - Review anything the report flagged for manual attention.
Prefer to drive MeetStream from a chat assistant instead of rewriting code by hand? The MeetStream MCP server gives Claude direct access to the same API.
