Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Granola Transcript Exporter

Export all your Granola.app meeting transcripts to markdown files.

How it works

  1. Reads your Cognito auth token from Granola's local storage
  2. Auto-refreshes the token if expired
  3. Uses local cache for recent transcripts
  4. Fetches older transcripts from Granola's API
  5. Saves each meeting as a markdown file

Requirements

  • macOS with Granola.app installed and logged in
  • Python 3.7+

Usage

python3 extract.py

Output: ~/transcripts/YYYY-MM-DD_Meeting Title.md

Configuration

X-Client-Version

The script requires the X-Client-Version header to match your installed Granola version.

To find your version:

  1. Open Granola
  2. Click the menu bar icon
  3. Click "About Granola"

About Granola showing version 6.377.0

If you get "Unsupported client" errors, update CLIENT_VERSION in the script to match your version.

Output format

# 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.
...

How it was reverse engineered

  1. Found auth tokens in ~/Library/Application Support/Granola/supabase.json
  2. Extracted Electron app bundle (npx asar extract) to find API endpoints
  3. Discovered required X-Client-Version header from app source
  4. Implemented Cognito token refresh for long-running exports

License

MIT

About

Export all your Granola.app meeting transcripts to markdown

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages