Google Meet Transcript Bot avatar

Google Meet Transcript Bot

Pricing

from $99.00 / 1,000 minutes

Go to Apify Store
Google Meet Transcript Bot

Google Meet Transcript Bot

Google Meet Bot API for meeting transcription & intelligence. Join calls programmatically, capture speaker-diarized transcripts from live captions, and export JSON/Markdown via REST API, webhooks, n8n & Zapier. Build AI notetakers and automate meeting notes.

Pricing

from $99.00 / 1,000 minutes

Rating

0.0

(0)

Developer

Lexis Solutions

Lexis Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Share

Google Meet Bot API — Audio Recording & Meeting Intelligence

Programmatic Google Meet bots that join calls, capture meeting audio, and deliver recordings via REST API — built as an Apify Actor for developers who want meeting capture without building browser automation from scratch.

Send a bot to any Google Meet. Get a WebM audio recording and meeting metadata — all through Apify's production-grade API, webhooks, and integrations.


Why this over Recall.ai, Vexa, or rolling your own?

Lexis Meet AgentTypical meeting-bot APIs
API platformFull Apify REST API — runs, KV store, webhooks, schedulesCustom REST + WebSocket
Audio recordingWebM audio written to KV store at meeting end (chunked during call)MP4, separate audio streams
TranscriptionNot included — pipe recording.webm to your own STT (Whisper, Deepgram, etc.)Built-in STT / diarization
Source codeOpen Actor — fork, self-host, auditClosed / partial open source
ScalingApify cloud — concurrent runs, retries, monitoringManaged infra
Integrationsn8n, Zapier, Make, webhooks, any HTTP clientPlatform-specific
Join modelGuest bot (host admits) or authenticated Google sessionOften no host permission required

Best fit: engineering teams building meeting capture pipelines, AI notetakers, sales call logging, compliance archives, or agentic apps — who want API-first control and Apify's developer ecosystem instead of a closed meeting-BaaS.

Compare: Recall.ai Google Meet Bot API · Vexa Meeting Transcription API


What you get

Google Meet Bot API primitives

  • Automatic join & leave — bot joins via meeting URL, stays for the call, exits on alone-timeout, max duration, or removal
  • Custom bot identity — set display name per meeting (botName)
  • Audio recording — captures incoming WebRTC audio via in-browser MediaRecorder; uploads 10-second chunks during the call
  • Meeting metadata — run status, chunk counts, byte totals, end reason in status.json and recording.json
  • Post-meeting output — combined recording.webm plus per-chunk audio/chunk-*.webm files in the KV store
  • Agent-ready data — feed recordings into your STT, LLMs, CRMs, or compliance archives

Built for AI agents & automation

  • REST API for every operation — start bots, fetch recordings and artifacts
  • Webhooks on run finish — trigger n8n, Zapier, or your backend when a meeting ends
  • Schedules — calendar-driven bot deployment via Apify Schedules
  • Concurrent bots — run unlimited parallel meetings (Apify platform limits apply)
  • Observable runs — live logs and run history in Apify Console

Two API calls to meeting audio

1. Start a Google Meet bot

curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~google-meet-transcription-bot/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"meetingUrl": "https://meet.google.com/abc-defg-hij",
"botName": "Acme Recorder",
"aloneTimeoutSecs": 120
}'

2. Get the recording (after the meeting ends)

Audio artifacts (available once the run completes):

# Combined WebM recording
curl "https://api.apify.com/v2/key-value-stores/STORE_ID/records/recording.webm?token=YOUR_APIFY_TOKEN" \
--output meeting.webm
# Recording metadata (chunk keys, mime type, byte counts)
curl "https://api.apify.com/v2/key-value-stores/STORE_ID/records/recording.json?token=YOUR_APIFY_TOKEN"
# Run status (joining → recording_active → ended)
curl "https://api.apify.com/v2/key-value-stores/STORE_ID/records/status.json?token=YOUR_APIFY_TOKEN"

Individual chunks are also available at audio/chunk-00001.webm, audio/chunk-00002.webm, etc.

TypeScript / JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
// Join the meeting
const run = await client.actor('YOUR_USERNAME/google-meet-transcription-bot').call({
meetingUrl: 'https://meet.google.com/abc-defg-hij',
botName: 'Meeting Recorder',
});
// Combined audio recording
const store = client.keyValueStore(run.defaultKeyValueStoreId);
const recording = await store.getRecord('recording.webm');
const metadata = await store.getRecord('recording.json');
console.log(metadata.value); // { chunkCount, totalBytes, mimeType, ... }

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("YOUR_USERNAME/google-meet-transcription-bot").call(run_input={
"meetingUrl": "https://meet.google.com/abc-defg-hij",
"botName": "Meeting Bot",
})
store = client.key_value_store(run["defaultKeyValueStoreId"])
metadata = store.get_record("recording.json")
audio = store.get_record("recording.webm")

Webhook on meeting end

const run = await client.actor('YOUR_USERNAME/google-meet-transcription-bot').call(
{ meetingUrl: 'https://meet.google.com/abc-defg-hij' },
{
webhooks: [
{
eventTypes: ['ACTOR.RUN.SUCCEEDED', 'ACTOR.RUN.FAILED'],
requestUrl: 'https://your-app.com/webhooks/meeting-ended',
},
],
},
);

