meetbot.dev

v1produktiv im Einsatz · meet · teams · zoom

Die Meeting-Bot- API.

$0,005 pro Minute. Minutengenau abgerechnet, nicht pro Meeting. Eine Meet-, Teams- oder Zoom-URL einwerfen — Audio pro Sprecher, Tab-Video, zeitgestempelte Untertitel und eingehender Chat landen in deinem S3-kompatiblen Bucket. Ein signierter Webhook trifft ein, sobald das Meeting endet.

Anmelden →Mit bot@meetbot.dev kostenlos testenerste Stunde gratis · keine Karte · minutengenaue Abrechnung
~/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 · was ihr zurückbekommt

Vier Dateien. In eurem Bucket.

Kein proprietäres Container-Format. Kein "loggt euch in unser Portal ein, um runterzuladen". Wenn das Meeting endet, landen die Dateien im Prefix, das ihr angegeben habt, und ein Webhook kommt mit dem Pfad zum Manifest.

audio · pro sprecher

audio.{speaker}.webm

Eine Opus-Spur pro Teilnehmer. Kein Mixing, kein Übersprechen. WebRTC-SSRC-keyed; Sprecher-Tags kommen aus dem Meeting-Roster.

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
video · ganzer tab

tab.video.webm

ffmpeg x11grab des Meeting-Tabs — was ein Zuschauer sehen würde, inklusive geteilter Bildschirme. VP9, konfigurierbare Bitrate.

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

captions.jsonl

Zeilengetrenntes JSON. Eine Zeile pro finalisierter Äußerung — speakerId, Text, Start-/End-ms. Aus Meets Data Channel wenn verfügbar; Live-DOM-Scrape sonst.

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

chat.jsonl

Was Teilnehmer im Meeting-Chat geschrieben haben. Mit Timestamp, Sender zugeordnet. Gleiche Wire-Form über Meet/Teams/Zoom.

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

03 · plattformen

Drei Plattformen. Ein Vertrag.

Google Meet

verfügbar*

Tritt standardmäßig als anonymer Gast bei. Login mit Workspace-Konto ist in Arbeit für den Dual-Queue-Admit-Rollout im April 2026.

Microsoft Teams

verfügbar

Web-Client, anonymer Beitritt. Untertitel über Data-Channel-Intercept; echte Teilnehmernamen aus dem People-Pane.

Zoom (Web)

verfügbar

Nur Web-Client — kein Zoom-SDK-Key nötig, kein nativer Binary. Audio pro Sprecher via WebRTC-SSRC-Mapping.

* Zum Sternchen: Google hat im April 2026 ein Dual-Queue-Admit-System für Meet ausgerollt, das anonyme Teilnehmer in Workspace-Meetings automatisch ablehnt. Wir liefern einen Workspace-Bot-Identitätspool, der das löst — kommt diesen Monat.

04 · der ablauf

Ein HTTP POST rein. Dateien in eurem Bucket raus.

Der Orchestrator läuft auf eurer Infrastruktur oder unserer. Keine Black-Box-Statemachine — die Job-Tabelle, die Bot-Container, die Webhook-Auslieferungen sind für euch sichtbar (und im Admin inspizierbar) bei jedem Schritt.


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

$0,005 pro Minute.

Das sind $0,30 pro Stunde. Minutengenau abgerechnet, nicht pro Meeting — ein 17-minütiges Gespräch kostet 8,5 Cent. Das erste Meeting (bis zu einer Stunde) ist gratis. Wir veröffentlichen unsere Preise, weil wir nichts zu verbergen haben — auch nicht die Mathematik gegen die Closed-Source-Alternative.

aktualisiert 2026-05-08monatliche Abrechnung · stripe
meetbotRecall.ai
pro Meeting-Minute$0.005$0.008340% weniger
Abrechnungsgranularitätpro Minutepro Minute (aufgerundet)
Free-Tier1 Stunde erstes Meeting5 Stunden / Monat
Pro-Bot-Gebühr
Mindestumsatz
Preise offendiese Seitenach Sales-Call

Recall.ai-Preise gemäß ihrer öffentlichen Preisseite; wir aktualisieren diese Zeile, wenn sich ihre ändern. Das ist ein Vergleich, kein Angriff — sie haben ein gutes Produkt gebaut. öffentliche Preisseite

rechner

Was du wirklich zahlen würdest, im direkten Vergleich

Schiebe den Regler auf dein tatsächliches Meeting-Volumen. Wir vergleichen meetbot mit Recall.ai, MeetingBaaS und Vexa anhand der veröffentlichten Preise — keine Sternchen, keine "ruf uns an".

Std / Mo
Voreinstellungen:

Du sparst 40 $/Mo gegenüber Recall.ai bei diesem Volumen.

anbietermonatlichjährlich$ / Std effektiv
meetbot
30 $360 $0,30 $
Recall.ai
70 $840 $0,70 $
MeetingBaaS(Free PAYG)
50 $600 $0,50 $
Vexa
50 $600 $0,50 $

Preise verifiziert am 2026-05-09. Siehe /vs/recall für den vollständigen Vergleich.

06 · code

Die ganze API. Drei Calls.

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

Was Engineers wirklich fragen.

Q.Wie erscheint der Bot im Meeting?
Als regulärer Teilnehmer-Tile, mit dem displayName, den ihr an dispatchBot übergeben habt. Standard ist meetbot; übergebt displayName: "Linqua note-taker", wenn die Teilnehmerliste das anzeigen soll. Hosts lassen ihn aus dem Lobby wie jeden Gast rein.
Q.Wie geht ihr mit Anti-Bot-Detection um?
Drei Schichten in eskalierender Reihenfolge: Workspace-Bot-Accounts in einem Rotation-Pool (das Einzige, was Googles April-2026-Dual-Queue-Admit auf Workspace-Meetings überlebt), Cookie-Persistenz zwischen Runs und Tier-Eskalation beim Retry — jeder Retry nutzt einen heimlicheren Chrome-Fingerprint.
Q.Was, wenn das Meeting drei Stunden geht?
Der Orchestrator überwacht den Bot-Container mit periodischen Heartbeats. Es gibt kein Timeout zu konfigurieren — der Run endet, wenn der Host geht, das Meeting endet oder der Bot rausgeworfen wird. Ihr zahlt sekundengenau für die Meeting-Zeit, nicht für die Container-Wall-Clock.
Q.Wie fange ich an?
Einfachster Weg: bot@meetbot.dev zur nächsten Meet-, Teams- oder Zoom-Kalendereinladung hinzufügen. Der Bot tritt bei, nimmt auf und mailt euch die Aufnahme, sobald das Meeting endet. Erstes Meeting (bis zu einer Stunde) geht aufs Haus — keine Anmeldung, keine Karte. Danach könnt ihr mit einem bezahlten Account weitermachen.
Q.Wie geht ihr mit DSGVO / Aufnahmeeinwilligung um?
Tun wir nicht, und wir tun nicht so als ob. meetbot ist Infrastruktur — ihr informiert die Teilnehmer, dass das Meeting aufgezeichnet wird, ihr holt deren Einwilligung nach der jeweiligen Jurisdiktion ein, ihr entscheidet, ob "nicht aufnehmen"-Wünsche respektiert werden. Der Bot hat genau deshalb einen konfigurierbaren Anzeigenamen, damit Teilnehmer wissen, dass er da ist.