meetbot.dev

v1en producción · meet · teams · zoom

La API del meeting-bot.

$0.005 por minuto. Facturado por minuto, no por reunión. Pega una URL de Meet, Teams o Zoom — recibe audio por participante, vídeo de pestaña, subtítulos con timestamp y chat entrante enviados a tu bucket compatible con S3. Llega un webhook firmado al terminar la reunión.

Iniciar sesión →Prueba gratis con bot@meetbot.devprimera hora gratis · sin tarjeta · facturación 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 · lo que recibes

Cuatro archivos. En tu bucket.

Sin contenedor propietario. Sin "entra a nuestro portal para descargar". Cuando termina la reunión, los archivos aparecen en el prefijo que indicaste y llega un webhook con la ruta del manifiesto.

audio · por participante

audio.{speaker}.webm

Una pista Opus por participante. Sin mezcla, sin fuga. Indexada por SSRC de WebRTC; las etiquetas de orador vienen del listado de la reunión.

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 · pestaña completa

tab.video.webm

ffmpeg x11grab de la pestaña de la reunión — lo que vería un espectador, incluyendo pantallas compartidas. VP9, bitrate configurable.

tab.video.webm
  vp9 · 1920×1080 · 15 fps · 1.5 Mbps
  duration 00:42:17 · 412 MB
subtítulos · JSON en vivo

captions.jsonl

JSON delimitado por líneas. Una fila por enunciado finalizado — speakerId, texto, ms inicio/fin. Desde el data channel de Meet cuando está disponible; scrape DOM en vivo si no.

{"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 · entrante

chat.jsonl

Lo que los participantes escribieron en el chat. Con timestamp, atribuido al remitente. Misma forma de datos en Meet/Teams/Zoom.

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

03 · plataformas

Tres plataformas. Un contrato.

Google Meet

disponible*

Se une como invitado anónimo por defecto. El inicio de sesión con cuenta Workspace está en desarrollo para el despliegue de admisión de doble cola de abril de 2026.

Microsoft Teams

disponible

Cliente web, unión anónima. Subtítulos vía intercepción del data-channel; nombres reales de participantes desde el panel People.

Zoom (Web)

disponible

Solo cliente web — sin clave SDK de Zoom, sin binario nativo. Audio por participante mediante mapeo SSRC de WebRTC.

* Sobre el asterisco: Google desplegó en abril de 2026 un sistema de admisión de doble cola para Meet que rechaza automáticamente a los participantes anónimos en reuniones de Workspace. Estamos lanzando un pool de identidades Workspace-bot para resolverlo — disponible este mes.

04 · el flujo

Un HTTP POST entra. Archivos en tu bucket salen.

El orquestador corre en tu infraestructura o en la nuestra. Sin máquina de estados opaca — la tabla de jobs, los contenedores del bot, las entregas de webhook son visibles para ti (e inspeccionables en el admin) en cada paso.


  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 · precios

$0.005 por minuto.

Eso son $0.30 por hora. Facturado por minuto, no por reunión — una llamada de 17 minutos te cuesta 8.5 centavos. La primera reunión (hasta una hora) es gratis. Publicamos nuestros precios porque no tenemos nada que esconder — incluyendo la matemática frente a la alternativa de código cerrado.

actualizado 2026-05-08facturado mensualmente · stripe
meetbotRecall.ai
por minuto de reunión$0.005$0.008340% menos
granularidad de facturaciónpor minutopor minuto (redondeado)
plan gratuito1 hora primera reunión5 horas / mes
tarifa por bot
gasto mínimo
precios expuestosesta páginatras llamada comercial

Precios de Recall.ai según su ; actualizaremos esta fila cuando los suyos cambien. Esto es una comparación, no un ataque — han hecho un gran producto. página pública de precios

calculadora

Lo que realmente pagarías, lado a lado

Mueve el deslizador a tu volumen real de reuniones. Comparamos meetbot con Recall.ai, MeetingBaaS y Vexa usando los precios publicados de cada proveedor — sin asteriscos, sin "llámanos".

hr / mes
presets:

Ahorras 40 US$/mes vs Recall.ai a este volumen.

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

Precios verificados el 2026-05-09. Ver /vs/recall para la comparación completa.

06 · código

Toda la API. Tres llamadas.

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

Cosas que ingenieros preguntan de verdad.

Q.¿Cómo aparece el bot en la reunión?
Como una baldosa de participante normal, con el displayName que pasaste a dispatchBot. Por defecto es meetbot; pasa displayName: "Linqua note-taker" si quieres que la lista de participantes lo refleje. Los anfitriones lo admiten desde la sala de espera como a cualquier invitado.
Q.¿Cómo manejan la detección anti-bot?
Tres capas, en orden creciente: cuentas Workspace bot en un pool rotativo (lo único que sobrevive al sistema de admisión de doble cola de Google de abril de 2026 en reuniones Workspace), persistencia de cookies entre ejecuciones, y escalado por niveles en cada reintento — cada reintento usa una huella de Chrome más sigilosa.
Q.¿Y si la reunión dura tres horas?
El orquestador monitoriza el contenedor del bot con heartbeats periódicos. No hay timeout que configurar — la ejecución termina cuando el anfitrión se va, cuando termina la reunión, o cuando expulsan al bot. Te facturamos por segundo de tiempo de reunión, no por wall-clock del contenedor.
Q.¿Cómo empiezo?
El camino más fácil: añade bot@meetbot.dev a tu próxima invitación de calendario de Meet, Teams o Zoom. El bot se une, graba y te envía la grabación por email cuando termina. La primera reunión (hasta una hora) corre por nuestra cuenta — sin registro, sin tarjeta. Después puedes seguir con una cuenta de pago.
Q.¿Cómo manejan el GDPR / consentimiento de grabación?
No lo hacemos, y no fingiremos lo contrario. meetbot es infraestructura — tú avisas a los participantes que se está grabando, obtienes su consentimiento bajo la jurisdicción que aplique, decides si respetar las peticiones de "no grabar". El bot tiene un nombre configurable precisamente para que los participantes sepan que está ahí.