meetbot.dev

v1em produção · meet · teams · zoom

A API do meeting-bot.

$0,005 por minuto. Cobrado por minuto, não por reunião. Cole uma URL do Meet, Teams ou Zoom — receba áudio por participante, vídeo da aba, legendas com timestamp e chat de entrada enviados ao seu bucket compatível com S3. Um webhook assinado chega quando a reunião termina.

Entrar →Experimente grátis com bot@meetbot.devprimeira hora grátis · sem cartão · cobrança por minuto
~/your-app/dispatch.tsmain
import { createMeetbot } from "@meetbot/sdk";

const meetbot = createMeetbot({ apiKey: process.env.MEETBOT_API_KEY! });

const job = await meetbot.dispatchBot({
  url: "https://meet.google.com/abc-defg-hij",
  externalId: "session-42",
  webhooks: { onFinalize: "https://yours.example/hook" },
});

console.log(job.id, job.status);

02 · o que você recebe

Quatro arquivos. No seu bucket.

Sem container proprietário. Sem "vá ao nosso portal para baixar". Quando a reunião termina, eles aparecem no prefixo que você definiu, e um webhook chega com o caminho do manifest.

áudio · por participante

audio.{speaker}.webm

Uma faixa Opus por participante. Sem mixagem, sem vazamento. Indexada por SSRC do WebRTC; tags de orador vêm da lista da reunião.

manifest/
├─ alice.audio.webm        12.3 MB · opus@48k mono
├─ bob.audio.webm           8.7 MB · opus@48k mono
└─ carol.audio.webm         9.1 MB · opus@48k mono
vídeo · aba inteira

tab.video.webm

ffmpeg x11grab da aba da reunião — o que um espectador veria, incluindo telas compartilhadas. VP9, bitrate configurável.

tab.video.webm
  vp9 · 1920×1080 · 15 fps · 1.5 Mbps
  duration 00:42:17 · 412 MB
legendas · JSON ao vivo

captions.jsonl

JSON delimitado por linha. Uma linha por enunciado finalizado — speakerId, texto, ms início/fim. Do data channel do Meet quando disponível; scrape DOM ao vivo caso contrário.

{"speakerId":"p-2","name":"alice",
 "text":"so the redesign…",
 "tStart":423120,"tEnd":425840}
{"speakerId":"p-3","name":"bob",
 "text":"yeah, ship it.",
 "tStart":425900,"tEnd":426710}
chat · entrada

chat.jsonl

O que os participantes digitaram no chat da reunião. Com timestamp, atribuído ao remetente. Mesmo formato em Meet/Teams/Zoom.

{"sender":"alice","text":"link?",
 "tMs":1827000}
{"sender":"bob",
 "text":"https://docs.example/x",
 "tMs":1834120}

03 · plataformas

Três plataformas. Um contrato.

Google Meet

disponível*

Entra como convidado anônimo por padrão. Login com conta Workspace está em desenvolvimento para o rollout de admissão de fila dupla de abril de 2026.

Microsoft Teams

disponível

Cliente web, entrada anônima. Legendas via interceptação do data-channel; nomes reais dos participantes do painel People.

Zoom (Web)

disponível

Apenas cliente web — sem chave SDK do Zoom, sem binário nativo. Áudio por participante via mapeamento SSRC do WebRTC.

* Sobre o asterisco: o Google lançou em abril de 2026 um sistema de admissão de fila dupla para o Meet que recusa automaticamente entradas anônimas em reuniões Workspace. Estamos lançando um pool de identidades Workspace-bot para resolver — chega este mês.

04 · o fluxo

Um HTTP POST entra. Arquivos no seu bucket saem.

O orquestrador roda na sua infraestrutura ou na nossa. Sem máquina de estados caixa-preta — a tabela de jobs, os containers do bot, as entregas de webhook são visíveis para você (e inspecionáveis no admin) em cada passo.


  your app                                  meetbot orchestrator
 ┌────────────┐         POST /jobs         ┌──────────────────────┐
 │            │ ─────────────────────────▶ │                      │
 │  Linqua    │   Bearer mb_…              │   Next.js + Drizzle  │
 │  worker    │ ◀───────────────────────── │   pg-boss queue      │
 │            │   201 { id, status }       │                      │
 └────────────┘                            └──────┬───────────────┘
                                                  │ docker run
                                                  ▼
                                         ┌──────────────────────┐
                                         │   meetbot/bot        │
                                         │   ─────────────      │
                                         │   puppeteer + xvfb   │
                                         │   joins the meeting  │
                                         └──────┬───────────────┘
                                                │  per-speaker tracks,
                                                │  captions, chat
                                                ▼
                                         ┌──────────────────────┐
                                         │   YOUR  S3  BUCKET   │
                                         │   manifest.json      │
                                         │   alice.audio.webm   │
                                         │   bob.audio.webm     │
                                         │   tab.video.webm …   │
                                         └──────┬───────────────┘
                                                │
                              POST /your-hook   │  HMAC-SHA256
                              ◀─────────────────┘  X-Meetbot-Signature
                                  signed event              

