NotebookLM API | Export Notebooks, Sources & Citations (2026) avatar
NotebookLM API | Export Notebooks, Sources & Citations (2026)

Pricing

Pay per usage

Go to Apify Store
NotebookLM API | Export Notebooks, Sources & Citations (2026)

NotebookLM API | Export Notebooks, Sources & Citations (2026)

Export your NotebookLM notebooks programmatically. Get conversations, source metadata with URLs, and citation mappings. Output to JSON, CSV, Markdown or Excel. Bulk export or select specific notebooks. Perfect for n8n workflows, RAG pipelines, or backups. Unlimited exports.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

ClearPath

ClearPath

Maintained by Community

Actor stats

0

Bookmarked

14

Total users

5

Monthly active users

19 days ago

Last modified

Share

NotebookLM API | Export Conversations, Sources & Citations

Google doesn't let you export your NotebookLM data. This Actor fixes that - get your conversations, sources, and citations out as JSON, markdown (LLM ready) or CSV.

Changelog

DateChange
2025-12-28Artifact Support - Extract all AI-generated artifacts: Audio Overviews (podcasts), Video Overviews, Slide Decks (PDF + images), Infographics, Flash Cards, Quizzes, and Briefing Documents. Enable download options to store media files in Key-Value store with direct download URLs.

Demo

  • Full conversation history with Q&A threads
  • Source metadata (titles, URLs)
  • Citation mapping - see exactly which sources informed each AI response
  • Bulk export or pick specific notebooks

🎉 Free during beta! No limits, no paid Apify account required. This won't last forever, so try it out while you can.

Built this after seeing people complain on Reddit about the lack of exports. If you need a feature that's not here yet, just ask - I'm actively building this out.


Quick Start

Basic - Export Recent Notebooks

{
"email": "your-email@gmail.com",
"appPassword": "xxxx xxxx xxxx xxxx"
}

Exports up to 10 most recent notebooks (default limit).

Export All Notebooks

{
"email": "your-email@gmail.com",
"appPassword": "xxxx xxxx xxxx xxxx",
"limit": 0
}

Set limit: 0 to export all notebooks without restriction.

Export Specific Notebooks

{
"email": "your-email@gmail.com",
"appPassword": "xxxx xxxx xxxx xxxx",
"projectIds": [
"6509c6d4-58fc-4066-8aa9-b691423e5ca7",
"a1b2c3d4-e5f6-7890-abcd-ef1234567890"
]
}

With Source Summaries & Tags

{
"email": "your-email@gmail.com",
"appPassword": "xxxx xxxx xxxx xxxx",
"includeSourceSummaries": true
}

Note: Enabling includeSourceSummaries adds ~3 seconds per source to avoid rate limiting. For notebooks with many sources, runs will take longer.


Input Parameters

ParameterTypeRequiredDescription
emailStringYesYour Google account email address
appPasswordStringYes16-character App Password (NOT your Google password!)
projectIdsArrayNoUUIDs of specific notebooks to export. If empty, exports all up to limit.
limitIntegerNoMax notebooks to export. Default: 10. Set to 0 for unlimited.
includeSourceSummariesBooleanNoFetch AI-generated summary and tags for each source. Default: false. Adds ~3s per source.
includeFlashCardContentBooleanNoFetch full flash card Q&A content. Default: true.
downloadAudioOverviewsBooleanNoDownload audio podcasts to Key-Value store. Default: false.
downloadVideoOverviewsBooleanNoDownload video summaries to Key-Value store. Default: false.
downloadSlideDecksBooleanNoDownload slide deck PDFs and images to Key-Value store. Default: false.
downloadInfographicsBooleanNoDownload infographic images to Key-Value store. Default: false.
proxyConfigurationObjectNoProxy settings. Default: US residential proxy.

Proxy tip: If you're outside the US, change the proxy country to match your Google account location. This prevents Google from flagging the login as suspicious and asking for verification.

How to Get Project IDs

