The notebooklm-py repository is an unofficial Python API and agentic skill that provides comprehensive programmatic access to Google NotebookLM, including capabilities not exposed in the web interface. Written in Python, the project enables developers to integrate NotebookLM into applications, CLI workflows, AI agents like Claude Code and Codex, and MCP servers. The library exposes undocumented Google APIs and explicitly warns users that it is not affiliated with Google and that these APIs may change without notice, making it best suited for prototypes, research, and personal projects rather than production systems.
The repository has grown to 17,186 stargazers and 2,333 forks as of the most recent tracking period, with consistent community engagement. The primary maintainer, teng-lin, has logged 972 events in the repository's activity history, while secondary contributors tardiai and caichengle666 have contributed 9 and 7 events respectively. The project tracks 445 issues and pull requests with a median response latency of 1.1 hours and a mean latency of 18.1 hours, indicating active maintenance. Bug reports represent the most common issue type with 114 tracked items, followed by enhancement requests with 70 items and 39 automated items.
The library provides multiple interfaces for interaction: a Python API for application integration and async workflows, a command-line interface for shell scripts and CI/CD automation, an MCP server for exposing tools to Claude Desktop and other clients, a REST server for local HTTP-based automation, and direct agent integration for natural language automation. The feature set covers complete NotebookLM functionality including notebook creation and management, source handling for URLs, YouTube videos, PDFs, Google Drive files, and various document formats, chat with custom personas, note creation and management, source labeling, web and Drive research agents, and sharing controls.
Content generation capabilities span multiple artifact types: audio overviews in four formats with 50+ language options, video overviews with multiple visual styles, slide decks in PDF and PPTX formats, infographics, quizzes, flashcards, reports in multiple templates, data tables, and mind maps with JSON extraction. Notably, the library exposes features unavailable in the web UI, including batch downloads, structured quiz and flashcard export in JSON and Markdown formats, mind map data extraction, slide deck PPTX downloads, individual slide revision, report template customization, the ability to save chat answers as notebook notes, source fulltext access, programmatic sharing management, multi-account profile switching, browser cookie import, and headless authentication using durable master tokens for server and CI environments.
The repository documents multiple use cases and recipes that leverage NotebookLM's grounded analysis capabilities. These include zero-token research offload where Gemini performs heavy document analysis while agents handle final polish, web research pipelines that feed into expert agent skills, persistent cross-session memory through a master notebook, integration with knowledge management tools like Obsidian, multi-format content repurposing from single source sets, grounded knowledge bases for support and internal Q&A, memory systems for coding agents, incident runbook generation, curriculum and study-set builders, and scheduled audio briefings. The documentation emphasizes that these patterns combine basic library primitives with user-side orchestration rather than built-in workflow automation.
Installation is available through multiple methods with comprehensive documentation covering six different user personas including agents, end-users, library integrators, headless deployments, contributors, and power-users. The project maintains detailed CLI reference documentation and Python API guides alongside troubleshooting resources and MCP server setup instructions.