Export all your Granola.app meeting transcripts to markdown files.
- Reads your Cognito auth token from Granola's local storage
- Auto-refreshes the token if expired
- Uses local cache for recent transcripts
- Fetches older transcripts from Granola's API
- Saves each meeting as a markdown file
- macOS with Granola.app installed and logged in
- Python 3.7+
python3 extract.pyOutput: ~/transcripts/YYYY-MM-DD_Meeting Title.md
The script requires the X-Client-Version header to match your installed Granola version.
To find your version:
- Open Granola
- Click the menu bar icon
- Click "About Granola"
If you get "Unsupported client" errors, update CLIENT_VERSION in the script to match your version.
# Meeting Title
**Date:** 2025-12-05
**ID:** uuid-here
---
## Transcript
[2025-12-05 15:00:51] **Speaker**: Hey, Tom.
[2025-12-05 15:00:52] **You**: Hey. Hi.
...- Found auth tokens in
~/Library/Application Support/Granola/supabase.json - Extracted Electron app bundle (
npx asar extract) to find API endpoints - Discovered required
X-Client-Versionheader from app source - Implemented Cognito token refresh for long-running exports
MIT
