agent-fetch
Fetches and extracts full article text from URLs, keeping headings, links and lists instead of summaries. Uses browser impersonation and cookies to get complete pages that plain HTTP tools often receive truncated.
Installs and operates Google NotebookLM through a Python CLI and typed async API, covering notebooks, sources, grounded chat, research, and artifacts. Built for developers and AI agents such as Claude Code.
Claude Code
$ npx -y skills add teng-lin/notebooklm-py --agent claude-code
Codex
$ npx skills add teng-lin/notebooklm-py -a codex
Cursor
$ npx skills add teng-lin/notebooklm-py -a cursor
Gemini CLI
$ npx skills add teng-lin/notebooklm-py -a gemini-cli
GitHub Copilot
$ npx skills add teng-lin/notebooklm-py -a github-copilot
OpenCode
$ npx skills add teng-lin/notebooklm-py -a opencode
Windsurf
$ npx skills add teng-lin/notebooklm-py -a windsurf


A Comprehensive Google Gemini Notebook 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.
Note (July 2026): Google rebranded NotebookLM to Gemini Notebook. It remains the same standalone product (now also reachable inside the Gemini app), existing links redirect automatically, and this library drives the same underlying service and works unchanged. The package keeps the
notebooklm-pyname.
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.
π€ 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.
NotebookLM is a grounded engine: Gemini does the heavy reading and answers from your sources with citations. The winning pattern is to let it do the expensive analysis while your agent (Claude Code, Codex, β¦) orchestrates and handles the final mile β using NotebookLM as a zero-token synthesis + memory layer an agent drives in a loop, and pulling structured artifacts out in bulk and in richer, scriptable formats. Recipes people build on top of this library, grouped by what they use NotebookLM as:
Spend fewer tokens β let NotebookLM do the expensive thinking:
create β source add β ask); the reasoning happens server-side. In the wild: a four-workflow guide to stop Claude Code burning tokens on NotebookLM.source add-research "your topic" --mode deep) or load a doc corpus, let NotebookLM's Gemini condense it, and bake the result into a SKILL.md your agent loads at startup β build once, reuse with zero runtime tokens or network calls, git-versioned and immune to UI drift. A packaged domain expert without hand-curating sources. (Dumping raw docs into a skill flattens the hierarchy; NotebookLM condensing first is what makes it work.)Give your agent memory β persistent, grounded recall:
note create / ask --save-as-note), and a line in your CLAUDE.md queries it (ask) at the start of the next session. Storage and recall live on Google's infrastructure.ask) so an agent answers from your code with citations rather than plausible-sounding guesses β a zero-infra alternative to standing up your own vector DB and embedding pipeline. In the wild: turning a notebook into the source-grounded "project brain" a coding agent consults before it writes code.ask for cited answers across your own history β surfacing long-term patterns a keyword search can't (e.g. a weekly summary synthesized from 282 daily notes, every claim linked back to the entry it came from). In the wild: chatting with a year of daily notes as a cited knowledge base.Turn your sources into answers & artifacts β cited responses, generated media, and exports:
ask --json for source-grounded, cited answers for support, on-call, or internal Q&A. Or have an agent point it at an entire fast-moving tool's docs β more than the agent can hold in context β as a troubleshooting oracle it queries the moment it hits an error. In the wild: OpenClaw drove the library to scrape all 524 pages of docs.openclaw.ai, dedupe the duplicate translations, and audit it down to 269 clean sources (missing/extra/duplicate = 0).generate audio (podcast), generate video, generate slide-deck, plus a generate report blog draft, generate quiz, and generate flashcards β fan a single notebook out across channels.download <type> / download <type> --all). The programmatic "get data out" half of the library, not just "put sources in."[[wikilinks]]. Pair with a podcast overview for an audio digest of your notes. In the wild: "Claude Code + NotebookLM + Obsidian = GOD MODE".Run it unattended, at scale, or on the go β scheduled, headless, and remote:
generate report --format briefing-doc --wait, then download report) as an automated runbook.auth refresh --quiet (cron/launchd/systemd) with generate audio to publish a fresh personalized briefing to a podcast feed on a schedule.These combine ordinary library primitives β see the CLI Reference and Python API. The agent-side glue (skills, scheduling, vault layout) lives in your own setup, not this package. Per-notebook source counts depend on your Google account tier β split across notebooks if you hit a cap.
New here? Start with a walkthrough: Claude Code + NotebookLM = CHEAT CODE (video) Β· 5 demos + 50 use cases, with prompts.
| Method | Best For |
|---|---|
| Python API | Application integration, async workflows, custom pipelines |
| CLI | Shell scripts, quick tasks, CI/CD automation |
| MCP Server | Claude Desktop/Code, Codex, etc. β locally via stdio, or as a self-hosted remote connector (behind a Cloudflare/Tailscale tunnel) reachable from claude.ai and ChatGPT, mobile included. |
| REST Server | Local automation over guarded HTTP routes without spawning a CLI process per call |
| Agent Integration | Claude Code, Codex, LLM agents, natural language automation |
REST and MCP servers support multiple profiles on either backend with --profiles
(see the MCP guide). URL ingestion can optionally recover
failed web pages with source add --fallback-fetch; install the impersonate and
markdown extras and see the CLI reference.
The default backend is the established Web (batchexecute) transport. This
release also provides an opt-in Android backend that uses NotebookLM's mobile
gRPC service and bearer authentication. Select it for the CLI with
--backend android (or NOTEBOOKLM_BACKEND=android), or for the Python API
with NotebookLMClient.from_storage(backend="android") / NotebookLMClient(..., backend="android").
Install the Android runtime explicitly; it is intentionally not included in
the all extra:
pip install "notebooklm-py[android,browser]"
notebooklm login --master-token --account you@example.com
notebooklm --backend android list --json
Android reads master_token.json from the selected profile and mints
Fetches and extracts full article text from URLs, keeping headings, links and lists instead of summaries. Uses browser impersonation and cookies to get complete pages that plain HTTP tools often receive truncated.
See 12 notebooklm-py alternatives
A development methodology for coding agents that makes the agent brainstorm before building, follow plans, run parallel work and finish branches in a disciplined way. You get fewer skipped steps and more consistent results from your coding assistant.
Helps you take a change from a rough idea or bug report through to a tested, reviewed result, with each step handled by a focused skill. Its skills cover pinning down domain terms, designing module interfaces, diagnosing hard bugs, and reviewing changes against your repo's coding standards.
Gives your coding agent a planning, testing and review routine to follow on every task. It plans before building, checks changes with tests, has a fresh reviewer look for regressions, and saves repeated wins as reusable skills.
Developer tools for working on the React codebase itself. Provides skills for extracting error messages, managing and debugging feature flags across release channels, running Flow type checks, and fixing lint and formatting issues before committing.
Install it with the command on its page. It includes notebooklm-py. Its skills do not fire on their own yet. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it