On this page
Alfie API & MCP docs
Send Alfie a lecture, talk or YouTube video and get back a timestamped transcript and notes. Use the REST API from any language, or connect an AI agent through the MCP server.
Get an API key#
- Sign in and open Settings → API keys.
- Create a key and choose Read only or Read & write. To submit recordings you need Read & write.
- Copy the key straight away. It is shown once and starts with
alfie_. You can revoke it from the same page.
Keep the key in an environment variable, not in your code:
export ALFIE_API_KEY="alfie_YOUR_API_KEY"Authentication & scopes#
Send the key as a bearer token on every request: Authorization: Bearer $ALFIE_API_KEY. The REST API lives at https://alfienotes.com/api/v1 and the MCP server at https://alfienotes.com/api/mcp. Both accept the same keys.
| Scope | Key type | Allows |
|---|---|---|
| notes:read | Read only | Read credits, jobs, notes and transcripts. |
| notes:write | Read & write | Also create uploads, submit jobs (spends credits) and change sharing. |
A missing, unknown or revoked key gets 401 unauthorized. A key without the scope gets 403 insufficient_scope.
Quick start (curl)#
These four requests turn a YouTube video into a transcript, once you replace YOUR_VIDEO_ID and YOUR_NOTE_ID with real values.
1. Check the key works and see your credits
curlcurl "https://alfienotes.com/api/v1/me" \ -H "Authorization: Bearer $ALFIE_API_KEY"JSON response · 200{ "plan": "pro", "remaining_usage_seconds": 36000 }2. Submit a YouTube video
curlcurl -X POST "https://alfienotes.com/api/v1/jobs" \ -H "Authorization: Bearer $ALFIE_API_KEY" \ -H "Content-Type: application/json" \ -d '{"type":"youtube","url":"https://www.youtube.com/watch?v=YOUR_VIDEO_ID"}'JSON response · 202{ "job": { "id": "YOUR_NOTE_ID", "note_id": "YOUR_NOTE_ID", "status": "processing", "created_at": "2026-11-04T09:30:00.000Z" } }3. Poll until the job succeeds
curlcurl "https://alfienotes.com/api/v1/jobs/YOUR_NOTE_ID" \ -H "Authorization: Bearer $ALFIE_API_KEY"JSON response · 200{ "job": { "id": "YOUR_NOTE_ID", "note_id": "YOUR_NOTE_ID", "status": "succeeded", "created_at": "2026-11-04T09:30:00.000Z" } }4. Read the transcript
curlcurl "https://alfienotes.com/api/v1/notes/YOUR_NOTE_ID/export?format=txt" \ -H "Authorization: Bearer $ALFIE_API_KEY"Text response · 200[00:00:00] Speaker 1: Welcome back. Today is about eigenvalues. [00:00:04] Speaker 2: Will this be on the exam?
The job id is also the note id. Long recordings can take several minutes, so poll every 10–30 seconds.
Next steps#
- REST API reference: every endpoint, errors, rate limits and credits.
- MCP server: connect Claude Desktop, Claude Code or Cursor, plus a full upload-to-transcript example.
- For agents and tools: OpenAPI spec (JSON) and llms.txt.