05 · preços

$0,005 por minuto.

Isso dá $0,30 por hora. Cobrado por minuto, não por reunião — uma chamada de 17 minutos custa 8,5 centavos. A primeira reunião (até uma hora) é grátis. Publicamos nossos preços porque não temos nada a esconder — incluindo a matemática contra a alternativa de código fechado.

atualizado em 2026-05-08faturamento mensal · stripe
meetbotRecall.ai
por minuto de reunião$0.005$0.008340% menos
granularidade de cobrançapor minutopor minuto (arredondado)
plano gratuito1 hora primeira reunião5 horas / mês
taxa por bot
gasto mínimo
preços expostosesta páginaapós call comercial

Preços do Recall.ai conforme a página pública deles; vamos atualizar essa linha quando os deles mudarem. É uma comparação, não um ataque — eles construíram um ótimo produto. página pública de preços

calculadora

O que você pagaria de verdade, lado a lado

Mova o controle até seu volume real de reuniões. Comparamos meetbot com Recall.ai, MeetingBaaS e Vexa usando os preços públicos de cada fornecedor — sem asteriscos, sem "fale com vendas".

hr / mês
presets:

Você economiza US$ 40/mês vs Recall.ai neste volume.

fornecedormensalanual$ / hr efetivo
meetbot
US$ 30US$ 360US$ 0,30
Recall.ai
US$ 70US$ 840US$ 0,70
MeetingBaaS(Free PAYG)
US$ 50US$ 600US$ 0,50
Vexa
US$ 50US$ 600US$ 0,50

Preços verificados em 2026-05-09. Veja /vs/recall para a comparação completa.

06 · código

Toda a API. Três chamadas.

import { createMeetbot } from "@meetbot/sdk";

const meetbot = createMeetbot({ apiKey: process.env.MEETBOT_API_KEY! });

const job = await meetbot.dispatchBot({
  url: "https://meet.google.com/abc-defg-hij",
  externalId: "session-42",
  webhooks: { onFinalize: "https://yours.example/hook" },
});

console.log(job.id, job.status);

07 · faq

Coisas que engenheiros realmente perguntam.

Q.Como o bot aparece na reunião?
Como um tile de participante regular, com o displayName que você passou para dispatchBot. Por padrão é meetbot; passe displayName: "Linqua note-taker" se quiser que a lista de participantes mostre isso. Os anfitriões ainda admitem ele do lobby como qualquer convidado.
Q.Como vocês lidam com detecção anti-bot?
Três camadas, em ordem crescente: contas Workspace bot em pool rotativo (a única coisa que sobrevive à tela de admissão de fila dupla do Google de abril de 2026 em reuniões Workspace), persistência de cookies entre execuções, e escalonamento por tier no retry — cada retry usa uma fingerprint Chrome mais furtiva.
Q.E se a reunião durar três horas?
O orquestrador monitora o container do bot com heartbeats periódicos. Não há timeout para configurar — a execução termina quando o anfitrião sai, quando a reunião termina, ou quando o bot é removido. Você é cobrado por segundo de tempo de reunião, não por wall-clock do container.
Q.Como começo?
Caminho mais fácil: adicione bot@meetbot.dev ao seu próximo convite de calendário do Meet, Teams ou Zoom. O bot entra, grava e te envia a gravação por email quando a reunião termina. Primeira reunião (até uma hora) é por nossa conta — sem cadastro, sem cartão. Depois você pode continuar numa conta paga.
Q.Como vocês lidam com GDPR / consentimento de gravação?
Não lidamos, e não vamos fingir que sim. meetbot é infraestrutura — você avisa os participantes que a reunião está sendo gravada, obtém o consentimento sob a jurisdição que se aplica, decide se honra pedidos de "não gravar". O bot tem um nome configurável justamente para que os participantes saibam que ele está lá.