Home/Recording API/Microsoft Teams
// Microsoft Teams recording

Microsoft Teams Recording API to Record Teams Calls

A Microsoft Teams recording API puts a named bot in the call and returns an MP4, plus per-participant media and a speaker timeline. From $0.35 per bot-hour.

*Get started in minutes*

Overview

What is a Microsoft Teams recording API?

A Microsoft Teams recording API captures a live Teams call from your code. One request, and an MP4 arrives at a URL when the meeting ends.

A named bot joins from the join link and records what it receives. The meeting recording API covers all three platforms.

What you get

What you get from every Microsoft Teams recording

One request in. An MP4, a stream for every participant, and the events that say they are ready.

*Get started in minutes*

Composed MP4The whole meeting, one viewAudio by speakerTagged as people speakVideo segmentsOne set per participantReal-time mediaRoughly 200 ms behindSpeaker timelineOffsets down to the byteChat and participantsNext to the media
What comes back from one bot on Microsoft Teams.
Output

What a Teams recording contains

ArtefactOn Microsoft Teams
Per-participant audioPartial isolation. Capture is tagged by speaker, on the same model as Google Meet, and falls back to the dominant speaker
Per-participant videoWebcam up to 854 by 480 at 800 kbps. Screen share up to 1280 by 720 at 2 Mbps, one at a time
Composed recordingComposed MP4 and a mixed WAV always produced
Real-time audio48 kHz PCM16 frames with the dominant speaker's name over your WebSocket
Participants and timelineJoin and leave events, data on each person, and a speaker timeline down to the byte

Video per participant arrives as numbered segments. The per-participant audio entry explains how labels are attached.

Platform rules

Which Teams rules affect recording?

Five Teams rules decide what a recording bot may do. Each one links to Microsoft's own documentation.

Teams ruleWhat it means for a bot
External bot accessExternalBotAccessMode defaults to RequireApprovalWhenDetected. External bots land in the lobby.
Bot detectionMicrosoft describes built-in detection mechanisms that spot external AI bots during the join.
Recording bannerIt cannot be removed. An admin can only change the consent text and the privacy link by an admin.
External participantsMicrosoft says external participants cannot record, unless you are a certified partner.
Native recordingsThey land in the organizer's OneDrive or SharePoint, with a default 120-day expiry.
Platform rules

How a bot is admitted to a Teams meeting

Most tenants hold external participants in the lobby, so an organiser admits the bot. Teams accepts a waiting window of up to 1800 seconds.

Teams admits and records in one step. Participant events tell your app the moment the bot is admitted.

Bot joins from the linkUnder the name you chooseIt waits in the lobbyThe tenant defaultAn organiser admits itRecording starts withinabout a secondAn event either wayYour app sees the branch
The lobby is the default on Teams, so build the admission moment into your product.
TimeoutDefaultWhat it does
Waiting room600 s, up to 1800 on TeamsHow long the bot waits to be admitted before it leaves
Nobody joined600 sLeaves when it is the only one in the meeting
Everyone left300 sLeaves after the last person leaves
Nobody speaking100 sLeaves after this much silence, whoever is still in the room
Session length14400 s, or 4 hCaps one recording session. Can be raised to 18000
MEETSTREAM DASHBOARDThe MeetStream dashboard listing recording bots with platform, status and duration
Every recording bot with its platform, live status and duration.
How it works

From a Microsoft Teams link to your product

One request puts a bot in the call. It records while the meeting runs, then a webhook says the files are ready.

*Get started in minutes*

Microsoft Teams linkcreate_botone requestBot in the callrecords and streamsWebhookbot.doneYour storageMP4 and streams
The same five steps every time. Only the last box is yours.
Quickstart

Record a Microsoft Teams meeting with one request

Post the meeting link. The bot joins, records, and fires a webhook when the call ends.

