# Meeting Recording API for Zoom, Meet and Teams

> Record Zoom, Google Meet and Microsoft Teams meetings through one API from $0.35 per hour. MP4, per-participant audio and video, and your own S3 bucket.

Source: https://meetstream.ai/meeting-recording-api

## Meeting Recording API for Zoom, Google Meet and Microsoft Teams

Send a meeting URL, a named bot joins the call, and you get an MP4 recording plus separate audio and video for every participant on Zoom, Google Meet and Microsoft Teams. From $0.35 per bot-hour, stored for 30 days or written straight into your own S3 bucket.

### What is a meeting recording API?

A meeting recording API captures a live video call programmatically and hands the media back to your application. Instead of asking a user to hit record and email you a file, your code makes a request, a bot joins the call, and the recording arrives at a URL when the meeting ends.

There are two ways to get there. Each platform has a native recording API of its own, and every one of them depends on the host having the right plan, the right settings and the right permissions. The second way is a bot that joins as a participant and records what it receives, which behaves the same on every platform and on accounts you do not control. MeetStream is the second kind, built on the same meeting bot API that handles joining and streaming.

### How to record a meeting with one API call

POST a meeting link. A bot joins under a name you choose, records, and fires a webhook when the call ends.

```
curl -X POST https://api.meetstream.ai/api/v1/bots/create_bot \ -H "Authorization: Token $MEETSTREAM_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "meeting_link": "https://zoom.us/j/74648392", "bot_name": "Acme Recorder", "recording": { "video_layout": "speaker", "per_participant": true }, "webhook_url": "https://your-app.example.com/meetstream" }'
```

When the meeting finishes you get the composed MP4 and a separate audio and video URL for every participant, so you never have to separate speakers from a mixed track afterwards.

```
{ "event": "bot.done", "bot_id": "bot_9fJ2p", "recording": { "mp4_url": "https://media.meetstream.ai/...", "duration_seconds": 2841, "participants": [ { "name": "Amy Stace", "audio_url": "https://media.meetstream.ai/...", "video_url": "https://media.meetstream.ai/..." }, { "name": "Theo Flynn", "audio_url": "https://media.meetstream.ai/...", "video_url": "https://media.meetstream.ai/..." } ] } }
```

### What you get from every recording

- Composed MP4 in grid or speaker view.

- Per-participant audio and video , a separate stream per person, on Zoom, Google Meet and Microsoft Teams.

- Real-time media over a secure WebSocket at roughly 200ms if you need to act during the call rather than after it. The real-time transcripts page covers that path in detail.

- Webhooks on bot lifecycle and call end, plus participant join and leave events.

- Transcripts as an optional add-on through the meeting transcription API .

- Meeting chat and participant metadata alongside the media.

Per-participant capture is worth dwelling on, because it is where recording APIs quietly differ. Nylas documents its Notetaker output as MP4 at 1280x720 and 12 frames per second with whole-meeting capture rather than isolated speakers. If you plan to build highlight clips per speaker, or measure talk time, that difference decides the project.

### Recording rules on Zoom, Google Meet and Microsoft Teams

This is the part most vendors leave out, and it is the part that breaks integrations in production. Each platform enforces its own rules about who may record, on which plan, and whether a bot even gets into the room. Every claim below links to the platform's own documentation.

#### Zoom

Cloud recording requires a paid plan and is limited to the host or a co-host . The recording disclaimer cannot be disabled for guests or external participants on any plan, which is a feature rather than a limitation if you care about consent. Since 2 March 2026, Meeting SDK bots must present an OBF token , short for On Behalf Of, and the user who authorized your app has to already be in the meeting for the join to succeed. Zoom also shipped Realtime Media Streams to general availability in June 2025, which delivers per-participant media without a bot joining at all, though it requires a Marketplace app and Developer Pack credits.

#### Google Meet

Native recording is limited to specific Workspace editions and is not available on free personal accounts , and it stops automatically after eight hours. Admission matters more here than anywhere else: Google documents that when a host unchecks "Anyone can ask to join", third-party bots such as note takers are automatically denied . The Meet Media API is still a developer preview, requires every participant to be enrolled in the preview programme, and carries a hard limit of three audio streams that rotate between the loudest speakers, so it is not true per-participant isolation.

#### Microsoft Teams

Teams is the strictest of the three for bots. The ExternalBotAccessMode policy defaults to RequireApprovalWhenDetected , which forces external bots into the lobby regardless of the meeting's own lobby setting, and Teams actively fingerprints bots on join. Building your own recorder against Graph is harder than teams expect: Microsoft states the bot must be written in C# and deployed on Windows Server in Azure , because the C++ and Node.js APIs do not support real-time media at all.

A recording bot sits above all three of these. It behaves the same way on each platform, works on accounts and plans you do not control, and gives you one integration to maintain instead of three.

### Where your recordings are stored

Recordings and transcripts are retained for 30 days by default. Connect your own S3 bucket and every artifact is written into your account from the first byte, so your lifecycle rules, object lock and retention schedule govern the record rather than ours. Setup is covered on the S3 storage page.

The default region is the United States. EU, Australia, Japan and the Middle East are available, and other regions on request, which is usually the deciding factor when a recording cannot leave a jurisdiction.

Retention is worth comparing carefully, because it is where the other options are tightest. Nylas documents a maximum of 14 days , after which files are deleted and cannot be retrieved through their API. Recall includes 7 days and then charges for longer retention. If your obligation is measured in years rather than days, bring your own bucket and the question goes away.

