Reverse-engineering NotebookLM so you don't have to
Unofficial Python bindings and agent skills that expose NotebookLM's undocumented endpoints—including features the web interface never shipped.

What it does
This is an unofficial Python wrapper, CLI, and agent skill for Google’s NotebookLM. It reverse-engineers the service’s undocumented internal APIs to let you create notebooks, ingest sources, chat with documents, and generate artifacts like podcasts, slide decks, and quizzes entirely from code. It also surfaces capabilities—batch exports, structured quiz JSON, PPTX slide decks—that the official web UI keeps locked away.
The interesting bit
The project treats NotebookLM less like a web app and more like a headless content engine. It bundles native skill definitions for Claude Code and Codex, so an LLM agent can spin up research pipelines or generate audio overviews without a human touching a browser. The auth layer can even siphon cookies from your existing Chrome session instead of forcing a robotic Playwright login.
Key highlights
- Exports hidden formats: mind-map JSON, quiz/flashcard HTML, data-table CSV, and editable PowerPoint slides the web UI only offers as PDF.
- Supports multi-account Google profiles and programmatic sharing permissions without manual UI clicking.
- Ships with first-class agent integrations: installable skills for Claude Code, Codex, and the OpenClaw ecosystem.
- Async Python API and CLI cover the full surface area: source ingestion from Drive or YouTube, research agents, chat history, and artifact generation.
- Auth is flexible: browser cookie reuse, headless storage states, or explicit browser login.
Caveats
- Built on undocumented Google APIs that can change or break without warning; the README explicitly warns this is best for prototypes and personal projects.
- Heavy usage risks throttling, and the project is not affiliated with Google.
Verdict
Worth a look if you want to automate NotebookLM into a research pipeline or let an AI agent manage your knowledge base. Skip it if you need a stable, vendor-supported API with an SLA.
Frequently asked
- What is teng-lin/notebooklm-py?
- Unofficial Python bindings and agent skills that expose NotebookLM's undocumented endpoints—including features the web interface never shipped.
- Is notebooklm-py open source?
- Yes — teng-lin/notebooklm-py is open source, released under the MIT license.
- What language is notebooklm-py written in?
- teng-lin/notebooklm-py is primarily written in Python.
- How popular is notebooklm-py?
- teng-lin/notebooklm-py has 19.3k stars on GitHub and is currently cooling off.
- Where can I find notebooklm-py?
- teng-lin/notebooklm-py is on GitHub at https://github.com/teng-lin/notebooklm-py.