Run the Actor once to see all your notebooks. Each output item includes a projectId you can use for selective exports later.


Authentication Setup

This Actor uses Google App Passwords for secure authentication. This is NOT your regular Google password.

Step 1: Enable 2-Factor Authentication

App Passwords require 2FA to be enabled on your Google account:

  1. Go to myaccount.google.com/security
  2. Under "How you sign in to Google", click 2-Step Verification
  3. Follow the prompts to enable 2FA if not already active

Step 2: Create an App Password

  1. Go to myaccount.google.com/apppasswords
  2. Click Select app → choose Other (Custom name)
  3. Enter a name like NotebookLM Export or Apify
  4. Click Generate
  5. Copy the 16-character password (spaces are optional)

Step 3: Use in Actor Input

{
"email": "your-email@gmail.com",
"appPassword": "abcd efgh ijkl mnop"
}

App Passwords

This Actor authenticates using Google App Passwords, not your main Google password. App Passwords are:

  • Scoped – They only grant access to specific services, not your full Google account
  • Revocable – Delete them anytime from myaccount.google.com/apppasswords without changing your main password
  • Encrypted – Stored as a secret input on Apify, never exposed in logs or metadata

I don't store your credentials or notebook content. Data streams directly to your Apify dataset.


Output

Each notebook is exported as a separate dataset item. All text content is formatted as markdown with bold highlights, bullet points, and structure - ready to feed directly into LLMs, RAG pipelines, or content workflows.

Output Fields

FieldTypeDescription
projectIdStringUnique notebook UUID
projectTitleStringNotebook name
projectEmojiStringNotebook icon emoji
notebookSummaryStringAI-generated overview of the notebook contents
suggestedQuestionsArraySuggested questions to explore the notebook
audioOverviewsArrayAI-generated podcasts/audio discussions
videoOverviewsArrayAI-generated video summaries
slideDecksArrayAI-generated presentation slides (PDF + images)
infographicsArrayAI-generated infographic images
flashCardsArrayAI-generated flash card decks for studying
quizzesArrayAI-generated multiple-choice quizzes
briefingDocsArrayAI-generated briefing documents with key insights
sourcesArrayList of source documents
conversationsArrayAll chat sessions with turns

Source Fields

FieldTypeDescription
idStringSource UUID
titleStringSource title
urlStringOriginal source URL
summaryStringAI-generated source summary (only with includeSourceSummaries: true)
tagsArrayAuto-generated topic tags (only with includeSourceSummaries: true)

Audio Overview Fields

FieldTypeDescription
idStringAudio artifact UUID
titleStringPodcast title
audioUrlStringOriginal audio URL (Google CDN)
audioStreamUrlStringStreaming audio URL
downloadUrlStringDirect download URL (only with downloadAudioOverviews: true)
durationIntegerDuration in seconds
mimeTypeStringAudio format (e.g., audio/mp4)
createdAtIntegerUnix timestamp of creation

Video Overview Fields

FieldTypeDescription
idStringVideo artifact UUID
titleStringVideo title
videoUrlStringOriginal video URL (Google CDN)
videoStreamUrlStringStreaming video URL
downloadUrlStringDirect download URL (only with downloadVideoOverviews: true)
durationIntegerDuration in seconds
mimeTypeStringVideo format (e.g., video/mp4)
createdAtIntegerUnix timestamp of creation

Slide Deck Fields

FieldTypeDescription
idStringSlide deck UUID
titleStringPresentation title
pdfUrlStringOriginal PDF URL
pdfDownloadUrlStringDirect PDF download URL (only with downloadSlideDecks: true)
slideCountIntegerNumber of slides
slidesArrayIndividual slide objects with imageUrl, downloadUrl, width, height, description, content
mimeTypeStringapplication/pdf
createdAtIntegerUnix timestamp of creation

Infographic Fields

