About this project

notebooklm-py is an unofficial library that provides full programmatic access to Google Gemini Notebook (NotebookLM). It allows users to interact with the service via a Python API, a Command Line Interface (CLI), or as a skill for AI agents such as Claude Code, Codex, and OpenClaw. The library utilizes undocumented Google APIs to expose features both available and unavailable in the official web UI. Key capabilities include: - Notebook & Source Management: Programmatically create notebooks and import sources from URLs, YouTube, Google Drive, and various local file formats (PDF, Markdown, etc.). - Grounded Interaction: Perform cited Q&A and research using Gemini's grounded engine, with support for both fast and deep research modes. - Content Generation: Generate a wide variety of artifacts including Audio Overviews (podcasts), videos, slide decks (PDF/PPTX), infographics (PNG), quizzes, flashcards, reports, data tables (CSV), and mind maps (JSON). - Advanced Exports: Supports batch downloads of artifacts and structured data extraction (JSON/Markdown/HTML) for quizzes and flashcards, which exceeds the capabilities of the standard web interface. - Integration Options: Includes an MCP (Model Context Protocol) server for integration with LLM desktops/agents and an optional Android backend using gRPC for different authentication and transport needs. Users can deploy the tool as a standalone CLI for automation, embed the Python library into custom applications, or host it as a remote connector for mobile AI app access.