meetbot.dev

All comparisons · vs Attendee

meetbot vs Attendee.

Attendee is the closest in spirit to meetbot — a developer-first, source-available, Docker-friendly meeting-bot stack with a clean dev experience. The two substantive differences: license (they're Elastic 2.0, we're MIT) and platform coverage today (they ship Meet + Zoom; we ship Meet + Teams + Zoom). Their hosted free tier is genuinely good for prototyping; their paid tier pricing isn't publicly listed yet.

Sign in →Skip to pricinglast verified 2026-05-09

01 · tl;dr

The short version.

Use Attendee if…

  • Your stack is Meet + Zoom only and won't need Teams.
  • You want the simplest possible self-host experience today (their Docker compose is excellent).
  • You're fine with ELv2 license terms and don't plan to ship a competing hosted product.
  • You want their specific dev-tooling polish — the Attendee dashboard is sharp.

Use meetbot if…

  • You need Microsoft Teams support today, not on a future roadmap.
  • Your business model might one day include reselling recording-as-a-service — ELv2 forbids that, MIT doesn't.
  • You want published, predictable pricing instead of a sales conversation for paid tiers.
  • You want three transports (webhook, WebSocket, RTMP), not just webhooks.

02 · spec table

Side by side. No spin.

Numbers verified against the cited source on the date in the page footer. PR a correction if anything has moved.

meetbotAttendee
platforms todayMeet, Teams, ZoomMeet, Zoom (Teams + Webex on roadmap)[1]
SDK license
ELv2 prohibits offering a competing hosted service.
MITElastic License 2.0[2]
self-host storyM5 (source-available)Docker compose today[3]
hosted pricing$0.30 / hr (flat, published)free tier; paid not listed[4]
transcriptionWhisper-large-v3 includedBYOK (Deepgram, etc.)
transportswebhook · websocket · RTMPwebhook · websocket
data residencyHetzner Falkenstein (DE)self-host: anywhere; hosted: not specified
pricing exposedthis pageafter a sales conversation (paid)
production maturityprivate beta, ~50 customersgrowing fast, similar stage
OAuth-managed signed-in botsM3 (Zoom · Meet · Teams)yes (Zoom, Meet)
  1. [1]platforms today: attendee.dev/
  2. [2]SDK license: github.com/attendee-labs/attendee
  3. [3]self-host story: github.com/attendee-labs/attendee
  4. [4]hosted pricing: attendee.dev/

03 · pricing scenarios

The math, three ways.

Three usage points: a hobbyist, a startup, and a scaled company. Formula visible per cell — copy it into a spreadsheet, plug your own numbers in.

scenario 1they win here

Hobbyist · 10 hr / mo

10 hours of meeting recording per month.

meetbot
10 hr × $0.30 = $3.00
$3.00/mo
Attendee
free tier (assumed) = $0
$0/mo

Attendee's hosted free tier covers this if your bot count fits. We can't predict their paid tier. If $3/mo is your gating cost, hosted Attendee wins; otherwise indistinguishable.

scenario 2

Startup · 1,000 hr / mo

1,000 hours of meeting recording per month.

meetbot
1,000 hr × $0.30 = $300
$300/mo
Attendee
paid tier (not listed) — sales conversation required
?/mo

We can't quote because Attendee's paid tier isn't public. If you need predictable pricing for your finance model, that's a real edge for us at this scale.

scenario 3

Scale · 50,000 hr / mo

50,000 hours of meeting recording per month.

meetbot
50,000 hr × $0.30 = $15,000
$15,000/mo
Attendee
paid enterprise — quote
?/mo

At this scale you'd self-host Attendee on your own infra (~$300–800/mo Hetzner + ~0.3 FTE ops) which probably beats both hosted options. Worth a real proof-of-concept.

04 · where they win

Where Attendee is the better choice.