### Meeting recording API pricing

Recording costs $0.35 per bot-hour . Adding transcription brings it to $0.45 per hour all-in , and the rate falls toward $0.25 per bot-hour at volume. Thirty days of storage is included rather than metered. Every account starts with $5 of free credit. Full detail on the pricing page.

These are the providers' own published rates, linked so you can check them. Pricing changes, so verify before you make a decision on it. If you are moving across from another vendor, the Recall.ai comparison covers the migration in more detail.

### Consent and recording law, briefly

Recording meetings is regulated, and the rules depend on where the participants sit. Under US federal law, 18 U.S.C. 2511(2)(d) permits recording when at least one party consents. Some states go further and require every participant. You will see the number of those states given as eleven, twelve or thirteen depending on who is counting, because several states differ by medium or are split between their own statutes. Nine are unambiguous: California, Florida, Illinois, Maryland, Massachusetts, Montana, New Hampshire, Pennsylvania and Washington.

Two details matter more than the count. Some of those statutes turn on secrecy rather than consent, so Massachusetts reaches a recording made "secretly" and Montana reaches only a hidden device used without the knowledge of all parties . An announced recording is treated differently from a covert one. And when participants join from different states, the strict state's law can reach an out-of-state recorder: in Kearney v. Salomon Smith Barney (2006) the California Supreme Court applied California's all-party rule to Georgia brokers recording California clients, and held that disclosure at the outset of the call was the remedy.

In the EU a recording is personal data. You need a lawful basis under GDPR Article 6 , you must inform people under Article 13 at the time the data is collected rather than afterwards, and you must limit retention under Article 5(1)(e) . If the people being recorded are employees, note that the European Data Protection Board considers consent unlikely to be freely given in an employment relationship, so consent is usually the wrong basis to lean on there. German data protection authorities go further and expect a separate legal basis for the recording itself , distinct from the basis for holding the meeting, with recording disabled by default.

Two design consequences follow, and they are built into how MeetStream bots behave. The bot joins under a name you choose and appears in the participant list, which matters because the statutes that turn on secrecy are the ones a visible recorder defeats. And because Washington requires that the announcement itself be part of the recording, a chat-only notice may not be enough there, which is why bots can post a message and speak into the room.

This is general information, not legal advice. Take your own counsel on your specific use case.

### Recording limits and how they are handled

Length. A bot records for four hours by default and can be extended to ten hours through the API, which covers all-hands meetings and full-day sessions without the recording stopping partway.

Concurrency. There is no cap on how many bots record at the same time, and no limit to request an increase to. Capacity planning stays on our side.

Admission. Bots can land in a waiting room or lobby depending on the meeting's settings, and on Teams that is the default behaviour for external bots. Participant events tell your application whether the bot was admitted, so you can surface that to a user rather than silently returning no recording.

Service levels. Agreed per customer rather than published as a single number.

### Frequently asked questions

A meeting recording API captures a live video call programmatically and returns the media to your application. MeetStream sends a named bot into a Zoom, Google Meet or Microsoft Teams call, records it, and returns an MP4 plus separate audio and video for each participant.

Yes. One MeetStream integration covers Zoom, Google Meet and Microsoft Teams. Each platform has its own native recording API with different auth, different plan requirements and different restrictions, so a bot-based layer is what keeps your code identical across all three.

Not with Zoom's own cloud recording, which is limited to the host or a co-host. The host can grant a participant the ability to record. A bot-based API records what it receives as a participant, but Zoom still requires the app to trigger the native recording indicator and to notify participants.

Zoom cloud recording requires a paid plan. Local recording is available on free accounts. This is one of the main reasons product teams use a recording API rather than depending on whichever plan their customers happen to have.

Google Meet's native recording is limited to specific Workspace editions and is not available on free personal accounts. A bot joins as a participant and records independently of the host's edition, subject to the meeting's admission settings.

In Teams, any suitably licensed user with the right policy can record, so it is not organizer-only by default. External and anonymous participants cannot start a native recording. Restricting recording to organizers requires Teams Premium.

Yes, and that is by design. All three platforms show a recording indicator, and on Zoom the disclaimer cannot be disabled for external participants on any plan. MeetStream bots join under a name you choose, so the bot is visible in the participant list.

Yes. MeetStream returns a separate audio and video stream for each participant on all three platforms, so you are not post-processing a single mixed track to work out who spoke.

MP4 video in grid or speaker view, plus per-participant audio and video streams. Real-time audio and video are also available over a secure WebSocket at roughly 200ms while the meeting is running.

Thirty days by default. If you connect your own S3 bucket, recordings are written into your account from the start and your retention policy governs them, which is the usual choice for teams with a compliance obligation.

Nothing meaningful. Both describe an API that captures a live meeting and returns the media. The two phrasings are used interchangeably across the category.

A bot records for four hours by default, and that can be raised to ten hours through the API. There is no cap on how many bots record at the same time.

Yes. The default region is the United States, with EU, Australia, Japan and the Middle East available and other regions on request.

It depends on where the participants are. US federal law permits recording with one party's consent, several US states require every participant's consent, and the EU treats a recording as personal data under GDPR. See the section on consent above, and take your own legal advice.

### Keep exploring

### Start recording meetings

$5 of free credit, self-serve API keys, and no sales call between you and your first recording.

---

Full site index for agents: https://meetstream.ai/llms.txt
API contract (OpenAPI 3.1): https://meetstream.ai/openapi.json
MCP discovery: https://meetstream.ai/.well-known/mcp
