notebooklm-py is an unofficial Python API and agentic skill for Google Gemini Notebook that provides full programmatic access to NotebookLM's features, including capabilities not exposed in the web UI, via Python, CLI, and AI agents like Claude Code and Codex.
The tool solves the problem of integrating NotebookLM into automated workflows and agent systems. It works by exposing undocumented Google APIs through a Python interface, allowing developers to programmatically control research automation, content generation, and artifact export. This enables use cases like bulk-importing sources, generating audio overviews and study materials, downloading artifacts in multiple formats, and orchestrating NotebookLM as a synthesis layer within larger agent workflows.
Adoption requires understanding that this is an unofficial library using undocumented APIs that Google can change without notice. It suits prototypes, research projects, and personal automation rather than production systems dependent on API stability. The library is best used as a zero-token synthesis and memory layer that agents drive in a loop, offloading expensive analysis to NotebookLM while the agent handles orchestration and final output formatting. The tool distinguishes itself by exposing features the web UI doesn't offer, such as batch downloads, quiz and flashcard export in multiple formats, and mind map JSON extraction.
The project's issue tracker is maintained primarily by its own members, reading more as internal planning than inbound user demand. Maintainers respond to new issues and pull requests within hours. Work in the tracker centers on bug fixes, enhancements, and items labeled ready-for-agent.