We include this section because the alternative — pretending we win everywhere — is dishonest, and dishonest comparison pages are the reason most of them aren't worth reading.

  • 01Mature Docker-compose self-host today. Their stack is genuinely simple to spin up; ours isn't yet.
  • 02Generous hosted free tier for prototyping with no sales conversation needed.
  • 03Sharper customer dashboard than ours today (we'll close that gap, but not by tomorrow).
  • 04OAuth-managed signed-in bots (for bypassing Zoom lobbies on free Zoom plans) are shipped today; ours land in M3.
  • 05Smaller, sharper API surface — they cover less, but what they cover is well-designed.

05 · where we win

Where meetbot wins.

Each line links to the doc page that proves it. Numbers, not adjectives. Sourced against Attendee's public surface as of the date below.

  • 01True MIT license on every SDK + sample app. ELv2 (theirs) prevents you from offering a competing hosted service that wraps their software. MIT does not. Material if you sell recording-as-a-feature inside another product.
    proof: github.com/meetbot
  • 02Microsoft Teams support today. Attendee's Teams adapter is on their roadmap. If your customer base includes any enterprise IT, Teams is non-negotiable.
    proof: /docs/teams
  • 03Three transports per endpoint (webhook, WebSocket, RTMP). Attendee ships webhook + WebSocket; RTMP isn't first-class.
    proof: /docs/transports
  • 04Published flat pricing — $0.30/hr, no plans, no sales conversation. Their paid tiers aren't public.
    proof: /pricing
  • 05EU-hosted by default. Bot containers + control plane in Hetzner Falkenstein.
    proof: /security

06 · migration

The whole switch. Eight lines.

Same shape, same fields, different host. Replace your Attendee bot-dispatch call with a meetbot one. Webhook payloads land in the same JSON shape your handler already parses.

Attendee (before)ts
// Attendee
const res = await fetch("https://app.attendee.dev/api/v1/bots", {
  method: "POST",
  headers: {
    Authorization: `Token ${process.env.ATTENDEE_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    meeting_url: "https://meet.google.com/abc-defg-hij",
    bot_name: "notes",
    transcription_settings: { provider: "deepgram" },
    webhook_url: WEBHOOK_URL,
  }),
});
meetbot (after)ts
// meetbot
const res = await fetch("https://api.meetbot.dev/api/v1/bot", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.MEETBOT_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    meeting_url: "https://meet.google.com/abc-defg-hij",
    bot_name: "notes",
    transcription_options: { provider: "whisper-large-v3" },
    delivery: [{ transport: "webhook", url: WEBHOOK_URL }],
  }),
});

07 · faq

The questions we actually get.

Q.What does Elastic License 2.0 actually prevent?
ELv2 has three primary clauses: (1) you can't offer the software as a hosted / managed service to third parties, (2) you can't circumvent the license-key functionality, (3) you can't remove or alter copyright notices. (1) is the one that bites if you build a SaaS that recording is a feature of and you'd benefit from running their bot internally as your hosted layer. MIT (us) has none of these.
Q.Will Attendee ship Teams support?
It's on their public roadmap; we don't have a date. If you can wait, evaluate again when it lands. If you need it now, that's a clear pick-meetbot signal.
Q.If I'm using their hosted free tier today, should I switch?
Probably not until you outgrow it. Their free tier is fine for prototyping. Once you start needing predictable pricing for finance forecasting, or paid-tier features they haven't publicly priced, the predictability of $0.30/hr starts to matter.
Q.Is your dashboard as good as theirs?
Not yet. Their dashboard is more polished today. Ours improves through M6 with the embeddable player, transcript viewer, calendar UI, and OAuth manager. Honest answer for today: theirs.
Q.How do retention controls compare?
Both expose per-bot retention. Ours: retentionPolicy: 'zero' | 'days:N' | 'forever' — nightly purge job per policy. Theirs: similar. Material parity.
Q.What about end-user OAuth for Zoom signed-in bots?
Attendee ships this today. We ship in M3 (signed-in bots for Zoom/Meet/Teams via hosted OAuth credential management). If bypassing Zoom free-plan lobbies is a must-have today, Attendee.

Last verified 2026-05-09 against Attendee's public surface. Spotted an error? Fix it on GitHub.