Skip to main content
GET
/
polymarket
/
asset-history
Get asset price history
curl --request GET \
  --url https://api.struct.to/v1/polymarket/asset-history
[
  {
    "asset_symbol": "<string>",
    "asset_open_price": 123,
    "asset_close_price": 123,
    "variant": "<string>",
    "start_time": 123,
    "end_time": 123,
    "price_change_percentage": 123,
    "outcome": "<string>"
  }
]

Query Parameters

asset_symbol
enum<string>
required

Asset ticker: BTC, ETH, XRP, SOL, DOGE, BNB, or HYPE

Available options:
BTC,
ETH,
XRP,
SOL,
DOGE,
BNB,
HYPE
variant
enum<string>
required

Time window: 5m, 15m, 1h, 4h, or 1d

Available options:
5m,
15m,
1h,
4h,
1d
from
integer<int64>

Start timestamp (Unix seconds, inclusive)

to
integer<int64>

End timestamp (Unix seconds, inclusive, defaults to now)

limit
integer<int64>

Number of results (default: 10, max: 100)

pagination_key
string

Cursor-based pagination key Obtained from previous response's pagination.pagination_key. Pass this to fetch the next page of results.

Response

Asset price history records, sorted newest first. Response includes pagination: { has_more, pagination_key } for cursor-based pagination.

asset_symbol
string
required
asset_open_price
number<double>
required

Opening price at start_time (cast to f64 from NUMERIC in query)

asset_close_price
number<double>
required

Closing price at end_time (cast to f64 from NUMERIC in query)

variant
string
required

Time window: "5m", "15m", "1h", "1d"

start_time
integer<int64>
required

Window start timestamp (seconds since epoch)

end_time
integer<int64>
required

Window end timestamp (seconds since epoch)

price_change_percentage
number<double> | null
outcome
string | null

Generated column: "up" if close > open, "down" if close ≤ open, null if no close yet

Last modified on March 17, 2026