notebooklm-py — What is it?

notebooklm-py is an open-source Python API providing full programmatic access to Google NotebookLM's features, enabling developers to automate and extend NotebookLM's capabilities beyond the web UI.

⭐ 15,273 Stars 🍴 2,095 Forks Python Author: teng-lin
Source: per README View on GitHub →

Why it matters

notebooklm-py is gaining attention due to its ability to automate complex tasks within Google NotebookLM, addressing the need for more advanced automation and integration capabilities. Its unique technical choice of providing full programmatic access to NotebookLM's features, including those not exposed in the web UI, stands out.

Source: Synthesis of README and project traits

Core Features

Complete NotebookLM Coverage

The API provides comprehensive access to NotebookLM's features, including notebooks, sources, chat, research, and sharing capabilities, enabling developers to automate a wide range of tasks.

Source: per README
Content Generation

The project offers a suite of content generation tools, including audio overviews, videos, slide decks, quizzes, flashcards, infographics, data tables, and mind maps, with full control over formats and styles.

Source: per README
Beyond the Web UI

It provides additional features like batch downloads, quiz/flashcard export, mind map data extraction, and more, which are not available in the web UI.

Source: per README

Architecture

The architecture of notebooklm-py is modular, with clear separation of concerns. It uses a client-server model, with the client providing an API for Python and CLI interfaces. Key technical decisions include the use of asynchronous programming for scalability and the integration of various AI agents.

Source: Code tree + dependency files

Project Knowledge Graph

Knowledge graph: project (center) + core features (inner hexagons) + key dependencies (outer chips) httpx click rich Complete NotebookLM CoverageComplete NotebookLM… Content Generation Beyond the Web UI notebooklm-py Project Core feature Key dependency

Center: project; inner ring: core feature modules; outer ring: key dependencies. Auto-generated from core_features and tech_stack.key_deps.

Tech Stack

LanguagePythonFrameworkAsynchronous programming, HTTP requests, and JSON parsing
httpxclickrich
Not specified, but likely to be serverless or containerized for scalability and ease of deployment
Source: Dependency files + code tree

Quick Start

pip install notebooklm-py playwright install chromium notebooklm login notebooklm create "My Research" notebooklm use <notebook_id> notebooklm source add "https://en.wikipedia.org/wiki/Artificial_intelligence" notebooklm source add "./paper.pdf" notebooklm ask "What are the key themes?" notebooklm generate audio "make it engaging" --wait notebooklm generate video --style whiteboard --wait notebooklm generate cinematic-video "documentary-style summary" --wait notebooklm generate quiz --difficulty hard notebooklm generate flashcards --quantity more notebooklm generate slide-deck notebooklm generate infographic --orientation portrait notebooklm generate mind-map notebooklm generate data-table "compare key concepts" notebooklm download audio ./podcast.mp3 notebooklm download video ./overview.mp4 notebooklm download cinematic-video ./documentary.mp4 notebooklm download quiz --format markdown ./quiz.md notebooklm download flashcards --format json ./cards.json notebooklm download slide-deck ./slides.pdf notebooklm download infographic ./infographic.png notebooklm download mind-map ./mindmap.json notebooklm download data-table ./data.csv
Source: README Installation/Quick Start

Use Cases

notebooklm-py is suitable for developers who need to automate complex tasks within Google NotebookLM, such as content generation, research automation, and AI agent integration. It is useful in scenarios like building research pipelines, automating content creation, and integrating NotebookLM with other AI tools.

Source: README

Strengths & Limitations

Strengths

  • Strength 1: Provides comprehensive access to NotebookLM's features, including those not available in the web UI.
  • Strength 2: Offers a wide range of content generation tools.
  • Strength 3: Supports integration with various AI agents.

Limitations

  • Limitation 1: Being an unofficial library, it relies on undocumented Google APIs, which may change without notice.
  • Limitation 2: Heavy usage may be throttled due to rate limits.
Source: Synthesis of README, code structure and dependencies

Latest Release

v0.4.0 (2026-05-09): Added multi-account profiles, notebook metadata export, and other features.

Source: GitHub Releases

Verdict

notebooklm-py is a valuable tool for developers looking to automate and extend Google NotebookLM's capabilities. Its comprehensive feature set and support for various AI agents make it a strong choice for those working on advanced automation and content generation tasks.

Transparency Notice
This page is auto-generated by AI (a large language model) from the following public materials: GitHub README, code tree, dependency files and release notes. Analyzed at: 2026-05-24 11:54. Quality score: 85/100.

Data sources: README, GitHub API, dependency files