Granola Rate Limits & Plan Quotas
Overview
Granola has three plan tiers with different feature access and limits. There are no per-meeting minute caps or monthly meeting count limits on paid plans. Limits primarily apply to the free tier and the Enterprise API.
Plan Comparison (Current as of March 2026)
Basic (Free) — $0
| Feature |
Limit |
| Meetings |
25 lifetime (not monthly) |
| Meeting history |
Visible for 14 days only |
| Enhance Notes |
Included |
| Templates |
Built-in only |
| Granola Chat |
Included |
| People & Companies |
Included |
| Integrations |
None |
| API access |
None |
The free plan is essentially a trial — 25 meetings total, ever. After that, you must upgrade.
Business — $14/user/month
| Feature |
Availability |
| Meetings |
Unlimited |
| Meeting history |
Unlimited retention |
| Templates |
Built-in + custom |
| Granola Chat |
Included |
| People & Companies |
Included |
| Slack integration |
Native |
| Notion integration |
Native |
| CRM (HubSpot, Attio, Affinity) |
Native |
| Zapier |
Full access |
| MCP (AI agent integration) |
Included |
| Team shared folders |
Included |
| Admin controls |
Basic |
| AI training opt-out (org-wide) |
Included |
| Priority support |
Included |
| Public API access |
Included |
Enterprise — $35+/user/month
| Feature |
Availability |
| Everything in Business |
Included |
| SSO (Okta, Google Workspace) |
Included |
| SCIM provisioning |
Included |
| AI training opt-out (enforced) |
Default on |
| Usage analytics dashboard |
Included |
| Enterprise API (full) |
Included |
| Custom data retention policies |
Configurable |
| SOC 2 Type 2 compliance report |
Available |
| Dedicated account manager |
Included |
| Volume discounts |
Negotiable |
API Rate Limits
Enterprise API
- Rate limits are applied per workspace (not per user)
- When exceeded: HTTP
429 Too Many Requests response
- Retry behavior: respect the
Retry-After header
- No published rate numbers — contact Granola for workspace-specific limits
Zapier Integration
- Zapier task limits are governed by your Zapier plan, not Granola
- Granola does not throttle outbound Zapier triggers
- For high-volume workspaces, add delay steps between Zap actions to avoid overwhelming downstream apps
Usage Monitoring
Check Usage in Granola
- Click your avatar (bottom-left) > Settings
- Navigate to Account or Subscription
- View: current plan, meeting count, team seats, connected integrations
Free Plan Usage Tracking
Meetings Used: 18 / 25 lifetime
History Visible: Last 14 days
Upgrade Required: After 25 meetings
API Usage (Enterprise)
Monitor API usage through response headers:
# Check rate limit headers in API response
curl -s -I "https://api.granola.ai/v0/notes" \
-H "Authorization: Bearer $GRANOLA_API_KEY" \
| grep -i "rate-limit\|retry-after"
What Happens at Limits
| Limit Hit |
Behavior |
Resolution |
| Free plan 25 meetings |
New recordings blocked |
Upgrade to Business ($14/mo) |
| Free plan 14-day history |
Older notes hidden (not deleted) |
Upgrade to restore access |
| API rate limit (429) |
Requests rejected |
Wait for Retry-After period, reduce request frequency |
| Zapier task limit |
Zaps paused |
Upgrade Zapier plan or reduce trigger frequency |
| Workspace seat limit |
Can't add users |
Purchase additional seats or remove inactive users |
Plan Selection Guide
| Scenario |
Recommended Plan |
| Trying Granola (< 25 meetings) |
Basic (Free) |
| Individual user, needs integrations |
Business ($14/mo) |
| Team of 2-10, shared folders + CRM |
Business ($14/user/mo) |
| 10+ users, SSO/SCIM required |
Enterprise ($35+/user/mo) |
| Regulated industry (SOC 2, GDPR) |
Enterprise |
| API access for custom workflows |
Business (basic) or Enterprise (full) |
Billing Details
- Annual billing: Save 10-15% vs monthly
- Prorated upgrades: Upgrade mid-cycle, pay difference
- Seat management: Add/remove seats in Settings > Team
- No per-minute charges: Granola does not charge by meeting duration or transcription minutes
Error Handling
| Error |
Cause |
Fix |
| "Meeting limit reached" |
Free plan exhausted (25 lifetime) |
Upgrade to Business |
| "Subscription expired" |
Payment method failed |
Update payment in Settings > Billing |
| API 429 response |
Rate limit exceeded |
Implement exponential backoff, reduce request frequency |
| "Feature not available" |
Feature requires higher plan |
Check plan comparison above and upgrade |
Prerequisites
- An approved request budget, observed response-header baseline, and a sandbox workload using fictional meeting metadata only.
- A bounded queue, idempotency key for write-like actions, and a reviewed recovery path for exhausted work.
Instructions
- Classify calls by integration and operation, then apply per-scope concurrency limits before dispatch.
- Honor server retry guidance when present; otherwise use bounded exponential backoff with jitter and a maximum attempt count.
- Never replay task creation or external notification without an idempotency key, and defer nonessential work before backlog threatens freshness.
- Monitor aggregate limited/deferred counts and synthetic canary success, tuning one scope at a time with rollback.
- Send exhausted work to reviewed recovery rather than silently dropping or duplicating action items.
Output
Return an aggregate rate-limit receipt with scope, requested/limited/deferred counts, retry revision, idempotency state, queue health, canary result, and rollback reference. Do not include meeting content or credentials.
Examples
scope=sandbox-actions; requested=100; limited=3; deferred=3; retry=v2; idempotent=pass; queue=healthy; rollback=limits-r7 proves bounded handling.
Resources
Next Steps
Proceed to granola-security-basics for security and compliance configuration.
1---2name: granola-rate-limits3description: Understand Granola plan limits, usage quotas, and API rate limiting. Use when hitting meeting limits, choosing between plans, or managing Enterprise API rate limits. Trigger: "granola limits", "granola quota", "granola plan", "granola usage", "granola restrictions".4license: MIT5---6# Granola Rate Limits & Plan Quotas
7
8## Overview
9
10Granola has three plan tiers with different feature access and limits. There are no per-meeting minute caps or monthly meeting count limits on paid plans. Limits primarily apply to the free tier and the Enterprise API.
11
12## Plan Comparison (Current as of March 2026)
13
14### Basic (Free) — $0
15
16| Feature | Limit |
17|---------|-------|
18| Meetings | 25 lifetime (not monthly) |
19| Meeting history | Visible for 14 days only |
20| Enhance Notes | Included |
21| Templates | Built-in only |
22| Granola Chat | Included |
23| People & Companies | Included |
24| Integrations | None |
25| API access | None |
26
27> The free plan is essentially a trial — 25 meetings total, ever. After that, you must upgrade.
28
29### Business — $14/user/month
30
31| Feature | Availability |
32|---------|-------------|
33| Meetings | Unlimited |
34| Meeting history | Unlimited retention |
35| Templates | Built-in + custom |
36| Granola Chat | Included |
37| People & Companies | Included |
38| Slack integration | Native |
39| Notion integration | Native |
40| CRM (HubSpot, Attio, Affinity) | Native |
41| Zapier | Full access |
42| MCP (AI agent integration) | Included |
43| Team shared folders | Included |
44| Admin controls | Basic |
45| AI training opt-out (org-wide) | Included |
46| Priority support | Included |
47| Public API access | Included |
48
49### Enterprise — $35+/user/month
50
51| Feature | Availability |
52|---------|-------------|
53| Everything in Business | Included |
54| SSO (Okta, Google Workspace) | Included |
55| SCIM provisioning | Included |
56| AI training opt-out (enforced) | Default on |
57| Usage analytics dashboard | Included |
58| Enterprise API (full) | Included |
59| Custom data retention policies | Configurable |
60| SOC 2 Type 2 compliance report | Available |
61| Dedicated account manager | Included |
62| Volume discounts | Negotiable |
63
64## API Rate Limits
65
66### Enterprise API
67
68- Rate limits are applied **per workspace** (not per user)
69- When exceeded: HTTP `429 Too Many Requests` response
70- Retry behavior: respect the `Retry-After` header
71- No published rate numbers — contact Granola for workspace-specific limits
72
73### Zapier Integration
74
75- Zapier task limits are governed by your **Zapier plan**, not Granola
76- Granola does not throttle outbound Zapier triggers
77- For high-volume workspaces, add delay steps between Zap actions to avoid overwhelming downstream apps
78
79## Usage Monitoring
80
81### Check Usage in Granola
82
831. Click your avatar (bottom-left) > **Settings**
842. Navigate to **Account** or **Subscription**
853. View: current plan, meeting count, team seats, connected integrations
86
87### Free Plan Usage Tracking
88
89```
90Meetings Used: 18 / 25 lifetime
91History Visible: Last 14 days
92Upgrade Required: After 25 meetings
93```
94
95### API Usage (Enterprise)
96
97Monitor API usage through response headers:
98
99```bash
100# Check rate limit headers in API response
101curl -s -I "https://api.granola.ai/v0/notes" \
102 -H "Authorization: Bearer $GRANOLA_API_KEY" \
103 | grep -i "rate-limit\|retry-after"
104```
105
106## What Happens at Limits
107
108| Limit Hit | Behavior | Resolution |
109|-----------|----------|------------|
110| Free plan 25 meetings | New recordings blocked | Upgrade to Business ($14/mo) |
111| Free plan 14-day history | Older notes hidden (not deleted) | Upgrade to restore access |
112| API rate limit (429) | Requests rejected | Wait for `Retry-After` period, reduce request frequency |
113| Zapier task limit | Zaps paused | Upgrade Zapier plan or reduce trigger frequency |
114| Workspace seat limit | Can't add users | Purchase additional seats or remove inactive users |
115
116## Plan Selection Guide
117
118| Scenario | Recommended Plan |
119|----------|-----------------|
120| Trying Granola (< 25 meetings) | Basic (Free) |
121| Individual user, needs integrations | Business ($14/mo) |
122| Team of 2-10, shared folders + CRM | Business ($14/user/mo) |
123| 10+ users, SSO/SCIM required | Enterprise ($35+/user/mo) |
124| Regulated industry (SOC 2, GDPR) | Enterprise |
125| API access for custom workflows | Business (basic) or Enterprise (full) |
126
127## Billing Details
128
129- **Annual billing:** Save 10-15% vs monthly
130- **Prorated upgrades:** Upgrade mid-cycle, pay difference
131- **Seat management:** Add/remove seats in Settings > Team
132- **No per-minute charges:** Granola does not charge by meeting duration or transcription minutes
133
134## Error Handling
135
136| Error | Cause | Fix |
137|-------|-------|-----|
138| "Meeting limit reached" | Free plan exhausted (25 lifetime) | Upgrade to Business |
139| "Subscription expired" | Payment method failed | Update payment in Settings > Billing |
140| API 429 response | Rate limit exceeded | Implement exponential backoff, reduce request frequency |
141| "Feature not available" | Feature requires higher plan | Check plan comparison above and upgrade |
142
143## Prerequisites
144
145- An approved request budget, observed response-header baseline, and a sandbox workload using fictional meeting metadata only.
146- A bounded queue, idempotency key for write-like actions, and a reviewed recovery path for exhausted work.
147
148## Instructions
149
1501. Classify calls by integration and operation, then apply per-scope concurrency limits before dispatch.
1512. Honor server retry guidance when present; otherwise use bounded exponential backoff with jitter and a maximum attempt count.
1523. Never replay task creation or external notification without an idempotency key, and defer nonessential work before backlog threatens freshness.
1534. Monitor aggregate limited/deferred counts and synthetic canary success, tuning one scope at a time with rollback.
1545. Send exhausted work to reviewed recovery rather than silently dropping or duplicating action items.
155
156## Output
157
158Return an aggregate rate-limit receipt with scope, requested/limited/deferred counts, retry revision, idempotency state, queue health, canary result, and rollback reference. Do not include meeting content or credentials.
159
160## Examples
161
162`scope=sandbox-actions; requested=100; limited=3; deferred=3; retry=v2; idempotent=pass; queue=healthy; rollback=limits-r7` proves bounded handling.
163
164## Resources
165
166- [Granola Pricing](https://www.granola.ai/pricing)
167- [Pricing Blog (ROI Calculator)](https://www.granola.ai/blog/granola-pricing-plans-features-roi)
168- [Enterprise API Docs](https://docs.granola.ai/help-center/sharing/integrations/enterprise-api)
169- [API Changelog](https://docs.granola.ai/api-reference/changelog)
170
171## Next Steps
172
173Proceed to `granola-security-basics` for security and compliance configuration.