Install and configure Fireflies.ai SDK/CLI authentication.
Use when setting up a new Fireflies.ai integration, configuring API keys,
or initializing Fireflies.ai in your project.
Trigger with phrases like "install fireflies", "setup fireflies",
"fireflies auth", "configure fireflies API key".
Set up Fireflies.ai GraphQL API authentication. Fireflies uses a single GraphQL endpoint at https://api.fireflies.ai/graphql with Bearer token auth. No SDK needed -- all interaction is via HTTP POST with GraphQL queries.
Prerequisites
Fireflies.ai account (Pro or higher for API access)
API key from app.fireflies.ai > Integrations > Fireflies API
Node.js 18+ or Python 3.10+
A GraphQL client library (optional but recommended)
Copy your API key (starts with a long alphanumeric string)
Store it securely -- this key grants access to all your meeting data
Step 2: Configure Environment
set -euo pipefail
# Create .env file (NEVER commit to git)
echo 'FIREFLIES_API_KEY=your-api-key-here' >> .env
# Add to .gitignore
echo '.env' >> .gitignore
echo '.env.local' >> .gitignore
Step 3: Install GraphQL Client (Optional)
set -euo pipefail
# Node.js -- graphql-request is lightweight and typed
npm install graphql-request graphql
# Or use plain fetch -- no library needed
# Python -- use requests
pip install requests
Step 4: Verify Connection
// verify-fireflies.ts
const FIREFLIES_API = "https://api.fireflies.ai/graphql";
async function verifyConnection() {
const query = `{ user { name email is_admin } }`;
const response = await fetch(FIREFLIES_API, {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.FIREFLIES_API_KEY}`,
},
body: JSON.stringify({ query }),
});
const result = await response.json();
if (result.errors) {
throw new Error(`Auth failed: ${result.errors[0].message}`);
}
const user = result.data.user;
console.log(`Connected as: ${user.name} (${user.email})`);
console.log(`Admin: ${user.is_admin}`);
return user;
}
verifyConnection().catch(console.error);
Step 5: Verify with cURL
set -euo pipefail
curl -s -X POST https://api.fireflies.ai/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $FIREFLIES_API_KEY" \
-d '{"query": "{ user { name email } }"}' | jq .
Python Verification
import os, requests
FIREFLIES_API = "https://api.fireflies.ai/graphql"
def verify_connection():
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.environ['FIREFLIES_API_KEY']}",
}
query = '{ user { name email is_admin } }'
resp = requests.post(FIREFLIES_API, json={"query": query}, headers=headers)
data = resp.json()
if "errors" in data:
raise Exception(f"Auth failed: {data['errors'][0]['message']}")
user = data["data"]["user"]
print(f"Connected as: {user['name']} ({user['email']})")
return user
verify_connection()
Rate Limits by Plan
Plan
Limit
Notes
Free / Pro
50 requests/day
Cannot upload audio on Free
Business
60 requests/min
Full API access
Enterprise
60 requests/min
Super Admin webhooks
Error Handling
Error
Code
Solution
auth_failed
401
Check API key is valid and not expired
too_many_requests
429
Rate limit hit -- back off and retry
account_cancelled
403
Subscription inactive -- renew plan
Network timeout
-
Verify outbound HTTPS to api.fireflies.ai
Output
Environment variable configured with API key
GraphQL client verified against https://api.fireflies.ai/graphql