Examplebash
curl -X POST https://api.meetstream.ai/api/v1/bots/create_bot \
  -H "Authorization: Token $MEETSTREAM_API_KEY" \
  -d '{
    "meeting_link": "https://teams.microsoft.com/l/meetup-join/19%3ameeting",
    "bot_name": "Acme Notetaker",
    "audio_separate_streams": true,
    "video_separate_streams": true,
    "callback_url": "https://your-app.example.com/meetstream"
  }'
ExampleWebhooks and events guide: request, response and options in the docs
Build vs buy

Which Microsoft API records a Teams call?

Microsoft's own route to meeting media is an application-hosted media bot on Graph.

*Get started in minutes*

Graph media botMicrosoft states the stackC# serviceWindows ServerAzure hostingA recording botOne request, any tenantJoin linkBot joinsYour storage
Microsoft's own route asks for a stack. A bot asks for a link.

Microsoft states that a media bot is written in C# and deployed on Windows Server in Azure, at one or two media sessions per CPU core.

A participant bot joins from a link on any tenant. The Teams bot API page sets both routes side by side.

Storage

Where Teams recordings are stored

30 days by defaultIncluded, not meteredYour own bucketEvery artefact, from thefirst byteYour regionUS, EU, Australia, Japanand the Middle East
Where a recording lives is a setting, not a support ticket.

Recordings are kept for thirty days by default. Connect your own S3 bucket and every artefact lands in your account from the first byte.

Your lifecycle rules, object lock and retention schedule then govern the record. Bots run in the United States by default.

The Teams integration page covers the speaker timeline and how to turn byte offsets into seconds.

Pricing

Microsoft Teams recording API pricing

A recording bot costs $0.35 per bot-hour. Transcription adds $0.10, and the rate falls toward $0.25 at volume.

Thirty days of storage is included, and every account starts with $5 of free credit. The pricing page has the full breakdown.

The comparison hub sets MeetStream beside the other meeting bot vendors, on their own published rates.

Limits

Teams recording limits and defaults

Four hoursPer session, five whenyou raise itOpen concurrencyRun as many bots asyour product needsISO 27001Certified. SOC 2 Type 2is under audit
The defaults every bot runs with, on all three platforms.

Participant events tell your app the moment the bot is admitted, so your user always sees the real status.

Integration

One integration for all three platforms

The same request, the same webhook, the same files. Only the link changes.

Teams recording from a join link, with no Azure setup.

One request replaces the C# media bot, the Windows Server and the Azure subscription.

*Get started in minutes*

Per-participant audio
Live transcripts
MP4 recordings
Participant events
Calendar sync
FAQ

Got a question? We got the answer.

Common questions about recording Microsoft Teams calls. What comes back, how the bot is admitted, and what it costs.

*Get started in minutes*

Can I record a Teams meeting without an Azure app registration?

Yes. A join link is all it takes. The bot enters as a participant, with nothing registered in Azure and no Graph permission of its own.

Why is my Teams bot waiting in the lobby?

Most tenants hold external participants in the lobby. An organiser admits the bot, and Teams accepts a waiting window of up to 1800 seconds.

Do Teams participants know a bot is recording?

Yes. The Teams recording banner stays on, and an admin can change only the consent text and the privacy link. The bot also carries the name you choose.

Can I get separate audio for each Teams participant?

Teams capture is tagged by speaker, on the same model as Google Meet, and falls back to the dominant speaker. Zoom is the platform with full isolation.

What format is a Teams recording returned in?

A composed MP4 of the meeting, a mixed WAV track, and per-participant video in numbered segments with webcam up to 854 by 480.

Why does Teams video arrive in segments?

A new segment starts when a webcam changes size or a screen share changes resolution. Each one is numbered in time order, so you can stitch them back together.

How long are Teams recordings stored?

Thirty days by default. Connect your own S3 bucket and every artefact lands in your account from the first byte, under your own retention policy.

How much does the Microsoft Teams recording API cost?

$0.35 per bot-hour, or $0.45 with transcription, falling toward $0.25 at volume. Thirty days of storage is included and every account starts with $5 of credit.

Record your next Teams call

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