notebooklm-api
Python API and agentic skill for Google Gemini Notebook
Install / Use
claude mcp add ishandutta2007 -- npx -y github:ishandutta2007/notebooklm-apiIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Skill content
View source on GitHub🚀 open-notebooklm — Unofficial Google NotebookLM API, Python SDK, CLI & MCP Server for Gemini Notebook Automation
<h3 align="center"> The #1 Open-Source Google NotebookLM API, Python SDK, CLI & MCP Server<br> for Gemini Notebook Automation, Agentic RAG, LLM Long-Term Memory & Content Generation </h3> <p align="center"> <em>Automate Google NotebookLM & Gemini Notebook · Generate AI Podcasts, Video Overviews & Slide Decks · Grounded Agentic RAG & LLM Memory · Zero-Token Document Synthesis</em> </p> <p align="center"> <img src="assets/banner.svg" alt="open-notebooklm Banner" width="100%"> </p> <p align="center"> <a href="https://github.com/ishandutta2007/Awesome-Awesome-Awesome"><img src="https://img.shields.io/badge/Awesome-%E2%9C%94-blueviolet?style=flat-square&logo=github" alt="Awesome"/></a><a href="https://discord.gg/jc4xtF58Ve"><img src="https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" /></a> <a href="https://pypi.org/project/notebooklm-api/"><img src="https://img.shields.io/pypi/v/notebooklm-api.svg?style=for-the-badge&color=blue" alt="open-notebooklm PyPI version"></a> <a href="https://pypi.org/project/notebooklm-api/"><img src="https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-blue?style=for-the-badge" alt="Python 3.10 3.11 3.12 3.13 3.14"></a> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge" alt="License: MIT"></a> <a href="https://github.com/ishandutta2007/open-notebooklm/stargazers"><img src="https://img.shields.io/github/stars/ishandutta2007/open-notebooklm?style=for-the-badge&color=orange" alt="GitHub Stars"></a> <a href="https://pepy.tech/project/notebooklm-api"><img src="https://img.shields.io/pepy/dt/notebooklm-api?style=for-the-badge&color=green" alt="PyPI Downloads"></a> <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-Compatible-purple?style=for-the-badge" alt="Model Context Protocol Compatible"></a> <a href="https://github.com/ishandutta2007"><img alt="GitHub followers" src="https://img.shields.io/github/followers/ishandutta2007?label=Follow" /></a> </p> <p align="center"> <a href="#-installation--quick-start">Install</a> · <a href="#-cli-workflow-cheat-sheet">CLI Cheat Sheet</a> · <a href="#-python-sdk">Python SDK</a> · <a href="#-mcp--ai-agent-integration">MCP & Agents</a> · <a href="docs/cli-reference.md">Full CLI Docs</a> · <a href="docs/python-api.md">API Reference</a> </p>⚠️ Unofficial & Community-Driven — open-notebooklm is not affiliated with, endorsed by, or maintained by Google. It provides an unofficial API wrapper for Google NotebookLM (Gemini Notebook) using reverse-engineered web and mobile endpoints. Best for prototypes, research, personal projects, and AI agent workflows. See Troubleshooting for debugging tips.
ℹ️ Gemini Notebook Rebrand (July 2026): Google rebranded NotebookLM → Gemini Notebook. Same product, same API surface — open-notebooklm works seamlessly with both Google NotebookLM and Gemini Notebook.
📑 Table of Contents
- 🌟 Why open-notebooklm?
- ✨ Feature Matrix
- 📊 Google NotebookLM Pricing & Account Tiers
- 🏗️ Architecture & Integration Modes (Python SDK, CLI, MCP Server, REST API)
- 📦 Installation & Quick Start
- ⌨️ CLI Workflow Cheat Sheet
- 💡 Use Cases & Recipes — What People Build with open-notebooklm
- 🔍 Key Capabilities & Search Terms
- 📚 Documentation Index
- ⭐ Star History
- 📜 License
🌟 Why open-notebooklm?
Google NotebookLM (Gemini Notebook) is a grounded AI engine: Gemini reads your sources and answers with citations. The winning pattern is to let it handle the expensive reasoning while your agent orchestrates the workflow — using NotebookLM as a zero-token synthesis + memory layer your agent drives in a loop, pulling structured artifacts out in bulk.
open-notebooklm is the toolkit that makes this possible:
| What you get | How it helps |
|---|---|
| ⚡ Async Python SDK | Modern, fully typed async client (NotebookLMClient) with context managers, rich error taxonomy, and 11 typed namespaces. |
| 💻 Production CLI | 50+ Click subcommands with --json output for agent consumption, --prompt-file for long prompts, and structured error envelopes. |
| 🔌 MCP Server | stdio + SSE transports for Claude Desktop, Claude Code, Codex, Antigravity, and ChatGPT — local or self-hosted remote behind Cloudflare/Tailscale. |
| 🌐 REST Server | FastAPI localhost server for automation without spawning a CLI process per call. |
| 🤖 Agent Skills | Bundled SKILL.md + AGENTS.md for instant Claude Code / Codex / Antigravity tool-use. One-click install via notebooklm skill install or npx skills add. |
| 📱 Dual Transport | Web (batchexecute) + Android (gRPC/Protobuf) backends — choose per-command or globally. |
New to open-notebooklm? Start with a walkthrough: 🎬 Claude Code + NotebookLM = CHEAT CODE (video) · 📝 5 demos + 50 use cases, with prompts.
✨ Feature Matrix
📂 Notebook & Source Management
| Category | Capabilities | |---|---| | Notebooks | Create, copy (including sources & Studio artifacts), list, rename, delete | | Sources | URLs, YouTube, files (PDF, text, Markdown, Word, EPUB, audio, video, images), Google Drive, pasted text; refresh, get source guide / fulltext | | Chat | Grounded Q&A with inline source citations, conversation history, custom system personas, suggested starter prompts | | Notes | Create, list, rename, delete, save chat answers as notes, save full conversation history to notes | | Source Labels | AI-generated or manual topic labels; add/remove source membership; filter sources by label | | Research | Web & Drive research agents (fast / deep modes) with auto-import of discovered sources | | Sharing | Public/private links, user permissions (viewer/editor), view-level control |
🎙️ Content Generation & Studio Artifacts (Audio, Video, Slides, Quizzes)
Every artifact type the NotebookLM Studio supports, exposed programmatically by open-notebooklm:
| Artifact Type | Generation Options | Export / Download Formats |
|---|---|---|
| 🎙️ Audio Overview (Podcast) | 4 formats (deep-dive · brief · critique · debate), 3 lengths, 50+ languages | MP3, M4A |
| 🎬 Video Overview | 4 formats (explainer · brief · cinematic · short), 8 visual styles + auto/custom, dedicated cinematic-video alias | MP4 |
| 📊 Slide Deck | Detailed or presenter format, adjustable length, individual slide revision via natural language | PDF, PPTX |
| 🖼️ Infographic | 3 orientations (landscape · portrait · square), 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 fully custom prompt | Markdown |
| 📋 Data Table | Custom structure via natural language | CSV |
| 🧠 Mind Map | Two kinds: interactive studio map (default) or note-backed JSON tree (--kind note-backed / MindMapKind) | JSON |
🔮 Beyond the Web UI
Programmatic, batch, and local-file capabilities that open-notebooklm makes easy — features the web app doesn't offer:
- 📦 Batch downloads — Download all artifacts of a type at once (
download <type> --all) - 📝 Quiz & flashcard export — Structured JSON, Markdown, or HTML (straight into Anki)
- 🧠 Mind map data extraction — Hierarchical JSON for visualization tools
- 📊 Data table CSV export — Download structured tables as spreadsheets
- 📑 Slide deck as PPTX — Download editable PowerPoint, not just PDF
- ✏️ Slide revision — Modify individual slides with natural-language prompts
- 📄 Report template customization — Append extra instructions to built-in format templates
- 💬 Save full chat history to notes — Persist a complete Q&A conversation (not just a single answer)
- 📖 Source fulltext access — Retrieve the indexed text content of any source
- 🔗 Programmatic sharing — Manage permissions without touching the UI
📊 Google NotebookLM Pricing & Account Tiers
open-notebooklm adapts to your Google account tier's quotas automatically:
| Service Tier | Pricing | Free Tier Limits | Sources / Notebook | Generation Limits | |---|---|---|---|---| | Standard Google Account | Free ($0 / mo) | ✅ Free forever · 100 notebooks · 50 sources/notebook · 500k words/source | 50 | Standard rate limits | | Google Workspace / Education | Included in Workspace plans | ✅ Free trial available | 50 | Elevated enterprise quotas | | Gemini Advanced (Google One AI Premium) | ~$19.99 / mo | 🆓 1-month free trial | Priority processing | Higher concurrency & throughput |
🏗️ Architecture & Integration Modes (Python SDK, CLI, MCP Server, REST API)
graph TD
User(["👤 User / 🤖 AI Agent / ⚙️ Pipeline"]) --> Interface{open-notebooklm Integration Mode}
Interface -->|"Python Async SDK"| Client["NotebookLMClient Facade"]
Interface -->|"CLI Commands"| CLI["notebooklm CLI (Click)"]
Interface -->|"MCP stdio / SSE"| MCP["FastMCP Server"]
Interface -->|"REST API"| REST["FastAPI Server"]
Client --> Transport["Protocol Transport Layer"]
CLI --> Client
MCP --> Client
REST --> Client
Transport -->|"Web batchexecute"| WebRPC["Google Web RPC"]
Transport -->|"Android gRPC + Protobuf"| AndroidRPC["Mobile gRPC Bearer"]
WebRPC --> Google[("☁️ Google NotebookLM / Gemini Notebook")]
AndroidRPC --> Google
| Integration Mode | Best For | |---|---| | 🐍 Python API | Application embedding, async workflows, custom pipelines | | 💻 CLI | Shell scripts, cron jobs, CI/CD automation, quick tasks | | 🔌 MCP Server | Claude Desktop / Claude Code / Codex / Antigravity — local stdio or remote via Cloudflare/Tailscale tunnel (reachable from claude.ai mobile & ChatGPT) | | 🌐 REST Server | High-throughput local automation without subprocess overhead | | 🤖 Agent Skills | Claude Code, Codex, Antigravity — natural language orchestration via bundled SKILL.md |
📱 Android Backend
The default transport is the Web (batchexecute) protocol. open-notebooklm also ships an opt-in *Android backend
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
78.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
ruflo
70.6k🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
headroom
69.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
46.8kOpen-source super AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-model, multi-channel. Lightweight, extensible, one-line install. (formerly chatgpt-on-wechat)
