HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
teng-lin
notebooklm-py
Python2026–2026
teng-lin / notebooklm-py

notebooklm-py

Unofficial Python API and agentic skill for Google Gemini Notebook. Full programmatic access to Gemini Notebook's features—including capabilities the web UI doesn't expose—via Python, CLI, and AI agents like Claude Code, Codex, and OpenClaw.

2Distinct people
2Mentions
0Explicit recommenders
20.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Unofficial Python API and agentic skill for Google Gemini Notebook. Full programmatic access to Gemini Notebook's features—including capabilities the web UI doesn't expose—via Python, CLI, and AI agents like Claude Code, Codex, and OpenClaw.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week2 dated mentions

Observed mentions: 2026-01-12 11:10:49 UTC to 2026-05-06 10:02:43 UTC. Weeks start Monday, UTC.

012026-01-12 00:00:00 UTC to 2026-01-19 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsJan 122026-01-19 00:00:00 UTC to 2026-01-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-26 00:00:00 UTC to 2026-02-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-02-02 00:00:00 UTC to 2026-02-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-02-09 00:00:00 UTC to 2026-02-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-02-16 00:00:00 UTC to 2026-02-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-02-23 00:00:00 UTC to 2026-03-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-02 00:00:00 UTC to 2026-03-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-09 00:00:00 UTC to 2026-03-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsMar 92026-03-16 00:00:00 UTC to 2026-03-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-23 00:00:00 UTC to 2026-03-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-30 00:00:00 UTC to 2026-04-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-04-06 00:00:00 UTC to 2026-04-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-04-13 00:00:00 UTC to 2026-04-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-04-20 00:00:00 UTC to 2026-04-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-04-27 00:00:00 UTC to 2026-05-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-04 00:00:00 UTC to 2026-05-11 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsMay 4

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jan 122026-01-12 00:00:00 UTC2026-01-19 00:00:00 UTC110
Jan 192026-01-19 00:00:00 UTC2026-01-26 00:00:00 UTC000
Jan 262026-01-26 00:00:00 UTC2026-02-02 00:00:00 UTC000
Feb 22026-02-02 00:00:00 UTC2026-02-09 00:00:00 UTC000
Feb 92026-02-09 00:00:00 UTC2026-02-16 00:00:00 UTC000
Feb 162026-02-16 00:00:00 UTC2026-02-23 00:00:00 UTC000
Feb 232026-02-23 00:00:00 UTC2026-03-02 00:00:00 UTC000
Mar 22026-03-02 00:00:00 UTC2026-03-09 00:00:00 UTC000
Mar 92026-03-09 00:00:00 UTC2026-03-16 00:00:00 UTC000
Mar 162026-03-16 00:00:00 UTC2026-03-23 00:00:00 UTC000
Mar 232026-03-23 00:00:00 UTC2026-03-30 00:00:00 UTC000
Mar 302026-03-30 00:00:00 UTC2026-04-06 00:00:00 UTC000
Apr 62026-04-06 00:00:00 UTC2026-04-13 00:00:00 UTC000
Apr 132026-04-13 00:00:00 UTC2026-04-20 00:00:00 UTC000
Apr 202026-04-20 00:00:00 UTC2026-04-27 00:00:00 UTC000
Apr 272026-04-27 00:00:00 UTC2026-05-04 00:00:00 UTC000
May 42026-05-04 00:00:00 UTC2026-05-11 00:00:00 UTC110

What Hacker News says

2 sources
teng-lin·Jan 12, 2026Submission

Show HN: Notebooklm-Py – Unofficial Python API for Google NotebookLM

Hi HN, I’ve been using NotebookLM heavily, but the manual "drag-and-drop" workflow was a bottleneck. I wanted to build automated pipelines (like auto-generating podcasts from a folder of PDFs), but the lack of an official API made this impossible. The Solution: By mapping the internal RPC endpoints used by the web frontend, I built a native Python client that interacts directly with the backend. This bypasses the overhead and brittleness of browser automation tools like Selenium. Demo: Watch Claude Code use the CLI to automate a workflow in the terminal: https://asciinema.org/a/767284 What you can do with it: Deep Research & Content Automation: Automate the entire research loop. You can programmatically create a new notebook, import deep research on specific topics, and then trigger the generation of both an Audio Overview (podcast) and a
Read the rest
Slide Deck, downloading the final assets in one go. RAG Pipelines: Use NotebookLM as a grounded backend for agents (query a notebook -> get cited answers). CLI for Humans & LLMs: The package includes a comprehensive CLI designed for both end-users and agents. It even features a command to auto-install itself as a "Skill" for Claude Code, letting you control NotebookLM via natural language in your terminal. Stability & Testing: Unofficial APIs are risky. To mitigate silent breakage, I treated this package like a production product. The repo includes a triple-layer test suite (Unit, Integration, and Daily E2E Cron tests). If Google changes their definitions, my CI fails immediately, and we’ll know before users do. Auth Note: The library runs on pure Python (ideal for headless servers), but it requires a valid session cookie to start. The CLI makes this easy: just run notebooklm-py login to perform the one-time extraction (it briefly opens a browser via Playwright). Once you have the token, you can deploy it anywhere without a browser. Repo: https://github.com/teng-lin/notebooklm-py Happy to answer questions!
2 points · Open discussion

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.