FieldTypeDescription
idStringInfographic UUID
titleStringInfographic title
imageUrlStringOriginal image URL (Google CDN)
downloadUrlStringDirect download URL (only with downloadInfographics: true)
widthIntegerImage width in pixels
heightIntegerImage height in pixels
descriptionStringVisual description
fullTextStringExtracted text content from the infographic
mimeTypeStringimage/png
createdAtIntegerUnix timestamp of creation

Flash Card Fields

FieldTypeDescription
idStringFlash card deck UUID
titleStringDeck title
cardCountIntegerNumber of cards in the deck
cardsArrayCard objects with front and back text (only with includeFlashCardContent: true)
createdAtIntegerUnix timestamp of creation

Quiz Fields

FieldTypeDescription
idStringQuiz UUID
titleStringQuiz title
questionCountIntegerNumber of questions
questionsArrayQuestion objects (only with includeFlashCardContent: true)
questions[].questionStringThe question text
questions[].optionsArrayAnswer options with text and rationale
questions[].correctIndexIntegerIndex of the correct answer (0-based)
questions[].hintStringOptional hint for the question
createdAtIntegerUnix timestamp of creation

Briefing Document Fields

FieldTypeDescription
idStringBriefing document UUID
titleStringDocument title
contentStringFull document content in markdown format
descriptionStringBrief description (e.g., "Key insights and important quotes")
mimeTypeStringContent type (text/markdown)
createdAtIntegerUnix timestamp of creation

Output Example

