Tape service

StreamTape, StreamQuotes and StreamCandles over gRPC.

Methods

FieldTypeDescription
StreamTapeserver streamEvery print across every venue. Filters: token_symbols, venues, kinds, min_size_usd, block range.
StreamQuotesserver streamConsolidated BBO with depth. Filter: min_move_bps.
StreamCandlesserver streamOHLCV 1s to 1d. Filter: exclude_session_crossing.

Example

import grpcfrom rhrpc.v1 import tape_pb2, tape_pb2_grpc channel = grpc.secure_channel(    "grpc.robinhoodrpc.io:443",    grpc.ssl_channel_credentials(),)stub = tape_pb2_grpc.TapeStub(channel) req = tape_pb2.StreamTapeRequest(    token_symbols=["AAPL", "NVDA"],    range=tape_pb2.BlockRange(from_block=4_200_000),  # omit to_block to tail) for print_ in stub.StreamTape(    req, metadata=(("authorization", "Bearer YOUR_KEY"),)):    handle(print_)

Correctness

Correctness note

tape_sequence is monotonic across the whole tape, not per instrument. Two consumers replaying the same range see identical order — that property is what makes it a canonical record rather than a feed, so do not re-sort by timestamp.

Related