Open Source
Explore the latest AI open-source projects from GitHub and HuggingFace.
Explore the latest AI open-source projects from GitHub and HuggingFace.
Google NotebookLM has become one of the most popular AI research tools, but its lack of an official API has limited programmatic access. Developer teng-lin has addressed this gap with notebooklm-py, an unofficial Python API that provides full programmatic access to NotebookLM's features, including capabilities the web UI does not expose. The project has gained 3,450 stars on GitHub and 190 new stars in a single day, reflecting strong developer demand for NotebookLM automation. Released under the MIT license, the latest version 0.3.3 was published on March 3, 2026, with active development across macOS, Linux, and Windows platforms. ## Key Features ### Complete Notebook Management API notebooklm-py provides a full async Python API for creating, listing, renaming, and deleting notebooks. It supports all source types that NotebookLM accepts: URLs, YouTube videos, PDFs, audio, video, images, Google Drive files, and pasted text. The API also includes sharing controls with public/private links and granular user permissions. ### Content Generation Beyond the Web UI The most compelling aspect of notebooklm-py is access to features that Google's web interface does not expose. The tool supports generating audio overviews in 4 formats across 50+ languages, video overviews with 9 visual styles, slide decks in PDF/PPTX format, quizzes and flashcards exported as structured JSON/Markdown/HTML, infographics in 3 orientations, mind maps as hierarchical JSON, and data tables as CSV. | Content Type | Formats | Options | |-------------|---------|--------| | Audio Overview | MP3/MP4 | 4 formats, 3 lengths, 50+ languages | | Video Overview | MP4 | 2 formats, 9 visual styles | | Slide Deck | PDF/PPTX | Multiple layouts, individual slide revision | | Quiz/Flashcards | JSON/MD/HTML | Configurable difficulty | | Infographics | PNG | 3 orientations, 3 detail levels | | Mind Maps | JSON | Hierarchical visualization | | Data Tables | CSV | Custom structures via natural language | ### Research Automation notebooklm-py includes web and Drive research agents with fast and deep modes. These agents can automatically search, evaluate, and import relevant sources into a notebook, then extract insights programmatically. ### AI Agent Integration The tool provides Claude Code skills for natural language automation, enabling AI agents to interact with NotebookLM as part of larger research workflows. This makes it possible to chain NotebookLM operations with other AI tools in automated pipelines. ## CLI and Python API ```bash # CLI workflow notebooklm login notebooklm create "My Research" notebooklm source add "https://example.com" notebooklm ask "Summarize this" notebooklm generate audio --wait notebooklm download audio ./podcast.mp3 ``` ```python # Python API from notebooklm import NotebookLMClient async with await NotebookLMClient.from_storage() as client: nb = await client.notebooks.create("Research") await client.sources.add_url(nb.id, "https://example.com") result = await client.chat.ask(nb.id, "Summarize") ``` ## Limitations and Risks The README clearly states that notebooklm-py uses undocumented Google APIs that can change without notice. It is not affiliated with Google, and the APIs may break at any time. The project targets prototypes, research, and personal projects rather than production systems. ## Conclusion notebooklm-py fills a significant gap in the Google AI ecosystem. For researchers, content creators, and developers building AI-powered research pipelines, it provides the programmatic access that Google has not yet offered officially. The 3,450 stars and active development indicate a thriving community around this tool, though users should remain aware of the inherent fragility of depending on undocumented APIs.