Retrieve a notebook
September 29, 2026
Table of contents
Read a notebook live from Google: its title, every source with its processing status, and every Studio artifact it holds.
Sources are processed by Google after they are added. Poll this endpoint until the sources you need show status: ready before you chat or generate artifacts. The artifacts list here is the short form (id, title, type, status). Use GET /artifacts/artifact for an artifact’s content and download links.
https://api.useapi.net/v1/gemini-notebook/notebooks/
notebook
notebookis required, the notebook id returned by POST /notebooks or GET /notebooks. It contains:and@, so URL-encode it in the path (encodeURIComponentin JavaScript).
Example:user%3A12345-user%40example.com-notebook%3Ad02c903b-17f8-4241-a263-2be9e7359d55
Request Headers
Authorization: Bearer {API token}
API tokenis required, see Setup useapi.net for details.
Responses
-
{ "notebook": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55", "email": "[email protected]", "title": "Apollo 11", "emoji": "🚀", "created": "2026-09-27T23:24:40.000Z", "updated": "2026-09-27T23:25:32.000Z", "sources": [ { "source": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55:5a5455b1-0557-4fa4-a8a8-52f60dffa113", "title": "01-apollo11-wikipedia.pdf", "kind": "pdf", "status": "ready", "words": 21578, "mimeType": "application/pdf", "created": "2026-09-27T23:24:53.000Z" }, { "source": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55:9732772d-0111-447b-ba78-9eec2c1c2ffe", "title": "A New Look at the Apollo 11 Landing Site", "kind": "youtube", "status": "ready", "words": 13, "url": "https://www.youtube.com/watch?v=xUcYQ7slmRw", "created": "2026-09-27T23:24:43.000Z" }, { "source": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55:c1182943-b7f0-4e89-82bc-8b3614cfb78f", "title": "Apollo 11 - Wikipedia", "kind": "web", "status": "ready", "words": 25492, "url": "https://en.wikipedia.org/wiki/Apollo_11", "created": "2026-09-27T23:24:43.000Z" } ], "artifacts": [ { "artifact": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55:4ae7c76c-18f5-44a1-a54c-8158327528e3", "title": "50 Seconds from Lunar Disaster", "type": "video", "status": "completed", "created": "2026-09-27T23:51:17.000Z" }, { "artifact": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55:ae28f2a1-678b-4304-9806-09648fcb77a0", "title": "Apollo 11 Flight Plan", "type": "slides", "status": "completed", "created": "2026-09-27T23:31:15.000Z" } ] } -
{ "error": "Path parameter notebook (abc) is not a valid notebook id", "code": 400 } -
Invalid API token.
{ "error": "useapi.net ⁝ Unauthorized", "code": 401 } -
The notebook id was issued to a different API token.
{ "error": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55 does not belong to this API token", "code": 403 } -
The notebook was deleted, or its account is no longer configured.
{ "error": "Not found on account [email protected] (Google rLM1Ne grpc 5)", "code": 404 }{ "error": "Account [email protected] of user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55 is not configured", "code": 404 } -
596 Account Error
Google reported the account as signed out. While we re-check it, the answer is the first message below. Retry in about a minute. If it stays signed out, the account is paused, you receive an email, and the answer becomes the second message until you re-add it via Setup Gemini Notebook.
{ "error": "Google reported this account as signed out. We are re-checking it — please retry in about a minute. If it stays signed out, you will receive a re-add email.", "code": 596 }{ "error": "Account [email protected]: Google signed this account out. Re-add it at https://useapi.net/docs/start-here/setup-gemini-notebook", "code": 596 } -
Google is temporarily unavailable, retry shortly. A
502means Google answered with an unexpected error.{ "error": "Google is temporarily unavailable (rLM1Ne grpc 14), please retry", "code": 503 }
Source and artifact values
Each source carries a kind and a status:
| kind | Source |
|---|---|
web | Web page URL |
youtube | YouTube video URL |
text | Pasted text, or an uploaded .txt file |
pdf | PDF file |
docx | Word document |
pptx | PowerPoint presentation |
epub | EPUB e-book |
markdown | Markdown file, a note converted with POST /notes/source, or a Deep Research report added with POST /research/import |
csv | CSV file |
media | Audio or video file (e.g. .mp3, .mp4) |
image | Image file (e.g. .jpg) |
google_docs | A Google Doc from Google Drive (drive parameter) |
drive | A Google Drive file that is not a Google Doc, such as a .docx or .pptx (drive parameter) |
A kind Google adds later is returned as kind<N>, with Google’s own number.
| status | Meaning |
|---|---|
preparing | The file was received and is waiting to be processed. New uploads start here. |
processing | Google is reading the source. |
ready | The source can be used by chat and Studio. |
error | Google could not process the source. |
An unrecognised status is returned as status<N>.
Each artifact carries a type and a status:
| Field | Values |
|---|---|
artifact type | audio, video, report, interactive_report, table, quiz, flashcards, infographic, slides, mindmap |
artifact status | pending, processing, completed, failed, pending_review |
An artifact type or status Google adds later is returned as type<N> or status<N>, with Google’s number.
Model
{ // TypeScript, all fields are optional
notebook: string
email: string // the account the notebook lives on
title: string
emoji: string | null
created: string | null // ISO 8601
updated: string | null // ISO 8601
sources: {
source: string // user:<userId>-<email>-source:<notebookUuid>:<sourceUuid>
title: string
kind: string // see the table above
status: string // see the table above
words?: number // word count, once Google has read the source
url?: string // web page or YouTube URL
mimeType?: string // uploaded files
driveFileId?: string // Google Drive sources: the Drive file id
created?: string // ISO 8601
}[]
artifacts: {
artifact: string // user:<userId>-<email>-artifact:<notebookUuid>:<artifactUuid>
title: string
type: string // see the table above
status: string // see the table above
created: string | null // ISO 8601
}[]
error: string // error responses only
code: number // error responses only, the HTTP status
}
Examples
-
curl "https://api.useapi.net/v1/gemini-notebook/notebooks/user%3A12345-user%40example.com-notebook%3Ad02c903b-17f8-4241-a263-2be9e7359d55" \ -H "Accept: application/json" \ -H "Authorization: Bearer …" -
const token = "API token"; const notebook = "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55"; const apiUrl = `https://api.useapi.net/v1/gemini-notebook/notebooks/${encodeURIComponent(notebook)}`; const response = await fetch(apiUrl, { headers: { "Authorization": `Bearer ${token}`, }, }); const result = await response.json(); console.log("response", {response, result}); -
import requests, urllib.parse token = "API token" notebook = "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55" apiUrl = "https://api.useapi.net/v1/gemini-notebook/notebooks/" + urllib.parse.quote(notebook, safe="") headers = { "Authorization" : f"Bearer {token}" } response = requests.get(apiUrl, headers=headers) print(response, response.json())