Live
Black Hat USAAI BusinessBlack Hat AsiaAI Business🔥 ggml-org/llama.cppGitHub Trending🔥 ollama/ollamaGitHub Trending🔥 sponsors/kepanoGitHub Trending🔥 KeygraphHQ/shannonGitHub Trending🔥 sponsors/abhigyanpatwariGitHub TrendingOpenAI Releases Policy Recommendations for AI AgeBloomberg TechnologyBeware the Magical 2-Person, $1 Billion AI-Driven StartupForrester AI Blog[D] ICML 26 - What to do with the zero follow-up questionsReddit r/MachineLearningStop Writing Mega-Prompts: Use These 5 Anthropic Design Patterns InsteadMedium AIBuilding a Semantic Research Assistant: A Production RAG Pipeline Over 120 arXiv PapersMedium AIBuilding a Multi-Agent Investment PlatformMedium AIClaude Code in the Philippines: ₱112/month vs ₱1,120 for ChatGPTDev.to AIBlack Hat USAAI BusinessBlack Hat AsiaAI Business🔥 ggml-org/llama.cppGitHub Trending🔥 ollama/ollamaGitHub Trending🔥 sponsors/kepanoGitHub Trending🔥 KeygraphHQ/shannonGitHub Trending🔥 sponsors/abhigyanpatwariGitHub TrendingOpenAI Releases Policy Recommendations for AI AgeBloomberg TechnologyBeware the Magical 2-Person, $1 Billion AI-Driven StartupForrester AI Blog[D] ICML 26 - What to do with the zero follow-up questionsReddit r/MachineLearningStop Writing Mega-Prompts: Use These 5 Anthropic Design Patterns InsteadMedium AIBuilding a Semantic Research Assistant: A Production RAG Pipeline Over 120 arXiv PapersMedium AIBuilding a Multi-Agent Investment PlatformMedium AIClaude Code in the Philippines: ₱112/month vs ₱1,120 for ChatGPTDev.to AI
AI NEWS HUBbyEIGENVECTOREigenvector

🔥 teng-lin/notebooklm-py

GitHub TrendingApril 6, 20262 min read0 views
Source Quiz

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. — Trending on GitHub today with 138 new stars.

A Comprehensive NotebookLM Skill & Unofficial Python API. 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.

Source & Development: https://github.com/teng-lin/notebooklm-py

⚠️ Unofficial Library - Use at Your Own Risk

This library uses undocumented Google APIs that can change without notice.

  • Not affiliated with Google - This is a community project

  • APIs may break - Google can change internal endpoints anytime

  • Rate limits apply - Heavy usage may be throttled

Best for prototypes, research, and personal projects. See Troubleshooting for debugging tips.

What You Can Build

🤖 AI Agent Tools - Integrate NotebookLM into Claude Code, Codex, and other LLM agents. Ships with a root NotebookLM skill for GitHub and npx skills add discovery, local notebooklm skill install support for Claude Code and .agents skill directories, and repo-level Codex guidance in AGENTS.md.

📚 Research Automation - Bulk-import sources (URLs, PDFs, YouTube, Google Drive), run web/Drive research queries with auto-import, and extract insights programmatically. Build repeatable research pipelines.

🎙️ Content Generation - Generate Audio Overviews (podcasts), videos, slide decks, quizzes, flashcards, infographics, data tables, mind maps, and study guides. Full control over formats, styles, and output.

📥 Downloads & Export - Download all generated artifacts locally (MP3, MP4, PDF, PNG, CSV, JSON, Markdown). Export to Google Docs/Sheets. Features the web UI doesn't offer: batch downloads, quiz/flashcard export in multiple formats, mind map JSON extraction.

Three Ways to Use

Method Best For

Python API Application integration, async workflows, custom pipelines

CLI Shell scripts, quick tasks, CI/CD automation

Agent Integration Claude Code, Codex, LLM agents, natural language automation

Features

Complete NotebookLM Coverage

Category Capabilities

Notebooks Create, list, rename, delete

Sources URLs, YouTube, files (PDF, text, Markdown, Word, audio, video, images), Google Drive, pasted text; refresh, get guide/fulltext

Chat Questions, conversation history, custom personas

Research Web and Drive research agents (fast/deep modes) with auto-import

Sharing Public/private links, user permissions (viewer/editor), view level control

Content Generation (All NotebookLM Studio Types)

Type Options Download Format

Audio Overview 4 formats (deep-dive, brief, critique, debate), 3 lengths, 50+ languages MP3/MP4

Video Overview 3 formats (explainer, brief, cinematic), 9 visual styles, plus a dedicated cinematic-video CLI alias MP4

Slide Deck Detailed or presenter format, adjustable length; individual slide revision PDF, PPTX

Infographic 3 orientations, 3 detail levels PNG

Quiz Configurable quantity and difficulty JSON, Markdown, HTML

Flashcards Configurable quantity and difficulty JSON, Markdown, HTML

Report Briefing doc, study guide, blog post, or custom prompt Markdown

Data Table Custom structure via natural language CSV

Mind Map Interactive hierarchical visualization JSON

Beyond the Web UI

