Overview
Understanding the limitations of our API is crucial for efficient and uninterrupted usage. Below you’ll find detailed information about the upload limits for different file types and the rate limits applicable to various subscription plans.Upload Limits
The Fireflies API accommodates a range of file sizes for different user types. Here’s a breakdown of the maximum file sizes for audio and video uploads:Understanding Upload Limits
- Audio Files: All users can upload an audio file no greater than 200MB, ensuring ample capacity for high-quality audio content.
- Video Files for Free Users: Free users have a maximum upload limit of 100MB for video files, suitable for short clips and previews.
- Video Files for Pro/Business/Enterprise Users: Higher-tier users can upload larger video files up to 1.5GB, accommodating longer and higher resolution content.
API Rate Limits
To maintain the quality of service and availability for all users, our API enforces rate limits based on the type of subscription plan. Every plan has a per-minute limit; Free and Pro also have a daily quota.- The daily quota is a calendar day in UTC: it resets at midnight UTC, not 24 hours after your first request. The
X-RateLimit-Resetheader tells you how many seconds remain. - The per-minute window starts with your first request and resets 60 seconds later; it is not aligned to the clock minute.
- Team pooling (Business and Enterprise): every member of the team draws from one shared per-minute budget of 60 requests per paid seat (the seats on your subscription; free seats do not add to the budget), so a 10-seat Business team gets 600 requests per minute between all its users and service accounts. A team is never limited to less than 60 requests per minute, and no single user can spend more than half of the team’s budget on their own (rounded up, and never less than their own 60 per minute, so a one-seat team can use its whole pool), so one runaway integration is slowed down before it can block the rest of the team.
- Free API trial: a Free user’s first API request starts a 14-day trial at Pro limits (60 per minute, 5,000 per day). The trial is tied to your account, not to an API key, so creating a new key does not restart it.
Team pooling applies to every Business and Enterprise team automatically, and the Free API trial starts with your first request. Neither needs to be enabled on your account.
Rate Limit Headers
Every response the general API limiter checks, allowed or rejected, carries the state of your quota (addToLiveMeeting is metered by its own window instead; see below):
The same values are also sent with a suffix per window (
X-RateLimit-Limit-api, X-RateLimit-Limit-api_burst, …). On an allowed request the unsuffixed headers describe the primary window named above; on a 429 they describe the window that rejected the request (its limit, 0 remaining, and a reset equal to Retry-After), which for Free and Pro may be the per-minute burst window. The error body’s extensions.metadata.retryAfter is the same moment as an epoch timestamp in milliseconds, not a number of seconds. On the MCP server, a rejected tool call is a JSON-RPC error with code -32429 whose data.retryAfter is that timestamp, with the same Retry-After header.
If your daily quota is exhausted and you keep sending requests above the per-minute limit, the 429 describes the daily window, so Retry-After always names the block you actually have to wait for.
When you receive a 429 Too Many Requests response, wait for the number of seconds in Retry-After before retrying. Requests sent during a block are rejected and still count towards the next window, so a client that keeps retrying can stay blocked indefinitely; back off until Retry-After has passed.
Add to Live API Rate Limit
The Add to Live API has a rate limit of 3 requests per 20 minutes per user. On Business and Enterprise plans the team automatically shares 3 requests per paid seat per 20 minutes, up to 60, and a single user can use at most half of that pool (rounded up, never less than 3).addToLiveMeeting does not count against the per-minute or daily quota above, so an allowed response carries only the suffixed X-RateLimit-Limit-call_join, X-RateLimit-Remaining-call_join and X-RateLimit-Reset-call_join headers. A 429 from this window carries Retry-After and the unsuffixed headers describing it, like any other rejection.
Share Meeting API Rate Limit
The Share Meeting API has a rate limit of 60 requests per hour. Each request supports up to 50 email addresses.Navigating API Rate Limits
- Free Plan: Ideal for testing and light usage, with 30 requests per minute and 500 API requests per day. Your first 14 days as an API user run at Pro limits.
- Pro Plan: Suited for moderate to heavy usage, with 60 requests per minute and 5,000 API requests per day. This provides ample capacity for integrations and automation workflows.
- Business and Enterprise Plans: Designed for the most demanding use cases, these plans pool 60 requests per minute per paid seat across the whole team (up to 1,200 per minute on Business and 2,400 on Enterprise) with no daily cap, providing high throughput for larger applications and production workloads.
Additional Resources
Upload Audio
Use the API to upload audio to Fireflies.ai
Authorization
Authenticating your requests with the Fireflies API