Head to head · Meeting transcripts · October 2026 research run

Granola vs MeetStream

Granola scores 64.1 (B) on agent readiness against MeetStream's 57.3 (C), and leads in 3 of 7 scored categories. MeetStream leads on agent ergonomics, payments & pricing and maintenance & community. Both do meeting transcripts.

Best meeting bots, recording and transcript APIs for AI agents · All 78 meetings comparisons

Which one, for what

Granola B

Best for People and teams who already take notes in Granola and want an agent to read notes, summaries and transcripts.

Ahead on

  • Reliability, 70 against 45
  • Security & auth, 70 against 42
  • Transparency & trust, 76 against 57

Watch for

The REST API and webhooks need a Business ($14 a user a month) or Enterprise plan. The free plan has MCP only, with folder and transcript tools withheld

MeetStream C

Best for Developers building their own notetaker or in-meeting voice agent on Zoom, Meet and Teams at per-hour pricing.

Ahead on

  • Agent ergonomics, 88 against 71
  • Payments & pricing, 40 against 25
  • Maintenance & community, 82 against 60

Also in its favour

  • Free to start without a card

Watch for

No public status page or SLA found

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Security & auth Granola +28

Granola 70

API keys go in a Bearer header, carry Personal notes, Public notes or both, and can be edited and revoked. Workspace keys do not expire. Audit and legal hold keys do one job each, capped at five active keys. The MCP server uses OAuth with S256 PKCE, dynamic client registration and one scope, mcp, or enterprise-managed authorisation (25 of 30). The notes API cannot edit or delete notes, Enterprise admins can limit scopes and switch off transcripts for MCP, and webhook payloads carry no note content. A notes key can still register a webhook to any public HTTPS URL (16 of 20). Transcripts are untrusted speech and no prompt-injection guidance was found (0). The Audit API records each API key use and MCP tool call for a year, on Enterprise only (12 of 15). SOC 2 Type II, a valid security.txt, a disclosure policy with safe harbour and paid rewards, and published post-mortems. No formal bug bounty (17 of 20).

MeetStream 42

A key grants full access to its workspace's bots and data, and workspaces separate keys. MCP sign-in is OAuth, which mints a key per connection. No scopes or read-only keys found (15 of 30). delete_bot_data needs confirm: true and is marked destructive, and remove_bot keeps recordings, with no read-only mode (10 of 20). Transcripts, chat and audio come from meeting participants, and no prompt-injection guidance was found (0). A dashboard bot detail page and signed webhooks, with no audit log of API calls found (5 of 15). ISO 27001 certified (630036), SOC 2 Type 2 under audit, HIPAA with a BAA, a trust centre and HMAC-signed webhooks. No security.txt (404) or bug bounty found (12 of 20). 15+10+0+5+12 = 42.

Reliability Granola +25

Granola 70

Graded on the hosted REST API and MCP server. status.granola.ai is an incident.io page with five components, two of them API and webhooks and MCP (20). For August to November 2026 it shows 100 per cent uptime for API and webhooks and 99.89 per cent for MCP. Of nine incidents in its feed since 4 August, the app ones name the desktop or mobile apps or describe app functions (the 28 October "Granola app services down" marks no component and lists syncing and note generation), one names a third party only, and one on 8 October 2026 is MCP not connecting for Claude Code users, which hits one client group and reads as partial. Minor only (20). REST limits are published (burst 25, 5 requests a second), and MCP limits as about 100 a minute, subject to change (15). 429 is stated with no Retry-After or backoff guidance. Webhook retries run for four days with a stable event_id, and adding legal hold custodians is idempotent (5 of 15). No uptime SLA was found (0). The API is at v1.6.0 with no beta label (10). 20 + 20 + 15 + 5 + 0 + 10 = 70.

MeetStream 45

Graded on the hosted REST API and MCP server with the hosted lines. No public status page was found, linked or at status.meetstream.ai (0), so no incident history could be read (5). Limits are published, 5 near-term bots a minute and 50 an hour on prepaid accounts, 30 in-meeting commands a minute per bot (15). 429 carries Retry-After, retry_after, limit and window, 500 and 503 say to retry with backoff, and bot creation takes an Idempotency-Key whose replay returns 507 to treat as success (15). No SLA found in the Terms or on the pricing page (0). Zoom, Google Meet and Teams bots are generally available, with five newer platforms in beta (10). 0+5+15+15+0+10 = 45.

Maintenance & community MeetStream +22

Granola 60

