NotebookLM Automation (notebooklm-py)
Install, authenticate and operate Gemini Notebook (NotebookLM) end-to-end through the notebooklm-py CLI or its typed async Python API, with ID-pinned, authorization-aware workflows.
AutomationAdvanced★ 20,175⑂ 2,683AI score 9/10Last updated: Nov 8, 2026
What it does
- Walks through installing
notebooklmand authenticating: interactive login, durable master-token profiles, browser-cookie extraction, and CI secret transport. - Runs notebook creation, source add + readiness waits, grounded chat, and deep research with explicit UUIDs instead of "latest selected" state.
- Enforces the canonical artifact pipeline: generate (audio, video, slide-deck, infographic, report, mind-map, data-table, quiz, flashcards) →
artifact wait→ download the exact artifact ID. - Defines authorization boundaries so deletions, share removal, account-global language changes, file writes, and source imports require explicit confirmation.
- Provides read-only failure diagnosis plus exit-code semantics and JSON envelope shapes.
Who it's for
- Researchers and content creators who want NotebookLM driven by agents or scripts instead of clicks.
- Developers building headless/CI pipelines from sources to summaries, podcasts, or reports.
- Automation engineers running concurrent agents that need isolated profiles and credentials.
Examples
- "Build a notebook from these 3 URLs and give me a podcast" → create → source add → source wait → generate audio → artifact wait → download audio, every step ID-pinned.
- "Run deep research on topic X" →
source add-research --mode deep --no-wait, keep the run-id, thenresearch wait --import-allonce authorized. - "Yesterday's generation failed, diagnose it" → read-only
auth check --test --passive --jsonandartifact list, retry only with user approval.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/teng-lin/notebooklm-py/HEAD/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on AI Skill Mart. Copy the SKILL.m folder from the GitHub repo teng-lin/notebooklm-py into my ~/.claude/skills/notebooklm/. When it's done, tell me in one line what this skill can do.
Install with a command instead
pip install "notebooklm-py[browser]" && notebooklm skill install⚠ This is a third-party skill. Check the source repository before installing.
- Confirm Python 3.10+ with
python3 --version. - Install the package:
pip install "notebooklm-py[browser]"(add[headless]for servers,[cookies]for browser-cookie auth). CLI-only users can runuv tool install "notebooklm-py[browser]"or the pipx equivalent. - Install the skill:
notebooklm skill install, or clone the repo and copySKILL.mdto~/.claude/skills/notebooklm/SKILL.md. - Authenticate: run
notebooklm loginon a machine with a display, ornotebooklm login --master-token --account <email>for unattended use. - Verify with
notebooklm auth check --test --jsonand requirestatus == "ok"andchecks.token_fetch == true. - Restart Claude Code and ask something like "use NotebookLM to create a notebook from these links".
- Security note: treat
master_token.jsonandstorage_state.jsonas bearer credentials — chmod 0600, use a dedicated account, never print or commit them.
View source on GitHub ↗License: MIT