{
"projectId": "6509c6d4-58fc-4066-8aa9-b691423e5ca7",
"projectTitle": "Market Research Q1 2025",
"projectEmoji": "📊",
"notebookSummary": "These sources chronicle the rapid growth of **renewable energy markets** in 2025. The texts highlight a shift toward **distributed solar** and **battery storage**, with key players including Tesla, Enphase, and emerging Chinese manufacturers. Collectively, the documents provide a comprehensive look at **market sizing**, competitive dynamics, and regulatory tailwinds driving adoption.",
"suggestedQuestions": [
{
"question": "What are the key market trends for 2025?",
"promptTemplate": "Create a detailed briefing document..."
}
],
"audioOverviews": [
{
"id": "75e3e2e8-1477-4a0b-960f-1a5cac8fb449",
"title": "Renewable Energy Market Deep Dive",
"audioUrl": "https://lh3.googleusercontent.com/notebooklm/AG60hO...=m140-dv",
"audioStreamUrl": "https://lh3.googleusercontent.com/notebooklm/AG60hO...=m140",
"downloadUrl": "https://api.apify.com/v2/key-value-stores/abc123/records/audio_6509c6d4_75e3e2e8.m4a",
"duration": 635,
"mimeType": "audio/mp4",
"createdAt": 1765728326
}
],
"videoOverviews": [
{
"id": "0cd398ee-1c74-42e3-a057-6a5a93d18c7b",
"title": "Energy Markets Explained",
"videoUrl": "https://lh3.googleusercontent.com/notebooklm/AG60hO...=m22-dv",
"videoStreamUrl": "https://lh3.googleusercontent.com/notebooklm/AG60hO...=m22",
"downloadUrl": "https://api.apify.com/v2/key-value-stores/abc123/records/video_6509c6d4_0cd398ee.mp4",
"duration": 380,
"mimeType": "video/mp4",
"createdAt": 1765728351
}
],
"slideDecks": [
{
"id": "45511ac2-db9a-4c78-92fe-6741163f7812",
"title": "Renewable Energy Presentation",
"pdfUrl": "https://contribution.usercontent.google.com/download?...",
"pdfDownloadUrl": "https://api.apify.com/v2/key-value-stores/abc123/records/slides_6509c6d4_45511ac2.pdf",
"mimeType": "application/pdf",
"slideCount": 15,
"slides": [
{
"imageUrl": "https://lh3.googleusercontent.com/notebooklm/...",
"downloadUrl": "https://api.apify.com/v2/key-value-stores/abc123/records/slide_6509c6d4_45511ac2_00.png",
"width": 1376,
"height": 768,
"description": "Title slide introducing renewable energy markets",
"content": "Renewable Energy Markets Q1 2025"
}
],
"createdAt": 1765728194
}
],
"infographics": [
{
"id": "0b90291c-b749-4a8c-bd8f-26c96a46b2ba",
"title": "Solar Market Growth Infographic",
"imageUrl": "https://lh3.googleusercontent.com/notebooklm/AG60hO...=w2752-d-h1536",
"downloadUrl": "https://api.apify.com/v2/key-value-stores/abc123/records/infographic_6509c6d4_0b90291c.png",
"width": 2752,
"height": 1536,
"description": "Visual summary of solar market trends",
"fullText": "Global Solar Installations 2025: 580 GW projected...",
"mimeType": "image/png",
"createdAt": 1765727700
}
],
"flashCards": [
{
"id": "3ed2e7bc-7b32-40f8-a65a-9720cfcbfacc",
"title": "Energy Markets Study Cards",
"cardCount": 50,
"cards": [
{
"front": "What is the projected global solar installation capacity for 2025?",
"back": "580 GW, representing a 25% increase from 2024"
},
{
"front": "What was Tesla's energy storage deployment growth YoY?",
"back": "180% year-over-year, reaching 12.4 GWh"
}
],
"createdAt": 1765729277
}
],
"quizzes": [
{
"id": "6de7348c-7dc7-4832-b4aa-d2b0c7fde839",
"title": "Renewable Energy Quiz",
"questionCount": 8,
"questions": [
{
"question": "What is the projected global solar installation capacity for 2025?",
"options": [
{"text": "400 GW", "rationale": "This figure is below the projected growth trajectory"},
{"text": "580 GW", "rationale": "Correct - BloombergNEF projects 580 GW for 2025"},
{"text": "750 GW", "rationale": "This exceeds current manufacturing capacity"},
{"text": "1000 GW", "rationale": "This target is projected for 2030, not 2025"}
],
"correctIndex": 1,
"hint": "Consider the BloombergNEF projections mentioned in the sources"
}
],
"createdAt": 1765729500
}
],
"briefingDocs": [
{
"id": "0ca5dcd6-18ed-45f5-bd79-a1de96228106",
"title": "Briefing Document: Renewable Energy Markets",
"content": "# Briefing Document: Renewable Energy Markets\n\n## Summary\n\nThe global renewable energy market is experiencing unprecedented growth in 2025...\n\n## Key Findings\n\n- **Solar dominance:** Global installations projected to reach 580 GW\n- **Storage surge:** Battery deployments up 180% YoY\n- **Grid challenges:** Interconnection delays remain the primary barrier",
"description": "Key insights and important quotes",
"mimeType": "text/markdown",
"createdAt": 1765728400
}
],
"sources": [
{
"id": "cb16c741-0698-4590-b2a0-94f5e1f3afd5",
"title": "BloombergNEF Solar Market Outlook 2025",
"url": "https://about.bnef.com/solar-market-outlook/",
"summary": "This report projects **global solar installations** to reach 580 GW in 2025, driven by falling module prices and supportive policies in the US and EU. Key barriers include **grid interconnection delays** and polysilicon supply constraints.",
"tags": ["Solar energy", "Market forecast", "Clean energy policy"]
},
{
"id": "15969df9-c08e-4bcb-af2b-363a983b294b",
"title": "Tesla Q3 2025 Earnings Call Transcript",
"url": "https://ir.tesla.com/q3-2025-transcript",
"summary": "Tesla's energy storage division reported **record deployments** of 12.4 GWh, up 180% YoY. Management highlighted **Megapack demand** outpacing production capacity through 2026.",
"tags": ["Battery storage", "Tesla", "Energy earnings"]
}
],
"conversations": [
{
"sessionId": "079ffb57-e2f9-4e7a-bf5b-ed81d6a0aaab",
"turns": [
{
"turnId": "bfd3f131-b306-4fa6-b90c-8aa91be0210e",
"timestamp": 1765731768,
"role": "user",
"content": "What are the key market trends for 2025?",
"citations": null
},
{
"turnId": "c984b3b4-4ee3-4e76-a5b3-9d737c607a1d",
"timestamp": 1765731770,
"role": "assistant",
"content": "Based on the sources, the key trends shaping the **renewable energy market** in 2025 include:\n\n* **Solar dominance:** Global installations projected to hit 580 GW, with falling module prices driving adoption [1].\n* **Storage surge:** Tesla's Megapack deployments up **180% YoY**, with demand outpacing supply through 2026 [2].\n* **Grid bottlenecks:** Interconnection delays remain the primary barrier to faster deployment [1].\n\nThe overall trajectory suggests **accelerating electrification** despite supply chain challenges.",
"citations": [
{
"sourceId": "cb16c741-0698-4590-b2a0-94f5e1f3afd5",
"startPos": 95,
"endPos": 180,
"citedText": "Global installations projected to hit 580 GW",
"sourceExcerpt": "BloombergNEF projects global solar PV installations to reach 580 GW in 2025, representing a 25% increase from 2024..."
},
{
"sourceId": "15969df9-c08e-4bcb-af2b-363a983b294b",
"startPos": 220,
"endPos": 295,
"citedText": "Tesla's Megapack deployments up **180% YoY**",
"sourceExcerpt": "Our energy storage deployments reached 12.4 GWh this quarter, up 180% year-over-year, with Megapack demand continuing to exceed production capacity..."
}
]
}
]
}
]
}

