Back to Skills

notebooklm

Complete API for Google NotebookLM - full programmatic access including features not in the web UI. Create notebooks, add sources, generate all artifact types, download in multiple formats. Activates on explicit /notebooklm or intent like "create a podcast about X"

13,034stars1,818forksUpdated 5/12/2026

Security Assessment

Critical Risk(0/100)

Detected risks:

Destructive Operations([docs/troubleshooting.md] rm -rf)
Persistence([docs/troubleshooting.md] launchd, [CHANGELOG.md] launchd, [docs/auth-keepalive.md] launchd)
Secret Exposure([docs/python-api.md] token=)
Sensitive File Access([docs/development.md] .env, [docs/python-api.md] .env, [docs/troubleshooting.md] .env)
Command Injection([docs/auth-keepalive.md] subprocess.run, [docs/auth-keepalive.md] shell=True)
Security Score0/100

About notebooklm

The notebooklm skill provides complete programmatic access to Google NotebookLM, enabling users to automate tasks that would otherwise require manual interaction with the web interface. It addresses the need for seamless content creation, management, and retrieval across multiple media types. By integrating directly with Google NotebookLM, users can programmatically create notebooks, add a variety of sources such as URLs, YouTube videos, PDFs, audio, video, and images, and interact with the content through a chat interface. This streamlines workflows for researchers, content creators, and developers who need to process and organize large volumes of information efficiently.

The skill offers a range of powerful features, including the ability to generate all artifact types supported by NotebookLM and download them in multiple formats. Installation is flexible, either via PyPI for stable releases or through specific GitHub release tags for the latest features. Users can manage multiple accounts, profiles, and parallel agent workflows, with dedicated environment variables for customization and isolation. Authentication is required through Google OAuth, and the CLI provides commands to verify readiness, manage notebooks, and ensure context isolation when running concurrent agents.

Typical use cases include automating research workflows, generating multimedia content like podcasts or reports, and integrating NotebookLM capabilities into CI/CD pipelines or other automated environments. Target users are Python developers, data analysts, content creators, and technical teams who need efficient programmatic control over Google NotebookLM for scalable and reproducible content management and creation processes.

FAQ

How do I install the notebooklm skill?

You can install it via PyPI using 'pip install notebooklm-py' or from GitHub using the latest release tag. Avoid installing from the main branch as it may contain unstable changes.

What types of sources can I add to a notebook?

You can add URLs, YouTube videos, PDFs, audio, video, and image files to your notebooks, enabling rich content management and artifact generation.

Do I need authentication to use this skill?

Yes, you must authenticate using Google OAuth via 'notebooklm login' before running any commands. You can verify authentication with 'notebooklm list'.

Can I use multiple accounts or run parallel agents?

Yes. You can create multiple profiles, set custom 'NOTEBOOKLM_HOME' directories, or use environment variables to isolate agent contexts and avoid overwriting data.

Which formats can I download artifacts in?

The skill allows downloading artifacts in multiple formats, covering all types supported by Google NotebookLM, although the specific formats depend on the artifact type.

All Files

