Top AI Product

We track trending AI tools across Product Hunt, Hacker News, GitHub, and more  — then write honest, opinionated takes on the ones that actually matter. No press releases, no sponsored content. Just real picks, published daily.  Subscribe to stay ahead without drowning in hype.


notebooklm-py: The Unofficial Python SDK That Finally Gives Google NotebookLM a Real API

Google NotebookLM is one of the most popular AI research tools out there. Millions of people use it to upload documents, generate podcast-style audio summaries, and chat with their sources. But there’s been one massive frustration since day one: no public API. If you wanted to automate anything — bulk-upload sources, generate audio overviews programmatically, or integrate NotebookLM into your workflow — you were out of luck. You had to click through the web UI manually, every single time.

That’s exactly the problem notebooklm-py was built to solve. And judging by its +457 stars per day on GitHub (now sitting at roughly 4,200 total), a lot of developers were waiting for exactly this.

The Problem: Google’s Most Popular AI Tool With No API

NotebookLM has been a standout product in Google’s AI lineup. It lets you upload PDFs, Google Docs, YouTube videos, and web pages, then ask questions grounded in those sources. The audio overview feature — which generates surprisingly natural podcast-style conversations about your documents — went viral when it launched.

But Google kept NotebookLM locked behind a web interface. The free version has no API at all. Google did release a NotebookLM Enterprise API in September 2025, but it’s only available through Google Cloud, requires enterprise-grade setup, and is aimed at organizations willing to pay for Google Workspace and Cloud infrastructure.

For individual developers, researchers, and small teams who just wanted to script their NotebookLM workflows, there was nothing. Forum posts on the Google AI Developers community have been asking for API access since the product launched, with no satisfying answer.

How notebooklm-py Fills the Gap

notebooklm-py, created by developer Teng Lin, reverse-engineers NotebookLM’s undocumented internal APIs to provide full programmatic access from Python or the command line. It’s MIT-licensed, available on PyPI, and works on macOS, Linux, and Windows.

The installation is straightforward:

pip install notebooklm-py

For browser-based authentication (required for login), you’ll also need:

pip install "notebooklm-py[browser]"
playwright install chromium

Authentication works through your existing Google account via a browser login flow. Once authenticated, you get access to three interfaces: a Python async API for building applications, a CLI for scripting and automation, and Claude Code agent skills for natural language control.

What You Can Actually Do With It

This isn’t a thin wrapper around one or two endpoints. notebooklm-py exposes a wide range of capabilities, including some that aren’t even available through the web UI:

Notebook & Source Management
– Create, list, and delete notebooks programmatically
– Add sources from URLs, YouTube videos, PDFs, Google Drive files
– Bulk-import multiple sources in a single operation
– Run web and Drive research queries with auto-import

Content Generation
– Generate audio overviews in 4 formats, 3 lengths, and 50+ languages
– Create video overviews with 2 formats and 9 visual styles
– Produce quizzes, flashcards, slide decks, infographics, mind maps, reports, and data tables
– Chat with your sources and maintain conversation history

Export & Automation (Beyond Web UI)
– Batch download all generated artifacts
– Export quizzes and flashcards as JSON, Markdown, or HTML
– Extract mind maps as structured JSON
– Export slide decks as PPTX files
– Manage sharing permissions programmatically

The CLI makes quick tasks simple. Creating a notebook, adding a source, and asking a question looks like:

notebooklm create "Research Project"
notebooklm source add "https://example-paper.pdf"
notebooklm ask "What are the key findings?"

For more complex workflows, the Python async API gives you full control to build custom pipelines.

How It Compares to the Official Enterprise API

The obvious question: why use an unofficial SDK when Google has an official one?

The answer comes down to access and scope. Google’s NotebookLM Enterprise API requires a Google Cloud project, Workspace subscription, and enterprise-level setup. It’s designed for organizations that need data residency controls, IAM roles, and compliance features. The pricing alone puts it out of reach for most individual developers.

notebooklm-py, on the other hand, works with the free version of NotebookLM. No Google Cloud project needed. No enterprise subscription. You authenticate with your regular Google account and start building.

