List events related by meaning
curl --request GET \
--url https://api.routeur.app/v1/events/{venue}/{id}/related \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.routeur.app/v1/events/{venue}/{id}/related"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.routeur.app/v1/events/{venue}/{id}/related', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.routeur.app/v1/events/{venue}/{id}/related"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"graph_run": 4812,
"data": [
{
"similarity": 0.9123,
"reason": {
"kind": "team",
"label": "kansas city chiefs",
"text": "Same team: Kansas City Chiefs"
},
"event": {
"venue": "kalshi",
"id": "KXNFLGAME-26SEP27KCLV",
"title": "Kansas City at Las Vegas",
"category": "Sports",
"venues": [
"kalshi",
"polymarket"
],
"twin": {
"venue": "polymarket",
"id": "nfl-kc-lv-2026-09-27"
},
"markets": 2,
"mutually_exclusive": true,
"starts_at": "2026-09-27T20:05:00Z",
"volume_24h_usd": "184220.50",
"trades_24h": 1222,
"outcomes": [
{
"label": "Kansas City",
"venue": "kalshi",
"market_id": "KXNFLGAME-26SEP27KCLV-KC",
"title": "Kansas City at Las Vegas winner?",
"chance": "0.6850",
"prices": [
{
"venue": "kalshi",
"market_id": "KXNFLGAME-26SEP27KCLV-KC",
"yes_ask_usd": "0.69",
"no_ask_usd": "0.32",
"volume_24h_usd": "74200.00",
"spread_usd": "0.01",
"trades_24h": 812,
"liquidity": "deep"
},
{
"venue": "polymarket",
"market_id": "nfl-kc-lv-2026-09-27-kc",
"yes_ask_usd": "0.68",
"no_ask_usd": "0.33",
"volume_24h_usd": "46200.00",
"spread_usd": "0.01",
"trades_24h": 410,
"liquidity": "deep"
}
],
"best_venue": "polymarket",
"volume_24h_usd": "120400.00",
"volume_source": "venue",
"spread_usd": "0.01",
"trades_24h": 1222,
"liquidity": "deep"
}
]
}
},
{
"similarity": 0.8411,
"reason": {
"kind": "entity",
"label": "kansas city chiefs",
"text": "Also about Kansas City Chiefs"
},
"event": {
"venue": "kalshi",
"id": "KXSB-27",
"title": "Super Bowl champion",
"category": "Sports",
"venues": [
"kalshi"
],
"markets": 32,
"mutually_exclusive": true,
"closes_at": "2027-02-14T23:30:00Z",
"volume_24h_usd": "96310.00",
"trades_24h": 96,
"outcomes": [
{
"label": "Kansas City",
"venue": "kalshi",
"market_id": "KXSB-27-KC",
"title": "Will Kansas City win the Super Bowl?",
"chance": "0.1450",
"prices": [
{
"venue": "kalshi",
"market_id": "KXSB-27-KC",
"yes_ask_usd": "0.15",
"no_ask_usd": "0.86",
"volume_24h_usd": "12050.00",
"spread_usd": "0.01",
"trades_24h": 96,
"liquidity": "tradeable"
}
],
"volume_24h_usd": "12050.00",
"volume_source": "venue",
"spread_usd": "0.01",
"trades_24h": 96,
"liquidity": "tradeable"
}
]
}
}
]
}{
"error": {
"code": "invalid_parameter",
"message": "Invalid or unsupported query parameter: limit."
}
}{
"error": {
"code": "api_key_required",
"message": "Send an API key in the X-API-Key header or as a Bearer token."
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Events
List events related by meaning
Open events that mean something close to this one, for “more like this”. Nearness is the cosine similarity of the embeddings free-text search uses, which are built from each event’s title, outcomes and labels. Unlike relations, nothing here is proven: two related events can resolve independently.
What comes back is filtered to be worth a look:
- Only listed events that can still be traded: closed events, games already under way, and one-winner events whose leading outcome costs 97¢ or more are left out, as are the event itself, its twin, and the same question listed on the other venue without a proven twin.
- A neighbour is kept when its meaning is very close, or when it is reasonably close and shares a labeled name or subject with the event.
- Instances of one recurring question collapse to the best of them: every day of a price range, or every game of the same team, shows once. At most one other instance of this event’s own series is kept, ranked below new questions.
- Order is by similarity, nudged toward what traded today.
Each result says why in reason. An event not yet labeled has no
related events. Results are cached for two minutes.
GET
/
v1
/
events
/
{venue}
/
{id}
/
related
List events related by meaning
curl --request GET \
--url https://api.routeur.app/v1/events/{venue}/{id}/related \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.routeur.app/v1/events/{venue}/{id}/related"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.routeur.app/v1/events/{venue}/{id}/related', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.routeur.app/v1/events/{venue}/{id}/related"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"graph_run": 4812,
"data": [
{
"similarity": 0.9123,
"reason": {
"kind": "team",
"label": "kansas city chiefs",
"text": "Same team: Kansas City Chiefs"
},
"event": {
"venue": "kalshi",
"id": "KXNFLGAME-26SEP27KCLV",
"title": "Kansas City at Las Vegas",
"category": "Sports",
"venues": [
"kalshi",
"polymarket"
],
"twin": {
"venue": "polymarket",
"id": "nfl-kc-lv-2026-09-27"
},
"markets": 2,
"mutually_exclusive": true,
"starts_at": "2026-09-27T20:05:00Z",
"volume_24h_usd": "184220.50",
"trades_24h": 1222,
"outcomes": [
{
"label": "Kansas City",
"venue": "kalshi",
"market_id": "KXNFLGAME-26SEP27KCLV-KC",
"title": "Kansas City at Las Vegas winner?",
"chance": "0.6850",
"prices": [
{
"venue": "kalshi",
"market_id": "KXNFLGAME-26SEP27KCLV-KC",
"yes_ask_usd": "0.69",
"no_ask_usd": "0.32",
"volume_24h_usd": "74200.00",
"spread_usd": "0.01",
"trades_24h": 812,
"liquidity": "deep"
},
{
"venue": "polymarket",
"market_id": "nfl-kc-lv-2026-09-27-kc",
"yes_ask_usd": "0.68",
"no_ask_usd": "0.33",
"volume_24h_usd": "46200.00",
"spread_usd": "0.01",
"trades_24h": 410,
"liquidity": "deep"
}
],
"best_venue": "polymarket",
"volume_24h_usd": "120400.00",
"volume_source": "venue",
"spread_usd": "0.01",
"trades_24h": 1222,
"liquidity": "deep"
}
]
}
},
{
"similarity": 0.8411,
"reason": {
"kind": "entity",
"label": "kansas city chiefs",
"text": "Also about Kansas City Chiefs"
},
"event": {
"venue": "kalshi",
"id": "KXSB-27",
"title": "Super Bowl champion",
"category": "Sports",
"venues": [
"kalshi"
],
"markets": 32,
"mutually_exclusive": true,
"closes_at": "2027-02-14T23:30:00Z",
"volume_24h_usd": "96310.00",
"trades_24h": 96,
"outcomes": [
{
"label": "Kansas City",
"venue": "kalshi",
"market_id": "KXSB-27-KC",
"title": "Will Kansas City win the Super Bowl?",
"chance": "0.1450",
"prices": [
{
"venue": "kalshi",
"market_id": "KXSB-27-KC",
"yes_ask_usd": "0.15",
"no_ask_usd": "0.86",
"volume_24h_usd": "12050.00",
"spread_usd": "0.01",
"trades_24h": 96,
"liquidity": "tradeable"
}
],
"volume_24h_usd": "12050.00",
"volume_source": "venue",
"spread_usd": "0.01",
"trades_24h": 96,
"liquidity": "tradeable"
}
]
}
}
]
}{
"error": {
"code": "invalid_parameter",
"message": "Invalid or unsupported query parameter: limit."
}
}{
"error": {
"code": "api_key_required",
"message": "Send an API key in the X-API-Key header or as a Bearer token."
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
apiKeybearer
Path Parameters
The venue the market is listed on.
Available options:
kalshi, polymarket The venue's event id. A twin event's id reads the event it is listed with.
Pattern:
^[A-Za-z0-9][A-Za-z0-9_.-]{0,199}$Query Parameters
Related events to return.
Required range:
1 <= x <= 24Only related events listed on both venues.