These features are available via API/CLI but not exposed in NotebookLM's web interface:

  • Batch downloads - Download all artifacts of a type at once

  • Quiz/Flashcard export - Get structured JSON, Markdown, or HTML (web UI only shows interactive view)

  • Mind map data extraction - Export hierarchical JSON for visualization tools

  • Data table CSV export - Download structured tables as spreadsheets

  • Slide deck as PPTX - Download editable PowerPoint files (web UI only offers PDF)

  • Slide revision - Modify individual slides with natural-language prompts

  • Report template customization - Append extra instructions to built-in format templates

  • Save chat to notes - Save Q&A answers or conversation history as notebook notes

  • Source fulltext access - Retrieve the indexed text content of any source

  • Programmatic sharing - Manage permissions without the UI

Installation

# Basic installation pip install notebooklm-py

With browser login support (required for first-time setup)

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

If playwright install chromium fails with TypeError: onExit is not a function, see the Linux workaround in Troubleshooting.

Development Installation

For contributors or testing unreleased features:

pip install git+https://github.com/teng-lin/notebooklm-py@main

⚠️ The main branch may contain unstable changes. Use PyPI releases for production.

Quick Start

16-minute session compressed to 30 seconds

CLI

# 1. Authenticate (opens browser) notebooklm login

Or use Microsoft Edge (for orgs that require Edge for SSO)

notebooklm login --browser msedge

2. Create a notebook and add sources

notebooklm create "My Research" notebooklm use notebooklm source add "https://en.wikipedia.org/wiki/Artificial_intelligence" notebooklm source add "./paper.pdf"

3. Chat with your sources

notebooklm ask "What are the key themes?"

4. Generate content

notebooklm generate audio "make it engaging" --wait notebooklm generate video --style whiteboard --wait notebooklm generate cinematic-video "documentary-style summary" --wait notebooklm generate quiz --difficulty hard notebooklm generate flashcards --quantity more notebooklm generate slide-deck notebooklm generate infographic --orientation portrait notebooklm generate mind-map notebooklm generate data-table "compare key concepts"

5. Download artifacts

notebooklm download audio ./podcast.mp3 notebooklm download video ./overview.mp4 notebooklm download cinematic-video ./documentary.mp4 notebooklm download quiz --format markdown ./quiz.md notebooklm download flashcards --format json ./cards.json notebooklm download slide-deck ./slides.pdf notebooklm download infographic ./infographic.png notebooklm download mind-map ./mindmap.json notebooklm download data-table ./data.csv`

Other useful CLI commands:

notebooklm auth check --test # Diagnose auth/cookie issues notebooklm agent show codex # Print bundled Codex instructions notebooklm agent show claude # Print bundled Claude Code skill template notebooklm language list # List supported output languages notebooklm metadata --json # Export notebook metadata and sources notebooklm share status # Inspect sharing state notebooklm source add-research "AI" # Start web research and import sources notebooklm skill status # Check local agent skill installation

Python API

import asyncio from notebooklm import NotebookLMClient

async def main(): async with await NotebookLMClient.from_storage() as client:

Create notebook and add sources

nb = await client.notebooks.create("Research") await client.sources.add_url(nb.id, "https://example.com", wait=True)

Chat with your sources

result = await client.chat.ask(nb.id, "Summarize this") print(result.answer)

Generate content (podcast, video, quiz, etc.)

status = await client.artifacts.generate_audio(nb.id, instructions="make it fun") await client.artifacts.wait_for_completion(nb.id, status.task_id) await client.artifacts.download_audio(nb.id, "podcast.mp3")

Generate quiz and download as JSON

status = await client.artifacts.generate_quiz(nb.id) await client.artifacts.wait_for_completion(nb.id, status.task_id) await client.artifacts.download_quiz(nb.id, "quiz.json", output_format="json")

Generate mind map and export

result = await client.artifacts.generate_mind_map(nb.id) await client.artifacts.download_mind_map(nb.id, "mindmap.json")

asyncio.run(main())`

Agent Setup

Option 1 — CLI install:

notebooklm skill install

Installs the skill into ~/.claude/skills/notebooklm and ~/.agents/skills/notebooklm.

Option 2 — npx install (via the open skills ecosystem):

npx skills add teng-lin/notebooklm-py

Fetches the canonical SKILL.md directly from GitHub.

Documentation

  • CLI Reference - Complete command documentation

  • Python API - Full API reference

  • Configuration - Storage and settings

  • Release Guide - Release checklist and packaging verification

  • Troubleshooting - Common issues and solutions

  • API Stability - Versioning policy and stability guarantees

For Contributors

  • Development Guide - Architecture, testing, and releasing

  • RPC Development - Protocol capture and debugging

  • RPC Reference - Payload structures

  • Changelog - Version history and release notes

  • Security - Security policy and credential handling

Platform Support

Platform Status Notes

macOS ✅ Tested Primary development platform

Linux ✅ Tested Fully supported

Windows ✅ Tested Tested in CI

Star History

License

MIT License. See LICENSE for details.

Was this article helpful?

Sign in to highlight and annotate this article

AI
Ask AI about this article
Powered by Eigenvector · full article context loaded
Ready

Conversation starters

Ask anything about this article…

Daily AI Digest

Get the top 5 AI stories delivered to your inbox every morning.

Knowledge Map

Knowledge Map
TopicsEntitiesSource
🔥 teng-lin…githubtrendingopen-sourceGitHub Tren…

Connected Articles — Knowledge Graph

This article is connected to other articles through shared AI topics and tags.

Knowledge Graph100 articles · 208 connections
Scroll to zoom · drag to pan · click to open

Discussion

Sign in to join the discussion

No comments yet — be the first to share your thoughts!