There’s also the feature gap. notebooklm-py supports content generation (audio, video, quizzes, flashcards, slide decks) that the Enterprise API doesn’t currently expose. The unofficial SDK essentially gives you more functionality for free — with the trade-off being stability.

For alternatives in the broader NotebookLM ecosystem, nblm-rs offers a similar concept but built on a Rust core with both CLI and Python interfaces, targeting the Enterprise API specifically. AutoContent API provides a commercial alternative that mimics NotebookLM’s functionality. And for those looking at open-source NotebookLM replacements entirely, Open Notebook (4,100+ GitHub stars) supports 16+ AI models and runs fully self-hosted.

The Risks You Should Know About

notebooklm-py is upfront about its limitations, and you should take them seriously:

It uses undocumented APIs. Google hasn’t published these endpoints, and they can change or disappear without notice. An internal Google refactor could break the SDK overnight. The maintainers have been responsive with updates — the latest release (v0.3.3) shipped on March 3, 2026 — but there’s no guarantee of continuity.

Heavy usage may trigger rate limiting. Since you’re hitting the same endpoints as the web UI, Google’s abuse detection systems could flag automated access patterns.

It’s not suitable for production systems. The project’s own documentation recommends it for prototypes, personal projects, and development workflows. Building a customer-facing product on top of undocumented APIs is asking for trouble.

Authentication requires a browser. The initial login flow uses Playwright to automate a browser-based Google sign-in. This means you need a display environment for the first authentication (though tokens are cached afterward).

Who Should Use notebooklm-py

This tool hits a sweet spot for a specific audience:

  • Developers building AI research pipelines who want to incorporate NotebookLM’s document understanding and audio generation into automated workflows
  • Content creators who need to bulk-process documents into audio summaries, quizzes, or slide decks without clicking through the web UI dozens of times
  • Researchers working with large document collections who want programmatic query access across multiple notebooks
  • AI agent builders who want to give their agents access to NotebookLM’s capabilities — the project includes Claude Code skills specifically for this use case

If you’re a casual NotebookLM user who processes a few documents a week, the web UI is fine. But if you’re processing dozens or hundreds of sources, or need to integrate NotebookLM into a larger pipeline, the productivity gain from programmatic access is significant.

The project’s growth — 4,200+ stars, 523 forks, 490 commits from 6 contributors — shows there’s genuine demand. The gap between “great AI product” and “great AI product with an API” has been a recurring theme across the industry, and community projects like notebooklm-py keep stepping in to bridge it.

FAQ

Is notebooklm-py free to use?
Yes. The SDK itself is MIT-licensed and free. It works with the free tier of Google NotebookLM, so you don’t need any paid subscriptions. However, NotebookLM’s own usage limits (on the free tier) still apply to your automated requests.

Could Google block or break notebooklm-py?
Yes, and the project is transparent about this risk. Since it relies on undocumented internal APIs, any change Google makes to NotebookLM’s backend could break functionality. Google could also choose to actively block automated access. The maintainers have been pushing regular updates to keep pace with changes, but long-term stability isn’t guaranteed.

How does notebooklm-py compare to Google’s official NotebookLM Enterprise API?
The Enterprise API is official, stable, and supported — but requires Google Cloud infrastructure and enterprise pricing. notebooklm-py is free and works with personal Google accounts, and actually supports more features (like audio/video generation and quiz exports). The trade-off is stability and official support.

Can I use notebooklm-py to generate podcast-style audio from my documents?
Yes. Audio overview generation is one of the core features, supporting 4 different formats, 3 length options, and 50+ languages. You can generate and download audio files programmatically through both the CLI and Python API.

What are the alternatives if I don’t want to use an unofficial SDK?
Your main options are: Google’s official NotebookLM Enterprise API (requires Google Cloud setup), nblm-rs (a Rust-based client targeting the Enterprise API), AutoContent API (a commercial service), or Open Notebook (a fully self-hosted open-source alternative that supports multiple AI models).


You Might Also Like


Discover more from Top AI Product

Subscribe to get the latest posts sent to your email.



Leave a comment