curl -sS \
-H "Authorization: Bearer $OXINSIDER_API_KEY" \
'https://api.0xinsider.com/api/v1/reports/weekly'import requests
url = "https://api.0xinsider.com/api/v1/reports/weekly"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.0xinsider.com/api/v1/reports/weekly', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.0xinsider.com/api/v1/reports/weekly",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.0xinsider.com/api/v1/reports/weekly"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.0xinsider.com/api/v1/reports/weekly")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.0xinsider.com/api/v1/reports/weekly")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"object": "report_snapshot",
"data": {
"kind": "weekly",
"generated_at": "2026-09-21T11:45:11.573440+00:00",
"source_range": {
"start_date": "2026-09-07",
"end_date": "2026-09-13",
"timezone": "UTC"
},
"snapshot": {
"version": 41,
"storage": "durable",
"status": "final",
"generated_at": "2026-09-21T11:45:11.573440+00:00",
"mutable_until": null,
"period_closed": true,
"final_after": "2026-09-14T02:05:30Z",
"source_read_started_at": null
},
"completeness": {
"status": "complete",
"reason": "the requested source range is closed and this body was read after the whale-trade ingestion budget elapsed; zero-activity dates are represented by absence of whale rows",
"expected_days": 7,
"covered_days_with_whale_activity": 7
},
"reconciliation": {
"volume_kind": "local_whale_activity_volume",
"whale_volume_source": "whale_alerts.usdc_notional_num (provider usdcSize when supplied; size*price fallback when the WS/REST payload omits it, until reconciled, #5430)",
"notes": "Report whale volume is a source-range snapshot over local whale-alert activity, not provider lifetime trader volume."
},
"report": {
"total_whale_trades": 370,
"total_large_trades": 370,
"total_whale_volume": 11017645.500849,
"total_large_trade_volume": 11017645.500849,
"biggest_trade_size": 491236.3567,
"active_traders": 153,
"top_whale_trades": [
{
"id": 12130,
"trade_time": "2026-09-09T23:21:04+00:00",
"side": "BUY",
"title": "US Open ATP: Alexander Zverev vs Botic van de Zandschulp",
"outcome": "Alexander Zverev",
"token_id": "9158437108174135547239483835198621883927847537872618727943792296109949759031",
"size": 491236.3567,
"price": 0.88,
"market_category": "Tennis",
"platform": "polymarket",
"name": "Noprajsk",
"pseudonym": null,
"trader_grade": null
},
{
"id": 12127,
"trade_time": "2026-09-09T23:19:42+00:00",
"side": "BUY",
"title": "US Open ATP: Alexander Zverev vs Botic van de Zandschulp",
"outcome": "Alexander Zverev",
"token_id": "9158437108174135547239483835198621883927847537872618727943792296109949759031",
"size": 378649.17296,
"price": 0.88,
"market_category": "Tennis",
"platform": "polymarket",
"name": "Noprajsk",
"pseudonym": null,
"trader_grade": null
}
],
"top_large_trades": [
{
"id": 12130,
"trade_time": "2026-09-09T23:21:04+00:00",
"side": "BUY",
"title": "US Open ATP: Alexander Zverev vs Botic van de Zandschulp",
"outcome": "Alexander Zverev",
"token_id": "9158437108174135547239483835198621883927847537872618727943792296109949759031",
"size": 491236.3567,
"price": 0.88,
"market_category": "Tennis",
"platform": "polymarket",
"name": "Noprajsk",
"pseudonym": null,
"trader_grade": null
},
{
"id": 12127,
"trade_time": "2026-09-09T23:19:42+00:00",
"side": "BUY",
"title": "US Open ATP: Alexander Zverev vs Botic van de Zandschulp",
"outcome": "Alexander Zverev",
"token_id": "9158437108174135547239483835198621883927847537872618727943792296109949759031",
"size": 378649.17296,
"price": 0.88,
"market_category": "Tennis",
"platform": "polymarket",
"name": "Noprajsk",
"pseudonym": null,
"trader_grade": null
}
],
"categories": [
{
"category": "Soccer",
"whale_trade_count": 120,
"category_volume": 3618430.255359
},
{
"category": "Tennis",
"whale_trade_count": 65,
"category_volume": 2751098.843941
}
],
"grade_distribution": []
}
},
"meta": {
"request_id": "req_example",
"cached": false,
"cost": 1
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}Weekly report snapshot
Get one ISO week, or one bounded UTC date range, as a report of large Polymarket trades with up to 100 top trades.
curl -sS \
-H "Authorization: Bearer $OXINSIDER_API_KEY" \
'https://api.0xinsider.com/api/v1/reports/weekly'import requests
url = "https://api.0xinsider.com/api/v1/reports/weekly"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.0xinsider.com/api/v1/reports/weekly', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.0xinsider.com/api/v1/reports/weekly",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.0xinsider.com/api/v1/reports/weekly"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.0xinsider.com/api/v1/reports/weekly")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.0xinsider.com/api/v1/reports/weekly")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"object": "report_snapshot",
"data": {
"kind": "weekly",
"generated_at": "2026-09-21T11:45:11.573440+00:00",
"source_range": {
"start_date": "2026-09-07",
"end_date": "2026-09-13",
"timezone": "UTC"
},
"snapshot": {
"version": 41,
"storage": "durable",
"status": "final",
"generated_at": "2026-09-21T11:45:11.573440+00:00",
"mutable_until": null,
"period_closed": true,
"final_after": "2026-09-14T02:05:30Z",
"source_read_started_at": null
},
"completeness": {
"status": "complete",
"reason": "the requested source range is closed and this body was read after the whale-trade ingestion budget elapsed; zero-activity dates are represented by absence of whale rows",
"expected_days": 7,
"covered_days_with_whale_activity": 7
},
"reconciliation": {
"volume_kind": "local_whale_activity_volume",
"whale_volume_source": "whale_alerts.usdc_notional_num (provider usdcSize when supplied; size*price fallback when the WS/REST payload omits it, until reconciled, #5430)",
"notes": "Report whale volume is a source-range snapshot over local whale-alert activity, not provider lifetime trader volume."
},
"report": {
"total_whale_trades": 370,
"total_large_trades": 370,
"total_whale_volume": 11017645.500849,
"total_large_trade_volume": 11017645.500849,
"biggest_trade_size": 491236.3567,
"active_traders": 153,
"top_whale_trades": [
{
"id": 12130,
"trade_time": "2026-09-09T23:21:04+00:00",
"side": "BUY",
"title": "US Open ATP: Alexander Zverev vs Botic van de Zandschulp",
"outcome": "Alexander Zverev",
"token_id": "9158437108174135547239483835198621883927847537872618727943792296109949759031",
"size": 491236.3567,
"price": 0.88,
"market_category": "Tennis",
"platform": "polymarket",
"name": "Noprajsk",
"pseudonym": null,
"trader_grade": null
},
{
"id": 12127,
"trade_time": "2026-09-09T23:19:42+00:00",
"side": "BUY",
"title": "US Open ATP: Alexander Zverev vs Botic van de Zandschulp",
"outcome": "Alexander Zverev",
"token_id": "9158437108174135547239483835198621883927847537872618727943792296109949759031",
"size": 378649.17296,
"price": 0.88,
"market_category": "Tennis",
"platform": "polymarket",
"name": "Noprajsk",
"pseudonym": null,
"trader_grade": null
}
],
"top_large_trades": [
{
"id": 12130,
"trade_time": "2026-09-09T23:21:04+00:00",
"side": "BUY",
"title": "US Open ATP: Alexander Zverev vs Botic van de Zandschulp",
"outcome": "Alexander Zverev",
"token_id": "9158437108174135547239483835198621883927847537872618727943792296109949759031",
"size": 491236.3567,
"price": 0.88,
"market_category": "Tennis",
"platform": "polymarket",
"name": "Noprajsk",
"pseudonym": null,
"trader_grade": null
},
{
"id": 12127,
"trade_time": "2026-09-09T23:19:42+00:00",
"side": "BUY",
"title": "US Open ATP: Alexander Zverev vs Botic van de Zandschulp",
"outcome": "Alexander Zverev",
"token_id": "9158437108174135547239483835198621883927847537872618727943792296109949759031",
"size": 378649.17296,
"price": 0.88,
"market_category": "Tennis",
"platform": "polymarket",
"name": "Noprajsk",
"pseudonym": null,
"trader_grade": null
}
],
"categories": [
{
"category": "Soccer",
"whale_trade_count": 120,
"category_volume": 3618430.255359
},
{
"category": "Tennis",
"whale_trade_count": 65,
"category_volume": 2751098.843941
}
],
"grade_distribution": []
}
},
"meta": {
"request_id": "req_example",
"cached": false,
"cost": 1
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}granularity selector.
Parameters
Send eitherweek, or both from and to. If you send none of them, you get 400 with error.param from. If you send all three, from and to decide the range.
| Parameter | Description |
|---|---|
week | An ISO week, written as YYYY-WW. The range runs Monday to Sunday and is kept as a durable snapshot. A week number of 00, or above 53, answers 400 with error.param week. |
from, to | A UTC date range, both written as YYYY-MM-DD and sent together. The range includes both dates and can be at most 31 days wide. |
400 with error.reason invalid_query and error.param from. A from later than to answers 400 with error.param from. Neither case is trimmed to fit.
When the numbers stop changing
A report isfinal only once its body is built after the range has closed and after the trades from those dates have had time to arrive. That cutoff is snapshot.final_after: the UTC close of end_date plus the 7,530-second ingestion budget.
Until that instant snapshot.status is rolling and every number can still move. A closed range refreshes every 5 minutes until final_after, is rebuilt once after it, and is then frozen.
Key response fields
| Field | Meaning |
|---|---|
source_range.start_date, end_date | The first and last UTC date the report covers. Read them back when you sent a week. |
snapshot.storage | durable for an ISO week, which is stored and versioned. ephemeral for a from and to range, which is computed for your request and not stored. |
snapshot.status | final for a frozen body, rolling while the numbers can still change. |
snapshot.period_closed | true once end_date has ended on the UTC calendar. A closed range is not yet a final one. |
snapshot.mutable_until | On a rolling body, the UTC date that final_after falls on. null once the body is final. |
snapshot.version | The content version of a durable ISO week. An ephemeral range always reports 0, because it is never stored under an identity of its own. |
completeness.status | empty when the range has no large trades, partial while the body is rolling, and complete once it is final. |
report.top_whale_trades | At most 100 trades for a weekly report, whichever range you asked for. |
report.total_whale_volume | The USD size of the large trades 0xinsider recorded in the range. It is not Polymarket’s lifetime volume for those wallets. |
Example
curl -H "Authorization: Bearer $OXINSIDER_API_KEY" \
"https://api.0xinsider.com/api/v1/reports/weekly?week=2026-19"
What it does not return
- A
404for a quiet week. A range with no large trades answers200withcompleteness.statusempty. - A trimmed range. A
fromandtorange wider than 31 inclusive UTC days answers400 invalid_queryinstead of being cut down to fit. - A settled figure while the range includes today, or in the 7,530 seconds after it ends. Wait for
snapshot.statusfinal. - A
fromandtorange on every request. When too many custom ranges are being computed at once, you get503witherror.reasonread_model_warmingand aRetry-Afterof 5 seconds.
Authorizations
Legacy default or named integration API key, or OAuth 2.1 access token, in the Authorization header as Bearer oxi_sk_live_... or Bearer oxi_at_.... Default keys retain full access; integration keys are limited to their approved read, webhooks, export and usage scopes and expire within 90 days. All credentials share the owner's account limits. Data calls require an active Pro subscription and return live data. A 401 carries WWW-Authenticate: Bearer resource_metadata="https://api.0xinsider.com/.well-known/oauth-protected-resource" (RFC 6750 section 3, RFC 9728).
Headers
Opt into strict query-name validation. The default is compatible: unknown names are ignored and reported in X-Query-Ignored. With strict, an unknown name returns 400 bad_request with error.reason unknown_query_parameter before the handler runs, including when its percent escape is incomplete.
strict Query Parameters
UTC source-range start in YYYY-MM-DD format; required with to. Together with to, selects an exact ephemeral range of at most 31 inclusive UTC days. A start after tomorrow UTC returns 400 bad_request with error.param=from.
^\d{4}-\d{2}-\d{2}$UTC source-range end in YYYY-MM-DD format; required with from. Together with from, selects an exact ephemeral range of at most 31 inclusive UTC days. An end before 2024-03-01, the first day report data covers, returns 400 bad_request with error.param=to.
^\d{4}-\d{2}-\d{2}$ISO week selector in YYYY-WW format; alternative to from/to. Selects a durable canonical snapshot. A week that ends before 2024-03-01, the first day report data covers, or starts after tomorrow UTC returns 400 bad_request with error.param=week.
^\d{4}-\d{2}$Was this page helpful?