Large fills
curl --request GET \
--url https://api.routeur.app/v1/insights/tape \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.routeur.app/v1/insights/tape"
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/insights/tape', 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/insights/tape"
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))
}{
"data": [
{
"market": {
"venue": "kalshi",
"id": "<string>",
"event_id": "<string>",
"title": "<string>",
"label": "<string>"
},
"taker_action": "buy",
"outcome": "<string>",
"price_usd": "<string>",
"quantity": "<string>",
"notional_usd": "<string>",
"executed_at": "2023-11-07T05:31:56Z",
"toward": "yes",
"block": true,
"archived": true
}
],
"graph_run": 2
}{
"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>"
}
}Signals
Large fills
The largest fills across venues, newest first, with the outcome each backs. Windows that reach back before the live trade feed include archived Polymarket fills, marked archived.
GET
/
v1
/
insights
/
tape
Large fills
curl --request GET \
--url https://api.routeur.app/v1/insights/tape \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.routeur.app/v1/insights/tape"
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/insights/tape', 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/insights/tape"
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))
}{
"data": [
{
"market": {
"venue": "kalshi",
"id": "<string>",
"event_id": "<string>",
"title": "<string>",
"label": "<string>"
},
"taker_action": "buy",
"outcome": "<string>",
"price_usd": "<string>",
"quantity": "<string>",
"notional_usd": "<string>",
"executed_at": "2023-11-07T05:31:56Z",
"toward": "yes",
"block": true,
"archived": true
}
],
"graph_run": 2
}{
"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>"
}
}Authorizations
apiKeybearer
Query Parameters
How far back to look. Beyond the live trade feed, fills come from imported history.
Required range:
1 <= x <= 720Smallest fill, in USD notional.
Required range:
100 <= x <= 1000000Fills to return, newest first.
Required range:
1 <= x <= 300