notebooklm-py — What is it?

notebooklm-py provides a Python API and agentic skill for Google NotebookLM, enabling full programmatic access to its features.

⭐ 10,831 Stars 🍴 1,425 Forks Python Author: teng-lin
Source: README View on GitHub →

Why it matters

This project is gaining attention due to its comprehensive access to NotebookLM's features, which are not exposed in the web UI. It addresses the need for programmatic control and automation of NotebookLM's capabilities, which is particularly valuable for developers and researchers.

Source: README

Core Features

Full Programmatic Access

The project offers full programmatic access to NotebookLM's features, including those not available in the web UI, via Python, CLI, and AI agents.

Source: README
AI Agent Integration

It integrates with AI agents like Claude Code, Codex, and OpenClaw, enhancing the capabilities of these agents with NotebookLM's features.

Source: README
Content Generation

The project can generate various content types such as audio overviews, videos, slide decks, quizzes, and more, with full control over formats and styles.

Source: README
Research Automation

It automates research processes by importing sources from various platforms and extracting insights programmatically.

Source: README

Architecture

The architecture is modular, with separate components for the Python API, CLI, and AI agent integration. It uses asynchronous programming for efficient data handling and leverages various libraries for HTTP requests, command-line interactions, and rich text output.

Source: Code tree + dependency files

Tech Stack

infra: Not specified  |  key_deps: httpx, click, rich  |  language: Python  |  framework: Asynchronous programming, HTTP requests, command-line interactions, rich text output

Source: Dependency files + code tree

Quick Start

pip install notebooklm-py playwright install chromium notebooklm login notebooklm create "My Research" notebooklm use 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

This project is suitable for developers and researchers who need to automate and enhance their workflows with NotebookLM's features. It is useful for creating AI-powered content, automating research processes, and integrating NotebookLM capabilities into other applications.

Source: README

Strengths & Limitations

Strengths

  • Strength 1: Comprehensive access to NotebookLM's features
  • Strength 2: Integration with AI agents
  • Strength 3: Wide range of content generation capabilities

Limitations

  • Limitation 1: Unofficial library with potential API changes
  • Limitation 2: May face rate limits with heavy usage
  • Limitation 3: Requires additional setup for browser login support
Source: Synthesis of README, code structure and dependencies

Latest Release

v0.3.4 (2026-03-12): Added Notebook metadata export, fixed CLI conversation reset, UTF-8 file encoding, and other improvements.

Source: GitHub Releases

Verdict

notebooklm-py is a valuable tool for developers and researchers looking to automate and enhance their use of Google NotebookLM. Its comprehensive feature set and integration capabilities make it a strong choice for those needing advanced control and automation of NotebookLM's features.

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-04-19 10:31. Quality score: 85/100.

Data sources: README, GitHub API, dependency files