search_id — alongside the first page of results. The handle, not the result blob, is the thing you keep. From it you can page deeper, stream the full result set, or save the query as a view, all without re-sending the query body.
Paging with cursors
Whenhas_more is true, the envelope includes an opaque next_cursor. Pass it back in the next request to continue from where you left off.
Streaming the full result set
To pull every result for a search as newline-delimited JSON, stream from the handle:Choosing the right traversal
Cursor
Inspect a little deeper. Short-lived, forward-only.
JSONL stream
Pull a search’s results into a script or notebook.
Export or view
Durable, exhaustive traversal of large or reusable result sets.
Pass handles, not JSON. When building agents or pipelines, hand off the
search_id, a view_id, or the JSONL endpoint rather than copying result dictionaries between steps.