[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10216":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":40,"readmeContent":41,"aiSummary":42,"trendingCount":16,"starSnapshotCount":16,"syncStatus":43,"lastSyncTime":44,"discoverSource":45},10216,"notebooklm-py","teng-lin\u002Fnotebooklm-py","teng-lin","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.","https:\u002F\u002Fgithub.com\u002Fteng-lin\u002Fnotebooklm-py",null,"Python",16256,2212,66,1,0,43,398,3219,227,45,"MIT License",false,"main",[26,27,28,29,30,31,32,33,34,35,36,37,38,39],"agentic-skill","api","claude","claude-skills","google-notebooklm","notebooklm","notebooklm-api","notebooklm-skill","openclaw-skills","podcast-generator","python","python-api","sdk","skills","2026-06-12 02:02:18","# notebooklm-py\n\u003Cp align=\"left\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fteng-lin\u002Fnotebooklm-py\u002Fmain\u002Fnotebooklm-py.png\" alt=\"notebooklm-py logo\" width=\"128\">\n\u003C\u002Fp>\n\n**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.\n\n[![PyPI version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fnotebooklm-py.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fnotebooklm-py\u002F)\n[![Python Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-blue)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fnotebooklm-py\u002F)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n[![Tests](https:\u002F\u002Fgithub.com\u002Fteng-lin\u002Fnotebooklm-py\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fteng-lin\u002Fnotebooklm-py\u002Factions\u002Fworkflows\u002Ftest.yml)\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F19116\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Ftrendshift.io\u002Fapi\u002Fbadge\u002Frepositories\u002F19116\" alt=\"teng-lin%2Fnotebooklm-py | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n**Source & Development**: \u003Chttps:\u002F\u002Fgithub.com\u002Fteng-lin\u002Fnotebooklm-py>\n\n> **⚠️ Unofficial Library - Use at Your Own Risk**\n>\n> This library uses **undocumented Google APIs** that can change without notice.\n>\n> - **Not affiliated with Google** - This is a community project\n> - **APIs may break** - Google can change internal endpoints anytime\n> - **Rate limits apply** - Heavy usage may be throttled\n>\n> Best for prototypes, research, and personal projects. See [Troubleshooting](docs\u002Ftroubleshooting.md) for debugging tips.\n\n## What You Can Build\n\n🤖 **AI Agent Tools** - Integrate NotebookLM into Claude Code, Codex, and other LLM agents. Ships with a root [NotebookLM skill](SKILL.md) 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`](AGENTS.md).\n\n📚 **Research Automation** - Bulk-import sources (URLs, PDFs, YouTube, Google Drive), run web\u002FDrive research queries with auto-import, and extract insights programmatically. Build repeatable research pipelines.\n\n🎙️ **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.\n\n📥 **Downloads & Export** - Download all generated artifacts locally (MP3, MP4, PDF, PNG, CSV, JSON, Markdown). Export to Google Docs\u002FSheets. **Features the web UI doesn't offer**: batch downloads, quiz\u002Fflashcard export in multiple formats, mind map JSON extraction.\n\n## Three Ways to Use\n\n| Method | Best For |\n|--------|----------|\n| **Python API** | Application integration, async workflows, custom pipelines |\n| **CLI** | Shell scripts, quick tasks, CI\u002FCD automation |\n| **Agent Integration** | Claude Code, Codex, LLM agents, natural language automation |\n\n## Features\n\n### Complete NotebookLM Coverage\n\n| Category | Capabilities |\n|----------|--------------|\n| **Notebooks** | Create, list, rename, delete |\n| **Sources** | URLs, YouTube, files (PDF, text, Markdown, Word, audio, video, images), Google Drive, pasted text; refresh, get guide\u002Ffulltext |\n| **Chat** | Questions, conversation history, custom personas |\n| **Research** | Web and Drive research agents (fast\u002Fdeep modes) with auto-import |\n| **Sharing** | Public\u002Fprivate links, user permissions (viewer\u002Feditor), view level control |\n\n### Content Generation (All NotebookLM Studio Types)\n\n| Type | Options | Download Format |\n|------|---------|-----------------|\n| **Audio Overview** | 4 formats (deep-dive, brief, critique, debate), 3 lengths, 50+ languages | MP3\u002FMP4 |\n| **Video Overview** | 3 formats (explainer, brief, cinematic), 9 visual styles, plus a dedicated `cinematic-video` CLI alias | MP4 |\n| **Slide Deck** | Detailed or presenter format, adjustable length; individual slide revision | PDF, PPTX |\n| **Infographic** | 3 orientations, 3 detail levels | PNG |\n| **Quiz** | Configurable quantity and difficulty | JSON, Markdown, HTML |\n| **Flashcards** | Configurable quantity and difficulty | JSON, Markdown, HTML |\n| **Report** | Briefing doc, study guide, blog post, or custom prompt | Markdown |\n| **Data Table** | Custom structure via natural language | CSV |\n| **Mind Map** | Interactive hierarchical visualization | JSON |\n\n### Beyond the Web UI\n\nThese features are available via API\u002FCLI but not exposed in NotebookLM's web interface:\n\n- **Batch downloads** - Download all artifacts of a type at once\n- **Quiz\u002FFlashcard export** - Get structured JSON, Markdown, or HTML (web UI only shows interactive view)\n- **Mind map data extraction** - Export hierarchical JSON for visualization tools\n- **Data table CSV export** - Download structured tables as spreadsheets\n- **Slide deck as PPTX** - Download editable PowerPoint files (web UI only offers PDF)\n- **Slide revision** - Modify individual slides with natural-language prompts\n- **Report template customization** - Append extra instructions to built-in format templates\n- **Save chat to notes** - Save Q&A answers or conversation history as notebook notes\n- **Source fulltext access** - Retrieve the indexed text content of any source\n- **Programmatic sharing** - Manage permissions without the UI\n\n## Installation\n\n```bash\n# Basic installation\npip install notebooklm-py\n\n# With browser login support (required for first-time setup)\npip install \"notebooklm-py[browser]\"\nplaywright install chromium\n```\n\nIf `playwright install chromium` fails with `TypeError: onExit is not a function`, see the Linux workaround in [Troubleshooting](docs\u002Ftroubleshooting.md#linux).\n\n### Development Installation\n\nFor contributors or testing unreleased features:\n\n```bash\npip install git+https:\u002F\u002Fgithub.com\u002Fteng-lin\u002Fnotebooklm-py@main\n```\n\n⚠️ The main branch may contain unstable changes. Use PyPI releases for production.\n\n## Quick Start\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fasciinema.org\u002Fa\u002F767284\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fasciinema.org\u002Fa\u002F767284.svg\" width=\"600\" \u002F>\u003C\u002Fa>\n  \u003Cbr>\n  \u003Cem>16-minute session compressed to 30 seconds\u003C\u002Fem>\n\u003C\u002Fp>\n\n### CLI\n\n```bash\n# 1. Authenticate (opens browser)\nnotebooklm login\n# Or use Microsoft Edge (for orgs that require Edge for SSO)\n# notebooklm login --browser msedge\n\n# 2. Create a notebook and add sources\nnotebooklm create \"My Research\"\nnotebooklm use \u003Cnotebook_id>\nnotebooklm source add \"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FArtificial_intelligence\"\nnotebooklm source add \".\u002Fpaper.pdf\"\n\n# 3. Chat with your sources\nnotebooklm ask \"What are the key themes?\"\n\n# 4. Generate content\nnotebooklm generate audio \"make it engaging\" --wait\nnotebooklm generate video --style whiteboard --wait\nnotebooklm generate cinematic-video \"documentary-style summary\" --wait\nnotebooklm generate quiz --difficulty hard\nnotebooklm generate flashcards --quantity more\nnotebooklm generate slide-deck\nnotebooklm generate infographic --orientation portrait\nnotebooklm generate mind-map\nnotebooklm generate data-table \"compare key concepts\"\n\n# 5. Download artifacts\nnotebooklm download audio .\u002Fpodcast.mp3\nnotebooklm download video .\u002Foverview.mp4\nnotebooklm download cinematic-video .\u002Fdocumentary.mp4\nnotebooklm download quiz --format markdown .\u002Fquiz.md\nnotebooklm download flashcards --format json .\u002Fcards.json\nnotebooklm download slide-deck .\u002Fslides.pdf\nnotebooklm download infographic .\u002Finfographic.png\nnotebooklm download mind-map .\u002Fmindmap.json\nnotebooklm download data-table .\u002Fdata.csv\n```\n\nOther useful CLI commands:\n\n```bash\nnotebooklm auth check --test         # Diagnose auth\u002Fcookie issues\nnotebooklm agent show codex          # Print bundled Codex instructions\nnotebooklm agent show claude         # Print bundled Claude Code skill template\nnotebooklm language list             # List supported output languages\nnotebooklm metadata --json           # Export notebook metadata and sources\nnotebooklm share status              # Inspect sharing state\nnotebooklm source add-research \"AI\"  # Start web research and import sources\nnotebooklm skill status              # Check local agent skill installation\n```\n\n### Python API\n\n```python\nimport asyncio\nfrom notebooklm import NotebookLMClient\n\nasync def main():\n    async with await NotebookLMClient.from_storage() as client:\n        # Create notebook and add sources\n        nb = await client.notebooks.create(\"Research\")\n        await client.sources.add_url(nb.id, \"https:\u002F\u002Fexample.com\", wait=True)\n\n        # Chat with your sources\n        result = await client.chat.ask(nb.id, \"Summarize this\")\n        print(result.answer)\n\n        # Generate content (podcast, video, quiz, etc.)\n        status = await client.artifacts.generate_audio(nb.id, instructions=\"make it fun\")\n        await client.artifacts.wait_for_completion(nb.id, status.task_id)\n        await client.artifacts.download_audio(nb.id, \"podcast.mp3\")\n\n        # Generate quiz and download as JSON\n        status = await client.artifacts.generate_quiz(nb.id)\n        await client.artifacts.wait_for_completion(nb.id, status.task_id)\n        await client.artifacts.download_quiz(nb.id, \"quiz.json\", output_format=\"json\")\n\n        # Generate mind map and export\n        result = await client.artifacts.generate_mind_map(nb.id)\n        await client.artifacts.download_mind_map(nb.id, \"mindmap.json\")\n\nasyncio.run(main())\n```\n\n### Agent Setup\n\n**Option 1 — CLI install**:\n\n```bash\nnotebooklm skill install\n```\n\nInstalls the skill into `~\u002F.claude\u002Fskills\u002Fnotebooklm` and `~\u002F.agents\u002Fskills\u002Fnotebooklm`.\n\n**Option 2 — `npx` install** (via the open skills ecosystem):\n\n```bash\nnpx skills add teng-lin\u002Fnotebooklm-py\n```\n\nFetches the canonical [SKILL.md](SKILL.md) directly from GitHub.\n\n\n## Documentation\n\n- **[CLI Reference](docs\u002Fcli-reference.md)** - Complete command documentation\n- **[Python API](docs\u002Fpython-api.md)** - Full API reference\n- **[Configuration](docs\u002Fconfiguration.md)** - Storage and settings\n- **[Release Guide](docs\u002Freleasing.md)** - Release checklist and packaging verification\n- **[Troubleshooting](docs\u002Ftroubleshooting.md)** - Common issues and solutions\n- **[API Stability](docs\u002Fstability.md)** - Versioning policy and stability guarantees\n\n### For Contributors\n\n- **[Development Guide](docs\u002Fdevelopment.md)** - Architecture, testing, and releasing\n- **[RPC Development](docs\u002Frpc-development.md)** - Protocol capture and debugging\n- **[RPC Reference](docs\u002Frpc-reference.md)** - Payload structures\n- **[Changelog](CHANGELOG.md)** - Version history and release notes\n- **[Security](SECURITY.md)** - Security policy and credential handling\n\n## Platform Support\n\n| Platform | Status | Notes |\n|----------|--------|-------|\n| **macOS** | ✅ Tested | Primary development platform |\n| **Linux** | ✅ Tested | Fully supported |\n| **Windows** | ✅ Tested | Tested in CI |\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fimage?repos=teng-lin\u002Fnotebooklm-py&type=timeline&legend=top-left)](https:\u002F\u002Fwww.star-history.com\u002F?repos=teng-lin%2Fnotebooklm-py&type=timeline&legend=top-left)\n\n## License\n\nMIT License. See [LICENSE](LICENSE) for details.\n","notebooklm-py 是一个非官方的 Python API 和代理技能库，为 Google NotebookLM 提供全面的编程访问。其核心功能包括通过 Python、命令行界面（CLI）以及 Claude Code、Codex 和 OpenClaw 等 AI 代理工具访问 NotebookLM 的所有特性，甚至包括网页界面未公开的功能。技术特点上，支持多种格式的内容生成与导出，并提供批量下载等高级功能。适用于需要集成或自动化处理笔记内容的场景，如构建研究自动化管道、生成多媒体内容（播客、视频、幻灯片等）、以及在原型开发和个人项目中使用。注意，由于基于未公开的 Google API，使用时需谨慎。",2,"2026-06-11 03:27:14","top_topic"]