Guide · Open source
How to use notebooklm-py: install, run and script Gemini Notebook
Updated · written with AI from the project's own documentation and checked against our catalogue data
notebooklm-py is an unofficial, MIT-licensed Python package that gives you programmatic access to Google's Gemini Notebook (formerly NotebookLM) through Python code, a command-line interface and AI agents such as Claude Code and Codex. It also exposes some capabilities the web interface does not. This guide shows you how to install it, what it can do and where it is a poor fit, so you can decide whether to build on it.
Quick start
- 1Check your Python version. Confirm you have Python 3.10 or newer installed. The README lists support up to Python 3.15.
- 2Install from PyPI. Run pip install notebooklm-py to install the package from PyPI.
- 3Plan a notebook workflow. Decide which sources to add and which questions or artifacts you need, following the create, source add, ask pattern.
- 4Create a notebook and add sources. Use the notebooklm CLI or the Python API to create a notebook and import URLs, PDFs, YouTube videos or Drive files.
- 5Ask questions or generate artifacts. Run ask for cited answers, or generate an artifact such as a report, and use --wait where the README shows it.
- 6Download the results. Use the download command to save generated artifacts locally in formats such as Markdown, JSON, CSV or MP3.
What notebooklm-py is and who it is for
notebooklm-py lets you control Gemini Notebook from code or the command line. Its README describes it as a comprehensive Gemini Notebook skill and unofficial Python API, with full programmatic access to features including some the web UI does not expose.
The README recommends it for prototypes, research and personal projects. It is a community project and is not affiliated with Google.
- Developers who want to script Gemini Notebook workflows in Python
- People building AI agents that need answers grounded in their own documents
- Researchers bulk-importing sources and exporting generated artifacts
Install notebooklm-py from PyPI
You need Python 3.10 or newer. The README badge lists support for Python 3.10 through 3.15. Install the package from PyPI with pip.
pip install notebooklm-pyUnderstand what you can automate
According to the README, the library covers three broad areas: bulk-importing sources such as URLs, PDFs, YouTube videos and Google Drive files; generating artifacts such as Audio Overviews, videos, slide decks, quizzes, flashcards, infographics, data tables, mind maps and study guides; and downloading outputs locally in formats including MP3, MP4, PDF, PNG, CSV, JSON and Markdown.
The README also notes that Gemini Notebook is a grounded engine: it answers from your sources and provides citations. Commands such as create, source add and ask follow that workflow.
- Bulk-import sources: URLs, PDFs, YouTube, Google Drive
- Run web or Drive research queries with auto-import
- Generate and batch-download artifacts, including mind map JSON and quiz exports
- Export to Google Docs or Sheets
Run the basic notebook workflow
The README's recipes use a simple pattern: create a notebook, add sources to it, then ask questions. Ask with JSON output when another program needs to read the answer. Generated artifacts can be produced with a generate command and saved with a download command.
The README shows these command forms. Check the CLI reference in the repository for the full set of options.
notebooklm create
notebooklm source add
notebooklm ask --json
notebooklm generate report --format briefing-doc --wait
notebooklm download reportUse it with AI agents
The package ships a root NotebookLM skill (SKILL.md) for GitHub and npx skills add discovery. It also supports local skill installation with notebooklm skill install for Claude Code and .agents skill directories, and includes repo-level Codex guidance in AGENTS.md.
A common pattern is to let Gemini Notebook do the heavy reading while the agent orchestrates the workflow and writes the final answer. The README also describes exposing a notebook through an MCP server (see docs/mcp-guide.md).
- Keep a notebook as persistent cross-session memory and query it from your CLAUDE.md
- Use a notebook of internal docs as a grounded knowledge base for coding agents
- Generate a quiz from your sources to test an agent skill
Avoid common limits and risks
The library uses undocumented Google APIs that can change without notice, so features may break. Heavy usage may be throttled by rate limits. The README advises against production systems that need guaranteed uptime and against workloads that need an official Google support contract.
For debugging, the README points to docs/troubleshooting.md. When you script many notebooks, the README's curriculum example mentions deliberate pacing to avoid rate limits.
- Not suitable for production systems that need guaranteed uptime
- Not suitable where official Google support or a stable contract is required
- Heavy-volume workloads may hit rate limits
What people use it for
- Bulk-import research sources and run repeatable analysis pipelines
- Give a coding agent grounded answers from your own internal documentation
- Generate podcasts, quizzes or flashcards from one source set and export them
- Export mind maps as JSON or data tables as CSV into a local knowledge base
- Run scheduled briefing-document reports as an automated runbook
Frequently asked questions
Is notebooklm-py free to use?
notebooklm-py is released under the MIT licence, as shown on its badge and in the project metadata. The licence governs the package code; check Google's own terms for access to Gemini Notebook itself.
Is notebooklm-py official from Google?
No. The README states it is an unofficial community project and is not affiliated with Google. It uses undocumented Google APIs that can change without notice.
What do I need to install notebooklm-py?
You need Python 3.10 or newer. Install it with pip install notebooklm-py from PyPI.
Why did my notebooklm-py script stop working?
Because the library relies on undocumented Google APIs, Google can change endpoints at any time, which may break it. The README also notes rate limits may throttle heavy usage. Its troubleshooting guide is at docs/troubleshooting.md.
Does notebooklm-py work with the Gemini app or NotebookLM?
The README says Google rebranded NotebookLM to Gemini Notebook, and that this library drives the same underlying service and works unchanged. The package keeps the notebooklm-py name.
Is there an alternative to notebooklm-py?
The source material does not name comparable projects, so this guide cannot make a direct comparison. If you need an official, supported interface, the README suggests this library is not the right choice.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use notebooklm-py if you are a developer, researcher or agent builder who wants to script Gemini Notebook, and you accept that it is an unofficial project for prototypes and personal work. Pick something else if you need guaranteed uptime, official Google support, or high-volume workloads that rate limits would throttle.
Install options & downloads