Query historical Hydra data over HTTP.
REST API Overview
The Hydra REST API gives you query access to historical stream data, signal history, and market snapshots. Use it alongside the WebSocket API — real-time events via WebSocket, historical queries via REST.
Base URL
https://api.hydra.fast/v1
Authentication
All /v1/* endpoints require authentication via an API key in the x-api-key header:
curl https://api.hydra.fast/v1/signals \
-H "x-api-key: hyd_a1b2c3d4..."
Privy Bearer tokens are also accepted in the Authorization header for browser sessions. See Wallet Authentication for the full setup flow and API Keys for key management.
Response Format
All responses are JSON. Successful responses:
{
"data": [...],
"meta": {
"total": 1842,
"limit": 50,
"offset": 0,
"hasMore": true
}
}
Error responses:
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API key"
}
}
Pagination
Use limit and offset for pagination:
GET /v1/signals?limit=100&offset=200
Maximum limit is 500. Default is 50.
Common Query Parameters
| Param | Type | Description |
|---|---|---|
limit |
integer | Results per page (max 500) |
offset |
integer | Pagination offset |
since |
string | ISO datetime or shorthand (1h, 6h, 24h, 7d) |
until |
string | ISO datetime upper bound |
lat |
number | Latitude for geo filter |
lng |
number | Longitude for geo filter |
radius |
number | Radius in km (requires lat+lng) |
Rate Limits
Rate limits apply per API key (per wallet):
| Tier | Requests / minute |
|---|---|
| Basic | 60 |
| Standard | 300 |
| Advanced | 1,000 |
| Full Access | 5,000 |
| Node Operator | Unlimited |
Rate limit headers are returned on every response:
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 1710000060