Historical funding rates
Query paginated funding observations directly from the historical REST API.
GET
Historical funding rates
Use
Use Catalog to find exact source and market IDs.
Example response shape:
GET /historical/funding-rates to read partial funding observations in global collector-time order. These are flat REST rows, rather than the point-series event envelopes described on the Funding rates schema page. A row only reports values published in that observation; do not carry omitted venue fields forward as if the API supplied a complete state.
Access and time range
Omit bothstart and end to query the latest ten minutes without authentication. Supply either bound to query a chosen interval with a Polaris API key in Authorization: Bearer YOUR_API_KEY. start and end are inclusive collector timestamps in Unix milliseconds. With only start, the query runs through now; with only end, it covers the preceding ten minutes.
Query parameters
string
Exact source ID. Omit to query across sources.
string
Exact normalized routing market. Omit to query across markets.
string
Venue-native instrument filter.
integer
Inclusive collector time in Unix milliseconds. Requires a Polaris API key.
integer
Inclusive collector time in Unix milliseconds. Requires a Polaris API key.
integer
default:200
Page size from
1 to 1000.string
Opaque
next_cursor from the previous page of the same query.Request and response
items contains flat rows ordered by collector_timestamp across matching sources. event_id, source, market, collector_timestamp, source_capture_id, and schema_version are required. funding_rate, predicted_funding_rate, and premium are nullable decimal strings; funding_timestamp and exchange_timestamp are nullable Unix-millisecond integers. A null value means that observation did not supply that field.
Pagination and errors
Whenhas_more is true, send next_cursor as cursor while keeping the other query parameters unchanged. Stop when has_more is false; next_cursor is then null or absent.
The API documents 400 for an invalid request, 401 when authentication is needed, 422 when query work exceeds its limit, 429 when the request quota is exceeded, and 503 when the service is unavailable. Narrow the requested time range after a 422; respect Retry-After after a 429. Errors have an error object with code, message, and resolution.
Related documentation
- Funding rates schema for SDK and snapshot event fields
- Python SDK, TypeScript SDK, and Rust SDK for client methods
- Snapshots for bulk historical files