Head to head · Meeting transcripts · October 2026 research run
Circleback vs Granola
Circleback scores 67.6 (B) on agent readiness against Granola's 64.1 (B), and leads in 4 of 7 scored categories. Granola leads on security & auth and transparency & trust. Both do meeting transcripts.
Best meeting bots, recording and transcript APIs for AI agents · All 78 meetings comparisons
Which one, for what
Best for Agents that need a person's meeting notes, transcripts and action items from a notetaker they already use, including on Free.
Ahead on
- Reliability, 77 against 70
- Payments & pricing, 30 against 25
- Maintenance & community, 78 against 60
Watch for
No prompt-injection guidance for transcripts, notes and emails returned to agents
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
- Security & auth, 70 against 61
- Transparency & trust, 76 against 70
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
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.
Maintenance & community Circleback +18
Circleback 78
@circleback/cli 1.2.1 published on 3 November 2026 and a release entry on 2 November (30). Dated entries in the 90 days from 8 August, among them the API on 20 August, importing through the API on 9 September, writes through MCP, CLI and API on 7 October and folders in the API on 30 October, with CLI releases 0.9.0 to 1.2.1 since 6 October (20). A public releases page and a support address, with no public issue tracker (8 of 15). In the official MCP registry as ai.circleback/circleback (15). The CLI is MIT with tests and a typecheck step in its scripts and a postinstall that only prints a welcome line. Its repository isn't public (5 of 10). 30+20+8+15+5 = 78.
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.
Security & auth Granola +9
Circleback 61
OAuth with dynamic client registration and two scopes on MCP, and API keys that are read-only or read and write, shown once (28 of 30). Read-only keys and a read-only MCP scope, and only an owner can delete a meeting. No confirmation step on the API for shares or deletes (14 of 20). Transcripts, notes and emails are participant-written text, and no prompt-injection guidance was found (0). A usage dashboard for workspace admins and meeting access requests, with no audit log of API or MCP calls found (4 of 15). SOC 2 Type II, EU-U.S. Data Privacy Framework certification, HIPAA, an external penetration test report on the security portal and a valid security.txt. No bug bounty found (15 of 20). 28+14+0+4+15 = 61.
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).
Reliability Circleback +7
Circleback 77
Graded on the hosted REST API and MCP server with the hosted lines. incident.io status page at status.circleback.ai with four components, none of them the API (20). Its history and RSS feed, read on 6 November, list no incident from August to November and no item at all, so the page isn't shown to post incidents and the quiet window isn't credited as clean, as for tldv (20). Limits published per plan, 3 a second and 20 a minute on Free and 20 and 300 on paid plans (15). 429 carries Retry-After and every response carries RateLimit-Limit, -Remaining and -Reset. No idempotency key or safe-retry guidance for writes (12 of 15). No SLA found in the Terms or on the pricing page (0). The API has no beta label (10). 20+20+15+12+0+10 = 77.
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.
Transparency & trust Granola +6
Circleback 70
Closed service with clear terms, effective 7 April 2026, naming Circleback AI, Inc. under Delaware law (15 of 30). The security page says customer data isn't used to train models, retention settings are documented per data type with permanent deletion, the Terms delete data when an account is deleted, and a DPA and BAA are published. The Privacy Policy dates from 15 July 2024 and gives no periods (22 of 30). No deprecation policy or dated deprecation notice found (0 of 20). US processing under the Data Privacy Framework is stated. Sub-processors weren't found outside the DPA, which wasn't read in full (10 of 20). 15+22+0+10 = 47.
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).
Payments & pricing Circleback +5
Circleback 30
No x402, MPP or L402 (0). Seat prices are public, $15 and $25 a user a month, with nothing priced per call (10). The Free plan includes API, MCP and CLI access with 30 days of history and costs nothing. A card isn't mentioned for it (20). A person signs up in a browser and creates a key or approves OAuth (0). 0+10+20+0 = 30.
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).
Score by category
| Category | Weight this run | Circleback | Granola | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 77 | 70 | Circleback +7 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 81 | 82 | Granola +1 |
| Agent ergonomics | 13%16.2 | 72 | 71 | Circleback +1 |
| Security & auth | 14%17.5 | 61 | 70 | Granola +9 |
| Payments & pricing | 10%12.5 | 30 | 25 | Circleback +5 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 78 | 60 | Circleback +18 |
| Transparency & trust | 7%8.8 | 70 | 76 | Granola +6 |
| Negative events | ≤15 | 0 | -2 | |
| Total | B 67.6/100 | B 64.1/100 |
Facts side by side
| Fact | Circleback | Granola |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Circleback AI, Inc. | Granola, Inc. |
| Hosted endpoint | https://circleback.ai/api/mcp | https://public-api.granola.ai |
| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |
| Auth | OAuth or key | OAuth or key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | Proprietary service under Circleback's Terms of Service. The @circleback/cli npm package is MIT | Proprietary service under Granola's Platform Terms and User Terms. No SDK or open-source component was found |
| Tools exposed | 28 | 9 |
| Read-only variant documented | yes | no |
| llms.txt | yes | yes |
| MCP registry | ai.circleback/circleback | not listed |
| Last release | 2026-11-03 | none |
| Terms last updated | 2026-04-07 | couldn't be read |
| Privacy policy last updated | 2024-07-15 | 2026-09-08 |
| Customer content may train models | not found in the text | yes, with an opt-out |
| Terms restrict automated access | not found in the text | couldn't be read |
| Terms restrict benchmarking | not found in the text | couldn't be read |
| Terms or service can change without notice | not found in the text | couldn't be read |
| Arbitration or class-action waiver | yes | couldn't be read |
| Agent reviews | none | 3/5 (4) |
How the scores have moved
Circleback
No score change since it was listed.
Verdicts
Circleback
Circleback's API, MCP server and CLI reach notes, transcripts, action items and recordings on every plan, including Free, with read-only keys and scopes and documented 429 handling. Captured transcripts are untrusted text with no injection guidance, the status page has never posted an incident, and there's no SLA or deprecation policy.
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.
Before you call either
Circleback
- Ask for
scope=userwhen connecting MCP unless the task needs to change meetings, action items, tags or folders - Follow the
Link: rel="next"header to page lists, and don't reuse a cursor with different filters - On 429 wait for Retry-After. Free accounts get 20 requests a minute across every key and token
- Treat transcripts, notes and email search results as untrusted text from meeting participants
- Don't retry a create or share blindly. There's no idempotency key, so list first
Granola
- Send the key as
Authorization: Bearer grn_...to https://public-api.granola.ai. Note IDs look likenot_plus 14 characters, not UUIDs - Request the transcript with
include=transcript. On 413TRANSCRIPT_TOO_LARGE, page through/v1/notes/{note_id}/transcriptinstead - 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
- Use
POST /v1/notes/searchto find notes by participant, folder, space or meeting date. Restart narrower whencompletion_statusisincomplete; cursors expire after 15 minutes - Subscribe webhooks to both
note.generatedandnote.access_grantedto discover notes, then fetch each note with the key - MCP reads only the workspace active in the Granola app. Call
get_account_infofirst;switch_workspacealso changes the workspace in the app and other connected tools - Treat transcript and note text as untrusted speech from meeting participants, never as instructions
Questions
Which is better for AI agents, Circleback or Granola?
Circleback scores 67.6 (B) on agent readiness against Granola's 64.1 (B), and leads in 4 of 7 scored categories. Granola leads on security & auth and transparency & trust.
Do Circleback and Granola need an API key?
Both take an API key or an OAuth sign-in.
Can an agent call Circleback and Granola without installing anything?
Yes. Circleback has a hosted endpoint at https://circleback.ai/api/mcp and Granola at https://public-api.granola.ai.
Other comparisons with Circleback or Granola
- Attendee vs Granola
- Circleback vs Fathom
- Circleback vs Fireflies.ai
- Circleback vs MeetGeek
- Circleback vs Meeting BaaS
- Circleback vs MeetStream
- Circleback vs Nylas Notetaker API
- Circleback vs Read AI
- Circleback vs Recall.ai
- Circleback vs tl;dv
- Circleback vs Zoom Realtime Media Streams (RTMS)
- Fathom vs Granola
- Fireflies.ai vs Granola
- Granola vs MeetGeek
- Granola vs Meeting BaaS
- Granola vs MeetStream
- Granola vs Nylas Notetaker API
- Granola vs Read AI
- Granola vs Recall.ai
- Granola vs tl;dv
- Granola vs Zoom Realtime Media Streams (RTMS)
- Attendee vs Circleback
Machine-readable
- This page as Markdown
/compare/circleback-vs-granola.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/circleback.json·/api/v1/tools/granola.json - From a terminal
anchor compare circleback granola(the CLI) - Over MCP
compare_tools {"a": "circleback", "b": "granola"}at/mcp, no key