Note: summary and tags fields on sources only appear when includeSourceSummaries: true is set in the input.

Artifacts: All AI-generated artifacts are automatically extracted. Enable download options to store media files in the Key-Value store with direct downloadUrl fields:

  • downloadAudioOverviews - Audio podcasts (.m4a)
  • downloadVideoOverviews - Video summaries (.mp4)
  • downloadSlideDecks - PDFs and slide images (.pdf, .png)
  • downloadInfographics - Infographic images (.png)
  • includeFlashCardContent - Full flash card Q&A content

Markdown output: All AI-generated content (notebookSummary, content, summary, briefing docs) uses markdown formatting with bold highlights, bullet points, and numbered references. This structured text is ready to pipe into LLMs, vector databases, or content workflows without preprocessing.

Citation Structure

Each AI response includes citation data showing exactly which sources informed the answer:

FieldTypeDescription
sourceIdStringUUID of the cited source
startPosNumberCharacter position where citation starts in response
endPosNumberCharacter position where citation ends
citedTextStringThe exact text that was cited
sourceExcerptStringRelevant excerpt from the original source

Key Features

Complete Data Extraction

  • Notebook metadata - Title, emoji, and unique project ID
  • Source library - All sources with titles and original URLs
  • Full conversations - Every Q&A exchange in your notebooks
  • Citation data - Which sources informed each AI response, with exact text excerpts

Flexible Export Options

  • Export all notebooks - One-click backup of your entire NotebookLM library
  • Selective export - Choose specific notebooks by project ID
  • Multiple formats - JSON for programmatic use, CSV for spreadsheets

Use Cases

  • Backup your research - Export before you lose access (graduating, switching jobs, etc.)
  • Feed RAG pipelines - Use conversation history and citations as retrieval context
  • Automate with n8n - Weekly digests, Notion sync, Slack alerts when topics appear
  • Repurpose content - Turn NotebookLM conversations into blog posts with proper citations
  • Fine-tune models - Export Q&A pairs for training data
  • Audit AI responses - Review which sources informed each answer at scale

API Integration

Python

