GET /v1/products/{id}/history
Time-series price history with timeframe and retailer filters.
Request
GET /v1/products/{id}/history?timeframe=30d&retailer=walmartQuery parameters
| Name | Default | Description |
|---|---|---|
timeframe | 30d | 7d, 30d, 90d, 1y, all |
retailer | walmart | walmart, amazon, ebay, lowes, target, bestbuy, homedepot, or all |
Response
{
"identifier": "19667262713",
"retailer": "walmart",
"timeframe": "30d",
"observations": [
{ "observed_at": "2026-04-09T12:00:00Z", "price": 99.99, "in_stock": true },
{ "observed_at": "2026-04-10T12:00:00Z", "price": 99.99, "in_stock": true },
{ "observed_at": "2026-04-11T18:30:00Z", "price": 89.99, "in_stock": true },
...
],
"stats": {
"current": 100.56,
"lowest_30d": 89.99,
"highest_30d": 105.99,
"average_30d": 97.42,
"observation_count": 86
}
}Notes
- Walmart history goes back as far as our backend has captured (typically 1+ years for popular SKUs).
- Cross-retailer history starts from first lookup forward. New retailers ship with empty history that fills over time.
- Setting
retailer=allreturns observations across all retailers in one response, with aretailerfield on each row.
Cost
2 tokens per call regardless of timeframe. The all retailer filter does NOT cost more.