Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/teng-lin/notebooklm-py/llms.txt

Use this file to discover all available pages before exploring further.

notebooklm-py is an unofficial Python SDK and CLI that gives you complete programmatic control over Google NotebookLM. Create notebooks, add sources from URLs, YouTube, PDFs, and Google Drive, chat with your content, and generate Audio Overviews, videos, quizzes, flashcards, slide decks, infographics, and mind maps—all from Python or the command line. It also ships with a built-in skill for AI agents like Claude Code and Codex.
This library uses undocumented Google APIs that can change without notice. It is not affiliated with Google. Best for prototypes, research, and personal projects.

Installation

Install notebooklm-py from PyPI and set up browser login in minutes.

Quickstart

Create a notebook, add sources, ask questions, and generate a podcast.

Python API

Use the async Python client to build research pipelines and automations.

CLI Reference

Run NotebookLM operations from the shell or CI/CD pipelines.

Three ways to use notebooklm-py

Python API

Async Python client for application integration and custom pipelines.

CLI

Shell commands for scripting, quick tasks, and CI/CD automation.

Agent Integration

Built-in skill for Claude Code, Codex, and other LLM agents.

What you can build

Content generation

Generate podcasts, videos, slide decks, quizzes, flashcards, infographics, data tables, and mind maps.

Research automation

Bulk-import sources, run web/Drive research queries, and extract insights programmatically.

Downloads & export

Download all artifacts locally (MP3, MP4, PDF, PNG, CSV, JSON, Markdown) or export to Google Docs/Sheets.

API reference

Explore the full Python client API with all method signatures and parameters.

Features beyond the web UI

notebooklm-py unlocks capabilities not available in the NotebookLM web interface:
  • Batch downloads — download all artifacts of a type at once
  • Quiz and flashcard export — get structured JSON, Markdown, or HTML
  • Mind map JSON extraction — export hierarchical data for visualization tools
  • Slide deck as PPTX — download editable PowerPoint files
  • Slide revision — modify individual slides with natural-language prompts
  • Source fulltext access — retrieve the indexed text of any source
  • Programmatic sharing — manage permissions without the UI
1

Install the package

pip install "notebooklm-py[browser]"
playwright install chromium
2

Authenticate

notebooklm login
Opens a browser window — log in with your Google account, then press Enter.
3

Create a notebook and add sources

notebooklm create "My Research"
notebooklm use <notebook_id>
notebooklm source add "https://en.wikipedia.org/wiki/Artificial_intelligence"
4

Generate and download content

notebooklm generate audio --wait
notebooklm download audio ./podcast.mp3

Build docs developers (and LLMs) love