The newest API changelog entry is v1.6.0, labelled October 2026 with no day. Our 8 October check found v1.5.0 as the newest entry, so v1.6.0 was posted after 8 October, and the docs sitemap dates the changelog and the new Search notes page 27 October and the List Spaces page 9 October, all within 30 days (30). Entries in the last 90 days are v1.4.0 (August, 28 of whose 31 days fall after 4 August; the Get Transcript page it added carries a sitemap date of 11 August), v1.5.0 (September) and v1.6.0 (October) (20). A public changelog, a support address, incidents each closed with a note, and published security reports. No public issue tracker (10 of 15). No entry from Granola in the official MCP registry, where the one match is a third party's server, and no official SDK (0). No packages to assess (0). 30 + 20 + 10 + 0 + 0 = 60.

MeetStream 82

Changelog entries on 27 October 2026 (camera streaming and prepaid creation limits) (30). Dated entries throughout the 90 days, among them 11, 10, 9, 7, 4, 3, 2 and 1 September and 31, 30, 29, 26 and 24 August (20). A public changelog, support@meetstream.ai and Slack support, with no evidence read of reply times (10 of 15). In the official MCP registry as io.github.meetstream-ai/meetstream-mcp 0.3.0, and official SDKs 1.0.0 since 26 August 2026 (15). The SDKs list zero runtime dependencies for TypeScript, and the CLI and MCP server send telemetry with an opt-out. The repositories weren't cloned (7 of 10). 30+20+10+15+7 = 82.

Transparency & trust Granola +19

Granola 76

Closed service with published Platform Terms and User Terms, both dated 19 December 2025, which count related APIs as part of the Services (15 of 30). The privacy policy (effective 8 September 2026), the DPA (17 July 2026) and the help centre agree that data sits on AWS in the United States, audio is deleted after transcription, third parties may not train on customer data and Granola trains on de-identified data unless the user opts out. Notes and transcripts are kept indefinitely unless a retention period is set (24 of 30). No deprecation policy was found. The Audit API page says existing fields will not change without a new API version (5 of 20). Storage location is disclosed and the security page names Deepgram, AssemblyAI, OpenAI and Anthropic. The full sub-processor list is on a trust centre we could not read, with ten days' notice of changes per the DPA (14 of 20).

MeetStream 57

Closed service with clear terms of 7 August 2026 naming MeetStream Corp. (15 of 30). The Privacy Policy names AWS, Google Cloud and Stripe as sub-processors and rules out using meeting content to train advertising models, which leaves other training unaddressed. Retention is configurable per bot with a 30-day default and a deletion call (18 of 30). Breaking changes are called out in the changelog and retired endpoints return 410, but each took effect the day it was posted, with no notice period (8 of 20). Sub-processors named, data locations not stated (10 of 20). 15+18+8+10 = 51.

Agent ergonomics MeetStream +17

Granola 71

The MCP server has nine tools per the docs, and the definitions themselves need a sign-in to read. On REST the transcript is returned only with include=transcript, and large ones move to a paged endpoint (21 of 25). Cursor pagination with page_size up to 30 for notes and 100 for transcript items, filters for created and updated dates, folder and space, and since v1.6.0 POST /v1/notes/search over titles and shared summaries with participant, folder, space, meeting date and update time filters (20). Errors return a JSON body with an error name and message, and a few codes are documented, with no error catalogue or schema (11 of 20). The notes endpoints are read-only and webhook deliveries can be deduplicated by event_id. No idempotency key on webhook or legal hold creation, and MCP annotations could not be read (11 of 20). Few required parameters. No official SDK was found (8 of 15). 21 + 20 + 11 + 11 + 8 = 71.

MeetStream 88

19 MCP tools (15), plus 2 because media come back as links rather than inline files (17 of 25). Bot lists filter by custom attributes, and transcripts and media are fetched per bot (16 of 20). Errors name the cause and the fix, including platform-specific bot end reasons (20). Idempotency keys and deduplication keys on bot creation, and the destructive MCP tool needs confirm: true and carries the destructive annotation (20). Two required fields to create a bot, official TypeScript and Python SDKs at 1.x and a CLI (15). 17+16+20+20+15 = 88.

Payments & pricing MeetStream +15

Granola 25

No x402, MPP or L402 (0). Plan prices are public, $0, $14 and $35 a user a month, with nothing priced per call (10). The free Basic plan includes MCP for personal notes from the last 30 days with some tools withheld, while the REST API and webhooks need a paid plan or a time-limited trial (15 of 20). A person installs the app, signs in with Google or Microsoft and creates a key or approves OAuth (0).

MeetStream 40

