NotebookLM Finally Has a Skill — This 17.2K-Star Open Source Project Makes Research Automation Real
notebooklm-py turns NotebookLM into a CLI and Python API: batch import and export, AI Agent integration via Claude Code Skill and MCP Server, and full automation of research workflows — no more clicking through the web UI one file at a time.
Still uploading documents one by one and clicking download on the web UI? notebooklm-py turns NotebookLM into a command-line tool — batch import, batch export, and AI Agent integration, all automated.
NotebookLM is genuinely useful. It reads PDFs, generates podcasts, organizes literature, and builds slide decks — Google does solid work in the "AI Q&A grounded in your sources" space. But after a while you hit an awkward reality: the web UI is manual-only.
Want to batch-import documents? Upload them one at a time. Want to batch-download outputs? Click each file individually. Want to plug it into Claude Code or Codex? No ready-made path. Want custom automation for your research pipeline? The web UI does not support it.
That is exactly the gap notebooklm-py fills.
1. What is notebooklm-py?
notebooklm-py is an unofficial Python API and Skill layer for NotebookLM. In short, it wraps all of NotebookLM's capabilities into a Python API and CLI so you can operate from the terminal or call it from AI Agents like Claude Code and Codex.
The open-source project on GitHub has already passed 17,200 stars. For researchers and content creators, that means no more clicking through uploads one file at a time.
2. Four core capabilities
Full NotebookLM coverage — Notebooks, Sources, Chat, Notes, Research, Sharing: every stage has matching Python API and CLI commands. Import from URLs, YouTube, PDFs, Google Drive, and more than a dozen source types, all batch-ready.
AI Agent integration — Includes Claude Code Skill, Codex, and AGENTS.md files. One-click install lets AI Agents call NotebookLM. MCP Server support means Claude Desktop, Cursor, and Windsurf can invoke it directly.
Powerful content generation — Audio Overview: 4 formats, 3 lengths, 50+ languages (podcast, dialogue, debate, critique). Video Overview: 3 formats, 9 visual styles. Slide Deck, Infographic, Quiz, Flashcards, Report, Mind Map, and Data Table — all one command away.
Features the web UI lacks — Batch-download all artifacts without clicking each one. Export Quiz and Flashcards to JSON, Markdown, or HTML. Export Mind Maps as JSON for visualization tools. Revise individual slides with natural language. Switch Google accounts via multi-profile support.
3. Real example: one command for research + podcast
Say you need to compare five AI Agent frameworks (LangChain, AutoGen, CrewAI). You have three official docs, two technical blog PDFs, and a YouTube comparison video. You do not want to read everything manually — you want a podcast to learn on the go.
Run one command in the terminal and notebooklm-py handles the rest:
- Step 1: Auto-create a notebook and import all six sources (three URLs, two PDFs, one YouTube link)
- Step 2: NotebookLM analyzes the sources and extracts key points across frameworks
- Step 3: Generate a cited comparison — LangChain excels at chaining, AutoGen favors multi-agent collaboration, CrewAI fits task orchestration
- Step 4: Produce a ten-minute podcast ready to play
4. Installation in 2 minutes
Installation is straightforward. CLI users and AI Agents install via uv tool; Python API users use uv add; Agent integration uses skill install:
uv tool install notebooklm-py[browser] notebooklm login otebooklm auth check --test --json
Project repo: github.com/teng-lin/notebooklm-py
Bottom line
NotebookLM is already powerful, but manual web UI workflows cap its potential. notebooklm-py fills the last gap — batch import, batch export, AI Agent hooks, and automated research pipelines.
If your daily pain is too many sources, slow organization, and too much clicking — notebooklm-py is worth two minutes to install and try.
Get started: github.com/teng-lin/notebooklm-py