notebooklm-py
by
teng-lin

Description: Unofficial Python API and agentic skill for Google NotebookLM. Full programmatic access to NotebookLM's features—including capabilities the web UI doesn't expose—via Python, CLI, and AI agents like Claude Code, Codex, and OpenClaw.

View teng-lin/notebooklm-py on GitHub ↗

Summary Information

Updated 1 hour ago
Added to GitGenius on March 13th, 2026
Created on January 7th, 2026
Open Issues/Pull Requests: 31 (+0)
Number of forks: 722
Total Stargazers: 5,851 (+16)
Total Subscribers: 34 (+0)
Detailed Description

The `notebooklm-py` repository provides an unofficial Python API and agentic skill set for Google NotebookLM, offering comprehensive programmatic access to the platform's features. This allows users to interact with NotebookLM beyond the limitations of its web interface, enabling advanced automation, research capabilities, and content generation workflows. The project is designed for developers, researchers, and anyone seeking to leverage NotebookLM's functionality in a more flexible and integrated manner.

The core functionality of `notebooklm-py` revolves around three primary usage methods: a Python API, a Command-Line Interface (CLI), and agent skills, particularly for use with AI agents like Claude Code. The Python API allows for deep integration within applications, enabling asynchronous workflows and custom pipelines. The CLI provides a convenient way to automate tasks through shell scripts and CI/CD pipelines, offering quick access to NotebookLM features. Agent skills, specifically designed for Claude Code, allow users to interact with NotebookLM using natural language, simplifying complex operations and enabling conversational control.

The repository's main features cover a wide range of NotebookLM capabilities. It allows users to create, list, rename, and delete notebooks. It supports the addition of various source types, including URLs, YouTube videos, files (PDF, text, Markdown, audio, video, images), Google Drive documents, and pasted text. Users can also refresh sources and access their full text content. The API facilitates chat interactions, including question-answering, conversation history management, and the creation of custom personas. Furthermore, it offers web and Drive research agents with auto-import capabilities, streamlining the research process. Sharing features, such as public/private links and user permission management, are also fully supported.

Beyond basic NotebookLM functionality, `notebooklm-py` excels in content generation. It supports the creation of various content types, including audio overviews (in multiple formats, lengths, and languages), video overviews (with different styles), slide decks, infographics, quizzes, flashcards, reports, data tables, and mind maps. The repository provides extensive control over the generation process, allowing users to customize formats, styles, and output. Moreover, it offers features not available in the web UI, such as batch downloads, quiz/flashcard export in multiple formats (JSON, Markdown, HTML), mind map data extraction, data table CSV export, slide deck PPTX export, slide revision, report template customization, saving chat to notes, source fulltext access, and programmatic sharing.

The installation process is straightforward, with the core package installable via pip. An optional "browser" extra is available for first-time setup, which includes browser login support. The repository also provides detailed documentation, including CLI and Python API references, configuration guides, troubleshooting tips, and development resources for contributors. The project is actively maintained and tested on macOS, Linux, and Windows platforms, ensuring broad compatibility. The project's MIT license allows for free use, modification, and distribution. The project's unofficial nature and reliance on undocumented Google APIs are clearly stated, emphasizing the potential for API changes and the importance of using the library with caution, particularly in production environments. The repository is a valuable tool for anyone looking to extend and automate their interaction with Google NotebookLM, offering a powerful and flexible way to leverage its features.

notebooklm-py
by
teng-linteng-lin/notebooklm-py

Repository Details

Fetching additional details & charts...