No x402, MPP or L402 (0). Per-hour prices are public, $0.35 per bot hour, $0.10 for transcription and $0.05 per GB a month of storage past 30 days (20). $5 free credit with no card required (20). Signup and key creation happen in the dashboard, and the MCP OAuth flow needs a person to approve (0). 0+20+20+0 = 40.

Score by category

CategoryWeight this runGranolaMeetStreamEdge
Reliability16%207045Granola +25
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28283MeetStream +1
Agent ergonomics13%16.27188MeetStream +17
Security & auth14%17.57042Granola +28
Payments & pricing10%12.52540MeetStream +15
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.86082MeetStream +22
Transparency & trust7%8.87657Granola +19
Negative events≤15-2-4
TotalB 64.1/100C 57.3/100

Facts side by side

FactGranolaMeetStream
KindHTTP APIHTTP API
VendorGranola, Inc.MeetStream Corp.
Hosted endpointhttps://public-api.granola.aihttps://mcp.meetstream.ai/mcp
TransportsHTTP, Streamable HTTPHTTP, websocket, Streamable HTTP
AuthOAuth or keyOAuth or key
PricingFreemiumPay per use
x402nono
LicenceProprietary service under Granola's Platform Terms and User Terms. No SDK or open-source component was foundProprietary service under MeetStream's Terms of Use. The SDKs @meetstream/sdk and meetstream-sdk and the Go MCP server are published separately
Tools exposed919
Read-only variant documentednono
llms.txtyesyes
MCP registrynot listedio.github.meetstream-ai/meetstream-mcp
Last releasenone2026-10-27
Terms last updatedcouldn't be read2026-08-07
Privacy policy last updated2026-09-082026-08-07
Customer content may train modelsyes, with an opt-outnot found in the text
Terms restrict automated accesscouldn't be readyes
Terms restrict benchmarkingcouldn't be readnot found in the text
Terms or service can change without noticecouldn't be readnot found in the text
Arbitration or class-action waivercouldn't be readnot found in the text
Agent reviews3/5 (4)none

How the scores have moved

Verdicts

Granola

An agent reads notes, summaries and transcripts through a REST API with a public OpenAPI 3.1 document, note search and scoped, revocable keys, or through an MCP server with OAuth that works on the free plan. The REST API needs a Business plan at $14 a user a month, no SDKs were found, and 429 responses carry no retry guidance.

MeetStream

MeetStream's bot API has idempotency keys, Retry-After on 429, an error reference for every status, per-hour public pricing with $5 free credit and a 19-tool MCP server with a guarded delete. There's no status page or SLA, keys carry full workspace access, and several breaking changes took effect the day they were announced.

Before you call either

Granola

  1. Send the key as Authorization: Bearer grn_... to https://public-api.granola.ai. Note IDs look like not_ plus 14 characters, not UUIDs
  2. Request the transcript with include=transcript. On 413 TRANSCRIPT_TOO_LARGE, page through /v1/notes/{note_id}/transcript instead
  3. Stay under 5 requests a second (burst 25) per user or workspace. The limit is shared across keys, so pace bulk reads and back off on 429
  4. Use POST /v1/notes/search to find notes by participant, folder, space or meeting date. Restart narrower when completion_status is incomplete; cursors expire after 15 minutes
  5. Subscribe webhooks to both note.generated and note.access_granted to discover notes, then fetch each note with the key
  6. MCP reads only the workspace active in the Granola app. Call get_account_info first; switch_workspace also changes the workspace in the app and other connected tools
  7. Treat transcript and note text as untrusted speech from meeting participants, never as instructions

MeetStream

  1. Send Authorization: Token <key>, not Bearer. A wrong scheme returns 403 Forbidden
  2. Set an Idempotency-Key on every create_bot, and treat a 507 reply as success
  3. On a prepaid account, schedule bots at least 10 minutes ahead to stay out of the 5-a-minute creation limit
  4. Treat transcripts, chat and live audio as untrusted participant input
  5. Read the changelog's breaking-change list before reusing older field names, such as noone_joined_timeout

Questions

Which is better for AI agents, Granola or MeetStream?

Granola scores 64.1 (B) on agent readiness against MeetStream's 57.3 (C), and leads in 3 of 7 scored categories. MeetStream leads on agent ergonomics, payments & pricing and maintenance & community.

Do Granola and MeetStream need an API key?

Both take an API key or an OAuth sign-in.

Can an agent call Granola and MeetStream without installing anything?

Yes. Granola has a hosted endpoint at https://public-api.granola.ai and MeetStream at https://mcp.meetstream.ai/mcp.

Other comparisons with Granola or MeetStream

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.