Or configure a permanent webhook on the Actor in Apify Console → your Actor → Integrations → Webhooks.

Your webhook receives the run payload with links to the key-value store — fetch the recording and push to your STT pipeline, S3, or compliance archive.


How it works

Meeting URL → Apify API → Bot joins Meet → Audio capture ON → Bot leaves → recording.webm
  1. Launch — Camoufox (anti-fingerprint Firefox) via Playwright on Apify infrastructure
  2. Join — guest join with your botName, mic/camera off, keyboard-driven lobby navigation
  3. Admit — waits for host admission (configurable timeout)
  4. Record — hooks RTCPeerConnection to mix incoming remote audio tracks; MediaRecorder writes WebM chunks every 10 seconds
  5. Upload — each chunk is saved to the KV store during the call; chunks are concatenated into recording.webm at the end
  6. End — leaves on alone-timeout, max duration, or removal
  7. Deliver — writes recording.webm, recording.json, and status.json to the KV store

No built-in speech-to-text. Transcription quality depends on your STT provider applied to the recording.


Input

FieldRequiredDefaultDescription
meetingUrlYesGoogle Meet link (https://meet.google.com/...)
botNameNoNotetakerBot display name shown to participants
maxDurationSecsNo7200Max time in meeting (0 = unlimited)
aloneTimeoutSecsNo5Leave when bot is alone this long
admissionTimeoutSecsNo600Wait for host to admit the bot

Output

Key-Value Store — meeting artifacts

KeyDescription
recording.webmCombined WebM audio of the meeting (all chunks concatenated)
recording.jsonMetadata: mime type, chunk keys, byte counts, duration, end reason
audio/chunk-*.webmIndividual 10-second recording chunks uploaded during the call
status.jsonLive run status (joiningrecording_activeended)

Status lifecycle

startingjoiningadmittedrecording_activeended

Terminal states: blocked_guest, admission_timeout, error

status.json during recording includes chunkCount, totalBytes, and trackCount.


Use cases

  • Sales & revenue — archive discovery calls and demos; transcribe with your own STT
  • Engineering — record standups / retros for async review or AI summarization
  • HR & recruiting — interview audio archives for compliance and review
  • Compliance — meeting audio recordkeeping with consent
  • AI notetakers — capture audio on Apify, transcribe and summarize in your pipeline
  • Workflow automation — n8n/Zapier triggers on ACTOR.RUN.SUCCEEDED

Requirements & limitations

Works with

  • Google Meet on all common Workspace tiers (guest join where org policy allows)
  • Free Google accounts when guest access is permitted

Limitations

  • Host must admit the guest bot
  • Some organizations block guest joins — run exits with blocked_guest
  • Audio only — no video recording, screenshare capture, or chat messages
  • Incoming audio only — bot joins with mic muted; captures remote participant WebRTC audio tracks
  • Recording requires Meet to deliver audio over WebRTC to the browser — if no remote tracks connect, chunkCount will be 0
  • No built-in transcription or speaker diarization — add your own STT step
  • Google Meet only — Microsoft Teams and Zoom not supported in this Actor
  • Real-time delivery is via KV store chunk uploads during the call (not a dedicated WebSocket)

Consent

This Actor captures meeting audio, which may constitute recording in some jurisdictions. You are responsible for obtaining consent from meeting participants before use.


Architecture

LayerTechnology
PlatformApify Actors
BrowserCamoufox + Playwright (Firefox)
InteractionGhost cursor, semantic locators, keyboard shortcuts
RecordingWebRTC track hook + MediaRecorder (WebM/Opus)

FAQ

Does this work as a Google Meet recording API? Yes. Start a run with a Meet URL; retrieve recording.webm and recording.json from the KV store once the run completes.

Do I need the host's permission? For guest join, the host (or someone with admit rights) must let the bot into the meeting.

Can I get real-time audio during the call? Chunks are uploaded to the KV store every ~10 seconds as audio/chunk-*.webm. Poll those keys during the run, or wait for the combined recording.webm at the end.

How does this compare to Recall.ai? Recall.ai offers built-in transcription, video capture, wider platform support, and often no-admit joins. This Actor is audio-only, open source, and runs on Apify's API — you bring your own STT.

How does this compare to Vexa? Vexa is open-source meeting-bot infrastructure with WebSockets and self-hosting. This Actor gives you a deploy-ready Google Meet bot on Apify with a "send URL → get recording" developer experience.

Can I run multiple bots at once? Yes. Each meeting is a separate Apify Actor run. Scale concurrent bots via Apify platform limits and billing.

Can I schedule bots for calendar meetings? Use Apify Schedules or trigger runs from your calendar integration (Google Calendar → webhook → Apify API).

Is there speaker diarization? Not built in. Run your preferred STT service on recording.webm for transcription and diarization.


Google Meet Bot API · Meeting Audio Recording · WebRTC Capture · Meeting Intelligence · Apify Actor


👀 p.s.

Got feedback or need an extension?

Lexis Solutions is a certified Apify Partner. We can help you with custom solutions or data extraction projects.

Contact us over Email or LinkedIn

Support Our Work 💝

If you're happy with our work and scrapers, you're welcome to leave us a company review here and leave a review for the scrapers you're subscribed to. It will take you less than a minute but it will mean a lot to us!