Module 3 · Files, tools and your own data Lesson 10 of 15
Enterprise notebook APIs and the underlying Gemini API and your first script
NotebookLM itself is a product rather than an API, but the same grounding pattern — restrict a model to supplied documents and force it to cite them — is available through the underlying Gemini API and is the most useful thing to copy from it. You do not need this to finish the course, and you do not need it for a fresher job either — but an afternoon here is what turns "I have used NotebookLM" into "I have built with it", which is a different sentence in an interview.
The concept
NotebookLM itself is a product rather than an API, but the same grounding pattern — restrict a model to supplied documents and force it to cite them — is available through the underlying Gemini API and is the most useful thing to copy from it. The idea is simple: the same model you have been chatting with also answers a web request, so you can put it inside a script, a spreadsheet or a page. A key identifies you; a request sends the text; a response comes back as data.
The reason to try it once, even if you never build anything: it makes the chat version less mysterious. You see that the whole conversation is text in and text out, that your instructions are literally lines of a request, and that "the model" is one parameter among several.
A first call looks like this:
from google import genai
client = genai.Client()
notes = open('lecture-notes.txt').read()
prompt = (
'Using ONLY the document between the markers, list the three main ideas ''and quote the sentence behind each. If the answer is not in the document, ''say NOT FOUND.\n\n---DOC---\n' + notes + '\n---END---'
)
r = client.models.generate_content(
model='gemini-2.5-flash',
contents=prompt,
)
print(r.text)Common mistakes
The mistake is assuming an instruction to stay inside a document is a guarantee. It is a strong tendency, not a firewall — check the quotes, because a model told to cite can still cite the wrong line.
Worked example
A script that takes a folder of your own PDFs and answers questions only from them, refusing to guess, is the pattern to reimplement, and it is the safest way to build on a model.
Your practice task
Get a key, run one request that works, and change one word in it to see the answer change. That is the whole of the first afternoon.
Do this before moving on. Reading a solution teaches the shape of it; typing it teaches you.
Key takeaway
NotebookLM itself is a product rather than an API, but the same grounding pattern — restrict a model to supplied documents and force it to cite them — is available through the underlying Gemini API and is the most useful thing to copy from it. The idea is simple: the same model you have been chatting with also answers a web request, so you can put it inside a script, a spreadsheet or a page. A key identifies you; a request sends the text; a response comes back as data.
Keep your place in this course
A free account saves which lessons you have finished and unlocks the certificate. The lesson itself stays free to read.
Create free account or sign inCourse complete
You finished every lesson.
Your certificate is ready, and the projects you built are the proof to attach to an application.
Almost there
15 lessons left of 15
Finish every lesson to unlock the certificate. Each one ends in a practice task — do them and the final project brief writes itself.