from apify_client import ApifyClient
client = ApifyClient("your_api_token")
run = client.actor("clearpath/notebooklm-api").call(
run_input={
"email": "your-email@gmail.com",
"appPassword": "xxxx xxxx xxxx xxxx"
}
)
# Process exported notebooks
for notebook in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"📓 {notebook['projectEmoji']} {notebook['projectTitle']}")
print(f" Sources: {len(notebook['sources'])}")
print(f" Conversations: {len(notebook['conversations'])}")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'your_api_token' });
const run = await client.actor('clearpath/notebooklm-api').call({
email: 'your-email@gmail.com',
appPassword: 'xxxx xxxx xxxx xxxx'
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const notebook of items) {
console.log(`📓 ${notebook.projectEmoji} ${notebook.projectTitle}`);
console.log(` Sources: ${notebook.sources.length}`);
console.log(` Conversations: ${notebook.conversations.length}`);
}

n8n Integration Example

Combine NotebookLM Export with n8n to build powerful automated workflows:

Use Case: Weekly Research Digest

Create an automated pipeline that exports your NotebookLM research, processes it with an LLM, and sends a weekly summary email.

Workflow:

  1. Schedule Trigger - Run every Monday at 9 AM
  2. Apify Actor Node - Export all notebooks
  3. Code Node - Extract key insights from conversations
  4. OpenAI Node - Summarize findings into a digest
  5. Gmail Node - Send the digest to your team

Apify Actor Node Configuration:

{
"actorId": "clearpath/notebooklm-api",
"input": {
"email": "{{ $credentials.googleEmail }}",
"appPassword": "{{ $credentials.googleAppPassword }}"
}
}

Code Node - Extract Insights:

const notebooks = $input.all();
const insights = [];
for (const notebook of notebooks) {
for (const conv of notebook.json.conversations) {
for (const turn of conv.turns) {
if (turn.role === 'assistant' && turn.citations?.length > 0) {
insights.push({
notebook: notebook.json.projectTitle,
insight: turn.content.substring(0, 500),
sourceCount: turn.citations.length
});
}
}
}
}
return insights.slice(0, 10); // Top 10 insights

OpenAI Node Prompt:

You are a research analyst. Summarize these key insights from our NotebookLM research into a concise weekly digest:
{{ $json.insights }}
Format as a professional email with:
- Executive summary (2-3 sentences)
- Key findings (bullet points)
- Sources referenced
- Recommended actions

Other n8n Use Cases

  • Backup to Google Drive - Export → Format → Upload to Drive
  • Slack Notifications - Alert when new insights are captured
  • Notion Database - Sync notebooks to a Notion knowledge base
  • RAG Pipeline - Feed exports into a vector database for semantic search
  • Content Calendar - Extract topics → Schedule blog posts

Data Export Formats

Export your data in multiple formats from the Apify Console:

  • JSON - Full structured data with nested objects
  • CSV - Flattened for spreadsheet analysis
  • Excel - Direct import to Microsoft Excel
  • XML - For legacy system integration

FAQ

Is this official? Nope, just a side project. It uses your credentials to access your own notebooks - same as you would in a browser.

Is my data secure? Your App Password is encrypted and only used to authenticate. I don't store your notebook content - it streams straight to your dataset.

What's an App Password? A 16-character code that only gives access to NotebookLM, not your Gmail or Drive. You can revoke it anytime without changing your main password.

Why do I need 2FA? Google requires it for App Passwords. No way around it.

Can I export specific notebooks? Yes - pass the projectIds array. Run once without it to see all your notebook IDs.

Lots of notebooks? Handles large libraries fine. Built-in rate limiting and retries. Usually finishes in minutes.

Can I schedule exports? Yes, use Apify's scheduler for daily/weekly runs.


Roadmap

This Actor is under active development. Planned features:

  • Create notebooks - Programmatically create new NotebookLM projects
  • Add sources - Upload documents and URLs to notebooks via API
  • Generate podcasts - Trigger Audio Overview generation
  • Chat interface - Send queries to notebooks and get AI responses

Have a feature request? Open an issue or reach out!


Support

Email me at max@mapa.slmail.me or open an issue. I usually respond same-day.


This exports data from your own account using your credentials. You're responsible for complying with Google's ToS and any relevant data regulations (GDPR, etc.).