Skip to main content
Back to App

Get Price History

GET/v1/markets/:id/prices-historyPublic

Retrieve historical price data for a specific outcome. Polymarket-compatible format with unix timestamps and configurable fidelity.

#Path Parameters

ParameterTypeRequiredDescription
idstringYesMarket UUID

#Query Parameters

ParameterTypeRequiredDefaultDescription
outcomeIdstringYesOutcome ID to get price history for
startTsnumberNo1 week agoStart unix timestamp (seconds)
endTsnumberNonowEnd unix timestamp (seconds)
fidelitynumberNo1Data fidelity in minutes. Higher values produce fewer data points.

#Response

{
  "history": [
    { "t": 1710000000, "p": 0.67 },
    { "t": 1710000300, "p": 0.68 },
    { "t": 1710000600, "p": 0.665 }
  ]
}

#Response Fields

FieldTypeDescription
historyarrayArray of price points
history[].tnumberUnix timestamp (seconds)
history[].pnumberClosing price for the interval (0-1)

#Notes

  • Price data is generated from filled and partially filled orders
  • Each data point represents the closing price within the fidelity interval
  • Higher fidelity values produce fewer, more aggregated data points
  • Use fidelity=5 for 5-minute candles, fidelity=60 for hourly, etc.

#Errors

StatusDescription
400Missing outcomeId or outcome does not belong to market
404Market or outcome not found

#Slug-based Alternative

If you're using WebSocket signals (which provide slug-based channel names like market:{slug}:price), you can use the slug-based endpoint instead to avoid maintaining a slug-to-UUID mapping:

GET /v1/markets/slug/:slug/prices-history

See Get Price History by Slug for details.

#Examples

#Last 24 hours with 5-minute fidelity

curl "https://api.conviction.bet/v1/markets/550e8400-e29b-41d4-a716-446655440000/prices-history?outcomeId=outcome-uuid-1&startTs=1709913600&endTs=1710000000&fidelity=5"

#Last week with default fidelity

curl "https://api.conviction.bet/v1/markets/550e8400-e29b-41d4-a716-446655440000/prices-history?outcomeId=outcome-uuid-1"
Was this page helpful?