Answer a question about a page
POST /v1/articles/search ranks the article’s paragraphs against your query and
returns only the ones that matter.
Response
Cite the anchor, not a fragment
anchor is the paragraph’s index within the article. Quote it as plain text
beside the source URL — ¶12 — and pass it back as a cursor to continue
reading from there.
Read the whole thing, within a budget
POST /v1/articles/read returns a window sized to maxTokens and a
nextCursor for the next one. nextCursor is null when you reach the end.
Python
fromAnchor, toAnchor, and an outline of the
headings it spans, so you can decide whether the next window is worth fetching
at all.
nextCursor on POST /v1/articles/read and POST /v1/articles/search is a
number, not a string — unlike library and feed cursors. See
Cursors and paging.Take the whole text
POST /v1/articles/extract returns everything in one response.
article object with content, contentCharacters,
returnedCharacters, truncated, cacheHit, qualityStatus, and headings.
Check truncated before assuming you have the full text.
What it costs
A request that smry can serve from cache spends one operation. A request that has to fetch and parse the page spends an operation and a fresh extraction — a separate, much smaller budget.cacheHit in the response tells
you which one happened.
So: reuse URLs, keep the cursors you were given, and do not re-extract a page
you already read. Numbers are in Rate limits.
When a page cannot be read
smry does not bypass hard paywalls, sign-in walls, or private networks. A page
behind one returns an error rather than partial text.
Next
Work with the library
Keep what you read, and search it later.
Common mistakes
Including the most expensive one: extracting when you could search.