- A sequence number — read from an exact position.
- A timestamp — read from the first record at or after a given time.
- A tail offset — read the last N records from the current end of the stream.
Live tailing
Read sessions can transition directly into live tailing. When a read catches up to the current tail, the connection stays open and new records are delivered as they’re appended. If no stop condition is specified, the session follows the stream indefinitely. To stop at the tail instead of following, set a stop condition (count, bytes, or until).
In the SDKs, live tailing is available through the stream read session method. From the HTTP API directly, it is accessible by requesting an SSE stream response.
Long polling
Unary reads support await parameter that causes the request to block for up to the specified number of seconds if no new records are available. This is useful for simple consumers that poll rather than maintain a persistent session.