257 files
.github/PULL_REQUEST_TEMPLATE.md0.4 KB
View
docs/development.md11.8 KB
View
src/notebooklm/cli/artifact.py15.1 KB
View
src/notebooklm/cli/generate.py36.3 KB
View
src/notebooklm/cli/skill.py8.5 KB
View
tests/cassettes/chat_get_history.yaml276.6 KB
View
tests/cassettes/sharing_set_public.yaml294.8 KB
View
tests/cassettes/sources_refresh.yaml279.6 KB
View
tests/unit/cli/test_generate.py73.6 KB
View
tests/unit/cli/test_source.py57.8 KB
View
tests/unit/test_notebook_api.py9.4 KB
View
.env.example1.5 KB
View
.github/workflows/testpypi-publish.yml1.5 KB
View
SECURITY.md3.5 KB
View
SKILL.md27.4 KB
View
docs/python-api.md42.3 KB
View
src/notebooklm/cli/research.py7.0 KB
View
src/notebooklm/rpc/decoder.py17.5 KB
View
tests/cassettes/artifacts_list_flashcards.yaml362.1 KB
View
tests/cassettes/notebooks_get.yaml279.9 KB
View
tests/cassettes/sources_get_fulltext.yaml351.8 KB
View
tests/e2e/test_file_upload.py17.8 KB
View
tests/unit/cli/test_research.py12.7 KB
View
tests/unit/test_chat_references.py25.4 KB
View
tests/unit/test_sharing_types.py10.8 KB
View
tests/unit/test_youtube_extraction.py7.1 KB
View
.github/ISSUE_TEMPLATE/config.yml0.0 KB
View
.github/workflows/verify-package.yml3.7 KB
View
AGENTS.md2.5 KB
View
docs/cli-reference.md35.3 KB
View
docs/rpc-development.md10.7 KB
View
docs/troubleshooting.md25.8 KB
View
src/notebooklm/_notebooks.py14.4 KB
View
src/notebooklm/cli/agent.py0.6 KB
View
src/notebooklm/cli/session.py49.1 KB
View
src/notebooklm/rpc/encoder.py2.8 KB
View
tests/cassettes/artifacts_delete.yaml321.7 KB
View
tests/cassettes/artifacts_list_infographics.yaml362.1 KB
View
tests/cassettes/artifacts_list_video.yaml362.1 KB
View
tests/cassettes/notebooks_remove_from_recent.yaml279.1 KB
View
tests/cassettes/real_api_list_notebooks.yaml379.2 KB
View
tests/cassettes/settings_set_output_language.yaml286.8 KB
View
.github/ISSUE_TEMPLATE/feature_request.md0.3 KB
View
.github/workflows/codeql.yml0.5 KB
View
docs/configuration.md10.8 KB
View
src/notebooklm/_url_utils.py2.1 KB
View
src/notebooklm/cli/agent_templates.py1.4 KB
View
src/notebooklm/cli/download_helpers.py4.8 KB
View
src/notebooklm/cli/notebook.py10.3 KB
View
src/notebooklm/cli/share.py12.8 KB
View
src/notebooklm/rpc/types.py10.3 KB
View
tests/cassettes/artifacts_list_quizzes.yaml362.1 KB
View
tests/cassettes/notes_list_mind_maps.yaml280.6 KB
View
tests/cassettes/research_start_deep.yaml279.3 KB
View
tests/cassettes/sharing_get_status.yaml279.3 KB
View
tests/cassettes/sources_list.yaml279.7 KB
View
tests/e2e/test_notebooks.py5.0 KB
View
tests/integration/cli_vcr/conftest.py3.4 KB
View
tests/integration/test_chat.py67.7 KB
View
tests/integration/test_notes.py7.7 KB
View
tests/unit/cli/test_agent.py2.6 KB
View
tests/unit/cli/test_session.py85.5 KB
View
tests/unit/test_client_keepalive.py21.0 KB
View
tests/unit/test_source_status.py9.6 KB
View
tests/vcr_config.py8.7 KB
View
.pre-commit-config.yaml0.1 KB
View
docs/stability.md11.8 KB
View
src/notebooklm/_logging.py1.2 KB
View
src/notebooklm/cli/_encoding.py0.8 KB
View
tests/cassettes/artifacts_list.yaml369.9 KB
View
tests/cassettes/example_httpbin_get.yaml1.1 KB
View
tests/cassettes/notebooks_get_raw.yaml279.7 KB
View
tests/cassettes/real_api_list_artifacts.yaml369.9 KB
View
tests/cassettes/settings_get_output_language.yaml279.2 KB
View
tests/integration/cli_vcr/test_chat.py4.3 KB
View
tests/integration/test_core.py21.2 KB
View
tests/integration/test_settings.py6.8 KB
View
tests/unit/cli/test_chat.py13.0 KB
View
tests/unit/test_types.py51.7 KB
View
uv.lock183.5 KB
View
.github/workflows/test.yml2.2 KB
View
README.md11.8 KB
View
docs/examples/video.py5.6 KB
View
src/notebooklm/__init__.py6.2 KB
View
src/notebooklm/notebooklm_cli.py6.5 KB
View
tests/cassettes/artifacts_export_report.yaml317.7 KB
View
tests/cassettes/artifacts_suggest_reports.yaml284.1 KB
View
tests/cassettes/example_scrubbed_cookies.yaml1.2 KB
View
tests/cassettes/notes_create_and_update.yaml284.8 KB
View
tests/e2e/test_artifacts.py9.2 KB
View
tests/e2e/test_source_selection.py10.2 KB
View
tests/integration/test_download_multi_artifact.py11.6 KB
View
tests/unit/test_artifacts_coverage.py31.1 KB
View
tests/unit/test_quota_failure_detection.py18.8 KB
View
tests/unit/test_windows_compatibility.py12.6 KB
View
CHANGELOG.md31.1 KB
View
docs/examples/notes.py9.4 KB
View
pyproject.toml5.0 KB
View
tests/cassettes/artifacts_download_mind_map.yaml280.6 KB
View
tests/cassettes/artifacts_rename.yaml394.4 KB
View
tests/cassettes/notebooks_rename.yaml334.4 KB
View
tests/e2e/__init__.py0.0 KB
View
tests/e2e/test_settings.py4.4 KB
View
tests/integration/cli_vcr/test_notes.py0.9 KB
View
tests/unit/test_encoder.py6.8 KB
View
tests/unit/test_paths.py16.4 KB
View
tests/unit/test_version_check.py1.0 KB
View
.github/workflows/rpc-health.yml2.5 KB
View
LICENSE1.0 KB
View
docs/examples/research-to-podcast.py2.9 KB
View
scripts/diagnose_get_notebook.py7.9 KB
View
src/notebooklm/_research.py14.8 KB
View
src/notebooklm/paths.py11.6 KB
View
tests/cassettes/artifacts_generate_flashcards.yaml300.0 KB
View
tests/cassettes/chat_ask.yaml481.7 KB
View
tests/cassettes/notebooks_create.yaml279.3 KB
View
tests/cassettes/sources_check_freshness_drive.yaml8.8 KB
View
tests/e2e/test_chat.py12.7 KB
View
tests/e2e/test_sources.py9.4 KB
View
tests/unit/test_chat_history.py10.8 KB
View
tests/unit/test_rpc_types.py5.1 KB
View
.github/workflows/nightly.yml4.3 KB
View
CLAUDE.md7.2 KB
View
examples/refresh_browser_cookies.py2.8 KB
View
src/notebooklm/_notes.py9.7 KB
View
tests/cassettes/artifacts_download_data_table.yaml362.7 KB
View
tests/cassettes/artifacts_list_slide_decks.yaml362.1 KB
View
tests/cassettes/notebooks_list.yaml378.7 KB
View
tests/cassettes/real_api_list_mind_maps.yaml280.6 KB
View
tests/e2e/test_notes.py3.2 KB
View
tests/integration/cli_vcr/test_downloads.py1.7 KB
View
tests/integration/test_sharing.py13.5 KB
View
tests/unit/cli/test_notebook.py35.7 KB
View
.github/ISSUE_TEMPLATE/bug_report.md0.9 KB
View
.github/workflows/verify-artifacts.yml4.2 KB
View
docs/auth-keepalive.md67.2 KB
View
docs/releasing.md9.1 KB
View
src/notebooklm/cli/profile.py7.7 KB
View
src/notebooklm/rpc/__init__.py1.9 KB
View
tests/cassettes/artifacts_generate_quiz.yaml300.0 KB
View
tests/cassettes/artifacts_list_data_tables.yaml362.1 KB
View
tests/cassettes/chat_get_conversation_turns.yaml4.6 KB
View
tests/cassettes/notebooks_delete.yaml283.0 KB
View
tests/cassettes/sources_delete.yaml283.2 KB
View
tests/e2e/test_downloads.py8.5 KB
View
tests/unit/cli/test_resolve.py13.6 KB
View
tests/unit/test_client.py25.2 KB
View
tests/unit/test_source_selection.py24.8 KB
View
src/notebooklm/_settings.py8.4 KB
View
src/notebooklm/cli/doctor.py8.8 KB
View
src/notebooklm/cli/helpers.py33.9 KB
View
src/notebooklm/client.py10.9 KB
View
tests/cassettes/real_api_list_quizzes.yaml362.1 KB
View
tests/cassettes/sources_add_drive.yaml280.6 KB
View
tests/cassettes/sources_rename.yaml287.6 KB
View
tests/unit/cli/test_error_handler.py9.4 KB
View
tests/unit/cli/test_skill.py15.7 KB
View
tests/unit/test_migration.py8.1 KB
View
src/notebooklm/_artifacts.py84.1 KB
View
src/notebooklm/_chat.py28.8 KB
View
src/notebooklm/_version_check.py0.6 KB
View
src/notebooklm/auth.py71.7 KB
View
src/notebooklm/exceptions.py16.0 KB
View
tests/cassettes/artifacts_generate_study_guide.yaml304.8 KB
View
tests/cassettes/example_batchexecute_pattern.yaml1.4 KB
View
tests/cassettes/notebooks_get_description.yaml279.2 KB
View
tests/cassettes/notes_list.yaml270.2 KB
View
tests/cassettes/real_api_get_notebook.yaml279.7 KB
View
tests/cassettes/research_poll.yaml283.2 KB
View
tests/cassettes/research_start_fast.yaml279.2 KB
View
docs/examples/chat.py6.9 KB
View
docs/rpc-reference.md46.8 KB
View
src/notebooklm/__main__.py0.1 KB
View
src/notebooklm/_sharing.py7.4 KB
View
src/notebooklm/cli/download.py32.8 KB
View
src/notebooklm/cli/language.py9.5 KB
View
tests/cassettes/real_api_list_sources.yaml279.7 KB
View
tests/cassettes/sources_add_text.yaml276.9 KB
View
tests/integration/cli_vcr/__init__.py0.7 KB
View
tests/integration/conftest.py3.6 KB
View
tests/unit/cli/__init__.py0.0 KB
View
tests/unit/cli/test_language.py16.9 KB
View
.github/workflows/publish.yml1.1 KB
View
CONTRIBUTING.md5.3 KB
View
docs/examples/quickstart.py2.2 KB
View
scripts/check_rpc_health.py33.4 KB
View
src/notebooklm/cli/error_handler.py4.5 KB
View
src/notebooklm/cli/options.py2.4 KB
View
src/notebooklm/migration.py5.6 KB
View
tests/cassettes/artifacts_download_report.yaml362.7 KB
View
tests/cassettes/artifacts_revise_slide.yaml1.1 KB
View
tests/cassettes/notes_create.yaml280.8 KB
View
tests/e2e/conftest.py26.2 KB
View
tests/e2e/test_sharing.py5.4 KB
View
tests/integration/test_vcr_comprehensive.py37.6 KB
View
tests/unit/test_auth.py116.2 KB
View
tests/unit/test_research.py32.0 KB
View
.github/dependabot.yml0.4 KB
View
.gitignore0.5 KB
View
docs/examples/bulk-import.py3.2 KB
View
src/notebooklm/cli/chat.py15.4 KB
View
src/notebooklm/cli/grouped.py3.1 KB
View
src/notebooklm/cli/source.py31.3 KB
View
tests/cassettes/artifacts_generate_report.yaml304.8 KB
View
tests/cassettes/real_api_list_reports.yaml362.1 KB
View
tests/cassettes/sources_add_file.yaml283.6 KB
View
tests/conftest.py5.4 KB
View
tests/integration/cli_vcr/test_sources.py3.2 KB
View
tests/integration/test_vcr_example.py6.0 KB
View
tests/unit/cli/test_grouped.py4.7 KB
View
tests/unit/test_api_coverage.py10.9 KB
View
src/notebooklm/_core.py29.1 KB
View
src/notebooklm/cli/__init__.py3.3 KB
View
tests/cassettes/example_httpbin_post.yaml1.4 KB
View
tests/cassettes/notebooks_get_summary.yaml279.0 KB
View
tests/cassettes/real_api_list_audio.yaml362.1 KB
View
tests/e2e/test_research.py10.3 KB
View
tests/integration/cli_vcr/test_generate.py1.7 KB
View
tests/integration/test_skill_packaging.py1.2 KB
View
tests/unit/test_artifact_downloads.py28.7 KB
View
tests/unit/test_download_helpers.py9.8 KB
View
tests/unit/test_url_utils.py5.6 KB
View
src/notebooklm/_sources.py36.1 KB
View
src/notebooklm/cli/note.py8.2 KB
View
src/notebooklm/types.py46.1 KB
View
tests/cassettes/artifacts_list_audio.yaml362.1 KB
View
tests/cassettes/artifacts_list_reports.yaml362.1 KB
View
tests/cassettes/notes_delete.yaml287.1 KB
View
tests/cassettes/research_import_sources.yaml283.3 KB
View
tests/cassettes/sources_add_url.yaml277.0 KB
View
tests/integration/test_artifacts.py83.7 KB
View
tests/integration/test_vcr_real_api.py4.6 KB
View
tests/unit/cli/test_helpers.py60.5 KB
View
tests/unit/test_sources_upload.py20.9 KB
View
tests/cassettes/sources_check_freshness.yaml283.7 KB
View
tests/integration/test_auto_refresh.py6.9 KB
View
tests/integration/test_notebooks.py24.8 KB
View
tests/unit/cli/conftest.py10.0 KB
View
tests/unit/cli/test_note.py18.1 KB
View
tests/unit/test_notes_unit.py21.9 KB
View
tests/cassettes/sources_get_guide.yaml284.5 KB
View
tests/e2e/test_generation.py14.4 KB
View
tests/unit/cli/test_encoding.py2.9 KB
View
tests/unit/cli/test_share.py22.0 KB
View
tests/unit/test_conversation.py5.3 KB
View
tests/unit/test_exceptions.py13.2 KB
View
tests/e2e/test_research_import_verification.py5.1 KB
View
tests/integration/cli_vcr/test_notebooks.py2.1 KB
View
tests/integration/test_sources.py90.0 KB
View
tests/unit/cli/test_download.py33.3 KB
View
tests/unit/test_e2e_conftest_options.py3.6 KB
View
tests/unit/test_user_settings_api.py4.4 KB
View
tests/integration/cli_vcr/test_artifacts.py2.5 KB
View
tests/integration/test_cli_source_delete.py3.8 KB
View
tests/integration/test_research_api.py26.2 KB
View
tests/unit/cli/test_artifact.py25.9 KB
View
tests/unit/test_decoder.py25.3 KB
View

Install notebooklm

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill