---
title: "Stream feeds over SSE"
method: GET
path: "/v1/stream"
tags: ["Stream"]
---

# Stream feeds over SSE

`GET /v1/stream`

## Request

- Base URL: `https://api.racehooks.io`
- URL: `https://api.racehooks.io/v1/stream`
- Auth: none declared

Subscribe to real-time F1 timing feeds over Server-Sent Events (SSE) — no public webhook server required. Open this URL with the browser `EventSource` API or any SSE client.

**Auth:** `Authorization: Bearer <token>` header, or `?token=<token>` query param (for `EventSource`, which cannot set headers).

**Feeds:** `?feeds=events.race,timing.data` for specific feeds, or `?feeds=*` for every feed your tier allows. Ids are the canonical catalog ids listed by `GET /v1/feeds`.

**Wire format:** each event is an SSE frame `event: <feedType>\ndata: <json>\n\n`. Use `source.addEventListener('<feedType>', ...)` to handle individual feeds. A `ping` event is sent every 30s to keep the connection alive through proxies.

**Tier gating:** requesting a feed above your plan returns 403 before the stream opens.

## Query parameters

- `feeds` string
- `token` string

## Response `200`

Default Response

---

[API](https://skmtc.dev/racehooks/apis/racehooks-api.md) · [All operations](https://skmtc.dev/racehooks/apis/racehooks-api/llms.txt) · [OpenAPI document](https://skmtc.dev/racehooks/apis/racehooks-api/revisions/2335b73f46e4?raw)
