NotebookLM Automation (notebooklm-py)
Full command-line control of Google NotebookLM — create notebooks, add sources, generate podcasts/videos/quizzes, and download everything.
What it does
Gives Claude complete programmatic access to Google NotebookLM: create notebooks, add sources (URLs, YouTube, PDFs, audio, video, images), chat with citations, and generate every artifact type — audio overview (podcast), video, slide deck, infographic, report, mind map, data table, quiz, flashcards — then download them in multiple formats.
It also unlocks things the web UI can't do: slide decks as editable .pptx, quiz/flashcard export to JSON/Markdown/HTML, mind-map JSON extraction, CSV data tables, natural-language revision of individual slides, retrieval of a source's indexed fulltext, and saving chat answers as notebook notes. The doc covers profiles, CI/CD auth via env vars, headless/sandboxed setups, and rules for safe parallel-agent use.
Who it's for
- Researchers and newsletter writers who repeatedly turn reading lists into summaries or podcasts
- Educators generating quizzes and flashcards from course material at scale
- Developers piping NotebookLM output into other tooling (python-pptx, visualization libraries)
- Claude Code users automating research workflows end to end
Examples
- Link dump → podcast: create a notebook,
source addeach URL, wait until all sources are READY,generate audio "focus on the policy angle", thendownload audio ./podcast.m4a. - Study pack: upload lecture PDFs, run
generate quiz --difficulty hardandgenerate flashcards, thendownload quiz --format markdownfor Notion/Obsidian. - Vertical deck for mobile video:
notebooklm generate slide-deck "exactly 8 pages, vertical 9:16 portrait layout"thendownload slide-deck ./slides.pptx --format pptxfor further editing.
· · · Install guide · · ·
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 Claude 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 is available (3.10+ recommended):
python --version. - Install the package:
pip install "notebooklm-py[browser]"— the[browser]extra powers the interactive login flow. - Register the skill with your agent:
notebooklm skill install(ornpx skills add teng-lin/notebooklm-py). - Authenticate:
notebooklm login— a browser opens; sign in with the Google account that has NotebookLM. - Verify auth for real:
notebooklm auth check --test --jsonand require both"status": "ok"andchecks.token_fetch: true. - Run
notebooklm listto see your notebooks. Then just ask Claude: "/notebooklm" or "make a podcast from these links". - (Optional) For headless servers or CI: log in on a machine with a display, copy the resulting
storage_state.jsonover, and runnotebooklm --storage /path/to/storage_state.json list. Treat that file as a password —chmod 600it and never commit it.