← Zurück zum Blog

14,6k Stars: Google NotebookLM per Python steuern und Claude Code anbinden

  • notebooklm ai
  • notebooklm tutorial
  • notebooklm
  • notebooklm offiziell

Die Web-Oberfläche von Google NotebookLM reicht für gelegentliche Nutzung. Sobald Sie jedoch Research-Pipelines, Shell-Skripte oder KI-Agent-Workflows brauchen, stoßen Sie an Grenzen: Die meisten Aktionen erfordern Klicks in der UI, und Batch-Arbeit wird mühsam.

notebooklm-py auf GitHub ( 14,6k+ Stars Stand Mai 2026) schließt diese Lücke — eine Python-Schicht über NotebookLM, die sich auch an Claude Code und ähnliche Agenten anschließt.

NotebookLM mit Python steuern

Wo die NotebookLM-Web-UI an Grenzen stößt

NotebookLM lässt PDFs, URLs und YouTube-Links hochladen, dann chatten und Podcasts, Folien, Quiz usw. generieren. Suchen Sie nach notebooklm tutorial, finden Sie Einstiegsguides — die offizielle UI hat aber klare Limits:

  • Batch-Import und -Download bedeutet: ein Klick pro Element
  • Quiz und Karteikarten nur interaktiv — kein JSON- oder Markdown-Export
  • Mindmaps und Datentabellen liefern im Browser keine strukturierten Daten
  • Keine native Anbindung an Claude Code, Codex oder andere Coding-Agenten

Für gelegentliche Notizen reicht die Web-App. Für Pipelines, CI-Jobs oder „20 Papers lesen und Quiz generieren“ brauchen Sie eine programmatische API.

Was ist notebooklm-py?

notebooklm-py ist ein inoffizielles, community-gepflegtes Python-SDK und CLI (MIT-Lizenz). Durch Reverse Engineering des internen Google-RPC werden fast alle NotebookLM-Funktionen freigelegt — plus Features, die die Web-UI nie hatte.

Hinweis: Nicht von Google. Nutzt undokumentierte APIs, die brechen können. Am besten für persönliche Projekte, Forschung und Prototypen.

Drei Nutzungsweisen

MethodeAm besten für
Python APIApp-Integration, async Pipelines, eigene Skripte
CLIShell-Skripte, schnelle Tasks, CI/CD
Agent-IntegrationClaude Code, Codex, OpenClaw, Automatisierung per Natursprache

Was die Web-UI nicht bietet

FähigkeitWas Sie bekommen
Batch-DownloadAlle Artefakte eines Typs auf einmal (MP3, MP4, PDF, PNG usw.)
Quiz-/Karteikarten-ExportJSON, Markdown, HTML — nicht nur die interaktive Ansicht
Mindmap-JSONHierarchische Daten für D3, ECharts oder andere Tools
Datentabellen-CSVTabellenkalkulationstaugliche Exporte
Folien-PPTXBearbeitbares PowerPoint, nicht nur PDF
Einzelfolien-RevisionEine Folie per Natursprach-Prompt ändern
Chat als Notizen speichernQ&A oder ganze Gespräche im Notebook persistieren
Quell-VolltextProgrammatischer Zugriff auf indexierten Quelltext
Multi-Account-ProfileGoogle-Konten wechseln ohne erneutes Login
Browser-Cookie-ImportBestehende Anmeldesitzung wiederverwenden

Die Generierungsabdeckung ist breit: Audio-Overviews (4 Formate, 50+ Sprachen), Video (inkl. cinematic), Infografiken, Berichte, Quiz, Karteikarten, Mindmaps und Datentabellen — oft mit feinerer Steuerung als auf der Website.

Schnelle Installation

CLI-Nutzer (inkl. Agenten):

pip install "notebooklm-py[browser]"
playwright install chromium
notebooklm login
notebooklm auth check --test --json

Nur Bibliothek (mit vorbereitetem storage_state.json, ohne Chromium):

pip install notebooklm-py

Details im Projekt unter installation.md.

CLI-Walkthrough: vom Notebook zum Podcast-Download

notebooklm create "AI Research"
notebooklm use <notebook_id>
notebooklm source add "https://en.wikipedia.org/wiki/Artificial_intelligence"
notebooklm source add "./paper.pdf"
notebooklm ask "What are the key themes?"
notebooklm generate audio "make it engaging" --wait
notebooklm download audio ./podcast.mp3
notebooklm generate quiz --difficulty hard
notebooklm download quiz --format markdown ./quiz.md

Nutzen Sie --prompt-file für lange Prompts, die Shell-Längenlimits überschreiten.

Python-API-Beispiel

import asyncio
from notebooklm import NotebookLMClient

async def main():
    async with await NotebookLMClient.from_storage() as client:
        nb = await client.notebooks.create("Research")
        await client.sources.add_url(nb.id, "https://example.com", wait=True)
        result = await client.chat.ask(nb.id, "Summarize this")
        print(result.answer)
        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")

asyncio.run(main())

Das async Design passt gut in größere asyncio-Workflows.

Claude-Code-Integration

Das Repo liefert ein Agent Skill. Zwei Installationswege:

# Option 1: CLI-Installation für Claude Code / .agents-Verzeichnis
notebooklm skill install

# Option 2: Skills-Ökosystem
npx skills add teng-lin/notebooklm-py

Nach dem Setup können Sie Claude Code sagen: „Füge dieses PDF zu NotebookLM hinzu, generiere ein schweres Quiz und exportiere Markdown“ — der Agent führt die notebooklm-CLI aus, statt Sie durch den Browser zu schicken.

Für Entwickler mit notebooklm ai-Workflows, die volle notebooklm offiziell-Generierungsfunktionen wollen, ist das heute der smootheste Weg.

Keine Lust auf lokales Setup?

Playwright, Cookies und API-Änderungen sind nicht jedermanns Sache. Wenn Sie sich auf Hochladen → Fragen → Generieren konzentrieren wollen, ohne zu installieren, nutzen Sie unsere Online-NotebookLM-Erfahrung:

NotebookLM jetzt nutzen


Zusammenfassung

notebooklm-py macht aus NotebookLM ein scriptbares, agentenfähiges Wissens-Backend statt eines rein klickbasierten Web-Tools. 14,6k Stars spiegeln echten Bedarf: Forscher exportieren Quiz in Batches, Creator pipen Podcast-Generierung in Pipelines, Entwickler steuern Import und Download per Satz in Claude Code.

Web-UI für leichte Alltagsnutzung; Python + CLI + Agenten, wenn Automatisierung und Exporte fehlen, die der Browser nie bot.

Projekt: github.com/teng-lin/notebooklm-py