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.
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
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
// 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);
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 .
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()
| 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 | 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 |
https://api.fireflies.ai/graphql
user queryAfter successful auth, proceed to fireflies-hello-world for your first transcript query.