Query historical data for any stream via REST.
Historical Stream Data
Each stream is queryable via REST for historical data. The endpoint pattern is /v1/streams/{stream_id}.
GET /v1/streams/:stream
Returns historical events for a given stream.
Valid stream IDs: aircraft, vessels, alerts, cyber, airspace, signals, markets, social, earthquakes
Query Parameters:
| Param | Type | Description |
|---|---|---|
since |
string | Start time |
until |
string | End time |
type |
string | Filter by message type (e.g. position_update) |
lat, lng, radius |
number | Geo filter |
limit |
integer | Max results (500) |
offset |
integer | Pagination |
Example — aircraft last 24 hours:
curl "https://api.hydra.app/v1/streams/aircraft?since=24h&limit=200" \
-H "Authorization: Bearer <jwt>"
Example — missile alerts in the last 7 days:
curl "https://api.hydra.app/v1/streams/alerts?since=7d&type=alert_issued" \
-H "Authorization: Bearer <jwt>"
Response:
{
"data": [
{
"stream": "alerts",
"type": "alert_issued",
"ts": 1710000000000,
"data": {
"id": "alert-20240315-001",
"threat": "Missile",
"cities": ["Tel Aviv"],
...
}
}
],
"meta": { "total": 14, "limit": 200, "offset": 0, "hasMore": false }
}
Note
Historical data availability depends on your tier. Basic tier has access to the last 7 days. Advanced and above have access to the full archive.
Data Retention
| Tier | Historical Access |
|---|---|
| Basic | 7 days |
| Standard | 30 days |
| Advanced | 90 days |
| Full Access | Full archive |
| Node Operator | Full archive |