Unofficial Python API and agentic skill for Google NotebookLM. Full programmatic access to NotebookLM's features—including capabilities the web UI doesn't expose—via Python, CLI, and AI agents like Claude Code, Codex, and OpenClaw.
notebooklm-py is an unofficial Python library, CLI tool, and Claude Code skill that provides programmatic access to Google NotebookLM via undocumented internal APIs. It lets developers create and manage notebooks, import sources from URLs, PDFs, YouTube, and Google Drive, run web and Drive research queries, and generate artifacts including Audio Overviews in four formats (deep-dive, brief, critique, debate), video overviews, slide decks, quizzes, flashcards, mind maps, data tables, and reports. The library integrates with Claude Code as an installable skill via a root SKILL.md file and supports npx skills add discovery, making it usable through natural-language agent instructions. A concrete standout is its exposure of capabilities absent from the web UI, including PPTX slide deck downloads, structured quiz and flashcard export in JSON, Markdown, or HTML, mind map JSON extraction, and individual slide revision via natural-language prompts. Researchers, content creators, and developers building automated pipelines benefit most, though the project carries a clear disclaimer that it relies on undocumented Google endpoints subject to change.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Healthy fork ratio
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
git clone https://github.com/teng-lin/notebooklm-py ~/.claude/skills/notebooklm-py1 items en este repositorio
Complete API for Google NotebookLM - full programmatic access including features not in the web UI. Create notebooks, add sources, generate all artifact types, download in multiple formats. Activates on explicit /notebooklm or intent like "create a podcast about X
Resumen de Skills
# notebooklm-py <p align="left"> <img src="https://raw.githubusercontent.com/teng-lin/notebooklm-py/main/notebooklm-py.png" alt="notebooklm-py logo" width="128"> </p> **A Comprehensive NotebookLM Skill & Unofficial Python API.** Full programmatic access to NotebookLM's features—including capabilities the web UI doesn't expose—via Python, CLI, and AI agents like Claude Code, Codex, and OpenClaw. [](https://pypi.org/project/notebooklm-py/) [](https://pypi.org/project/notebooklm-py/) [](https://opensource.org/licenses/MIT) [](https://github.com/teng-lin/notebooklm-py/actions/workflows/test.yml) <p> <a href="https://trendshift.io/repositories/19116" target="_blank"><img src="https://trendshift.io/api/badge/repositories/19116" alt="teng-lin%2Fnotebooklm-py | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a> </p> **Source & Development**: <https://github.com/teng-lin/notebooklm-py> > **⚠️ Unofficial Library - Use at Your Own Risk** > > This library uses **undocumented Google APIs** that can change without notice. > > - **Not affiliated with Google** - This is a community project > - **APIs may break** - Google can change internal endpoints anytime > - **Rate limits apply** - Heavy usage may be throttled > > Best for prototypes, research, and personal projects. See [Troubleshooting](docs/troubleshooting.md) for debugging tips. ## What You Can Build 🤖 **AI Agent Tools** - Integrate NotebookLM into Claude Code, Codex, and other LLM agents. Ships with a root [NotebookLM skill](SKILL.md) for GitHub and `npx skills add` discovery, local `notebooklm skill install` support for Claude Code and `.agents` skill directories, and repo-level Codex guidance in [`AGENTS.md`](AGENTS.md). 📚 **Research Automation** - Bulk-import sources (URLs, PDFs, YouTube, Google Drive), run web/Drive research queries with auto-import, and extract insights programmatically. Build repeatable research pipelines. 🎙️ **Content Generation** - Generate Audio Overviews (podcasts), videos, slide decks, quizzes, flashcards, infographics, data tables, mind maps, and study guides. Full control over formats, styles, and output. 📥 **Downloads & Export** - Download all generated artifacts locally (MP3, MP4, PDF, PNG, CSV, JSON, Markdown). Export to Google Docs/Sheets. **Features the web UI doesn't offer**: batch downloads, quiz/flashcard export in multiple formats, mind map JSON extraction. ## Ways to Use | Method | Best For | |--------|----------| | **Python API** | Application integration, async workflows, custom pipelines | | **CLI** | Shell scripts, quick tasks, CI/CD automation | | **MCP Server** | Exposing NotebookLM tools to Claude Desktop/Code, Cursor, Windsurf, and other MCP clients | | **REST Server** | Local automation over guarded HTTP routes without spawning a CLI process per call | | **Agent Integration** | Claude Code, Codex, LLM agents, natural language automation | ## Features ### Complete NotebookLM Coverage | Category | Capabilities | |----------|--------------| | **Notebooks** | Create, list, rename, delete | | **Sources** | URLs, YouTube, files (PDF, text, Markdown, Word, EPUB, audio, video, images), Google Drive, pasted text; refresh, get guide/fulltext | | **Chat** | Questions, conversation history, custom personas | | **Notes** | Create, list, rename, delete, save chat answers, save conversation history | | **Source Labels** | AI-generated or manual topic labels; add/remove source membership; filter sources by label | | **Research** | Web and Drive research agents (fast/deep modes) with auto-import | | **Sharing** | Public/private links, user permissions (viewer/editor), view level control | ### Content Generation (All Artifact Types) | Type | Options | Download Format | |------|---------|-----------------| | **Audio Overview** | 4 formats (deep-dive, brief, critique, debate), 3 lengths, 50+ languages | MP3/MP4 | | **Video Overview** | 3 formats (explainer, brief, cinematic), 9 visual styles, plus a dedicated `cinematic-video` CLI alias | MP4 | | **Slide Deck** | Detailed or presenter format, adjustable length; individual slide revision | PDF, PPTX | | **Infographic** | 3 orientations, 3 detail levels | PNG | | **Quiz** | Configurable quantity and difficulty | JSON, Markdown, HTML | | **Flashcards** | Configurable quantity and difficulty | JSON, Markdown, HTML | | **Report** | Briefing doc, study guide, blog post, or custom prompt | Markdown | | **Data Table** | Custom structure via natural language | CSV | | **Mind Map** | Hierarchical node tree — **two kinds**: note-backed JSON or the newer interactive studio map (`--kind` / `MindMapKind`) | JSON | ### Beyond the Web UI These features are available via API/CLI but not exposed in NotebookLM's web interface: - **Batch downloads** - Download all artifacts of a type at once - **Quiz/Flashcard export** - Get structured JSON, Markdown, or HTML (web UI only shows interactive view) - **Mind map data extraction** - Export hierarchical JSON for visualization tools - **Data table CSV export** - Download structured tables as spreadsheets - **Slide deck as PPTX** - Download editable PowerPoint files (web UI only offers PDF) - **Slide revision** - Modify individual slides with natural-language prompts - **Report template customization** - Append extra instructions to built-in format templates - **Save chat to notes** - Save Q&A answers or conversation history as notebook notes - **Source fulltext access** - Retrieve the indexed text content of any source - **Programmatic sharing** - Manage permissions without the UI - **Multi-account profiles** - Switch between Google accounts without re-authenticating - **Browser cookie import** - Reuse cookies from your existing browser session instead of driving Playwright ## Installation The full install guide — six personas (agent, end-user, library, headless, contributor, power-user), optional extras matrix, platform notes — lives in **[docs/installation.md](docs/installation.md)**. **Quickest start** (CLI users and AI agents) — install the CLI with `uv tool` (recommended) or `pipx`: ```bash uv tool install "notebooklm-py[browser]" # or: pipx install "notebooklm-py[browser]" notebooklm login # first run auto-downloads Chromium (~170 MB), then Google sign-in notebooklm auth check --test --json # verify: expect "status": "ok" ``` **Why `uv tool` / `pipx`?** They install the CLI into its own isolated environment and put `notebooklm` on your `PATH` — no dependency clashes with other tools, a one-line upgrade (`uv tool upgrade notebooklm-py`) or uninstall, and, crucially, they work on modern macOS (Homebrew Python) and Debian/Ubuntu where a system-wide `pip install` is blocked with `error: externally-managed-environment` ([PEP 668](https://peps.python.org/pep-0668/)). No `uv` yet? `curl -LsSf https://astral.sh/uv/install.sh | sh` (or `brew install uv` / `winget install astral-sh.uv`). **Prefer plain `pip`?** It works the same **inside a virtualenv** (and directly on Windows, where Python isn't externally-managed): ```bash python3 -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate pip install "notebooklm-py[browser]" ``` **As a library** (embedded in your app — no Playwright, no Chromium): ```bash uv add notebooklm-py # or, inside a virtualenv: pip install notebooklm-py ``` If `playwright install chromium` fails on Linux with `TypeError: onExit is not a function`, see the [Linux workaround](docs/troubleshooting.md#linux). **Contributors:** see [CONTRIBUTING.md](CONTRIBUTING.md). ## Quick Start <p align="center"> <a href="https://asciinema.org/a/767284" target="_blank"><img src="https://asciinema.org/a/767284.svg" width="600" /></a> <br> <em>16-minute session compressed to 30 seconds</em> </p> ### CLI ```bash # 1. Authenticate (opens browser) notebooklm login # Or use Microsoft Edge (for orgs that require Edge for SSO) # notebooklm login --browser msedge # Or reuse cookies from an already-logged-in browser session # notebooklm login --browser-cookies chrome # notebooklm login --browser-cookies 'chrome::Profile 1' # one Chromium profile # (combine with --profile to populate a specific profile; # use --account / --all-accounts after auth inspect when several # Google accounts are signed in) # 2. Create a notebook and add sources notebooklm create "My Research" notebooklm use <notebook_id> notebooklm source add "https://en.wikipedia.org/wiki/Artificial_intelligence" notebooklm source add "./paper.pdf" # 3. Chat with your sources notebooklm ask "What are the key themes?" notebooklm ask --prompt-file ./long_question.txt # Read question from file # 4. Generate content (use --prompt-file for long prompts) notebooklm generate audio "make it engaging" --wait notebooklm generate video --style whiteboard --wait notebooklm generate cinematic-video "documentary-style summary" --wait notebooklm generate quiz --difficulty hard notebooklm generate flashcards --quantity more notebooklm generate slide-deck notebooklm generate infographic --orientation portrait notebooklm generate mind-map # interactive studio map (default); --kind note-backed for the JSON tree notebooklm generate data-table "compare key concepts" # 5. Download artifacts notebooklm download audio ./podcast.mp3 notebooklm download video ./overview.mp4 notebooklm download cinematic-video ./documentary.mp4 notebooklm download quiz --format markdown ./quiz.md notebooklm download flashcards --format json ./cards.json notebooklm download slide-deck ./slides.pdf notebooklm download infographic ./infographic.png no
Lo que la gente pregunta sobre notebooklm-py
¿Qué es teng-lin/notebooklm-py?
+
teng-lin/notebooklm-py es skills para el ecosistema de Claude AI. Unofficial Python API and agentic skill for Google NotebookLM. Full programmatic access to NotebookLM's features—including capabilities the web UI doesn't expose—via Python, CLI, and AI agents like Claude Code, Codex, and OpenClaw. Tiene 16.3k estrellas en GitHub y se actualizó por última vez today.
¿Cómo se instala notebooklm-py?
+
Puedes instalar notebooklm-py clonando el repositorio (https://github.com/teng-lin/notebooklm-py) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar teng-lin/notebooklm-py?
+
Nuestro agente de seguridad ha analizado teng-lin/notebooklm-py y le ha asignado un Trust Score de 100/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene teng-lin/notebooklm-py?
+
teng-lin/notebooklm-py es mantenido por teng-lin. La última actividad registrada en GitHub es de today, con 3 issues abiertos.
¿Hay alternativas a notebooklm-py?
+
Sí. En ClaudeWave puedes explorar skills similares en /categories/skills, ordenados por popularidad o actividad reciente.
Despliega notebooklm-py en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/teng-lin-notebooklm-py)<a href="https://claudewave.com/repo/teng-lin-notebooklm-py"><img src="https://claudewave.com/api/badge/teng-lin-notebooklm-py" alt="Featured on ClaudeWave: teng-lin/notebooklm-py" width="320" height="64" /></a>Más Skills
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io
omo/lazycodex: The coding agent for tokenmaxxers;the one and only agent harness for complex codebases. For your Codex, for your OpenCode
Graphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
Turn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 160,000+ scientists worldwide. 140 ready-to-use skills plus 100+ scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Antigravity, and the open Agent Skills standard.
A curated collection of 1000+ agent skills from official dev teams and the community, compatible with Claude Code, Codex, Gemini CLI, Cursor, and more.
No description provided.