> ## Documentation Index
> Fetch the complete documentation index at: https://docs.llmquantdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Prediction Markets Price History

> Hourly or daily implied-probability history for one Prediction Markets outcome token.

<Note icon="sparkles">
  **Available as MCP tool**: `polymarket_price_history` - call directly from Claude / Cursor / any MCP client. See [MCP Server](/en/integration/mcp-server) for the 60-second setup.
</Note>

<Badge color="green" icon="circle-check">Live</Badge>
 
<Badge color="gray" size="sm">free</Badge>

## What it does for your agent

`polymarket_price_history` returns how one outcome's implied probability changed over time. Use it after your agent has selected a market outcome and needs a clean timeline for a chart, event recap, or probability-move explanation.

Pass an `outcome_token_id`, choose `1h` or `1d`, and optionally set a UTC time range. The response gives ordered points with `time`, `probability`, and `price`.

## Response

<ResponseField name="data" type="PolymarketPriceHistory" required>
  Probability history for one outcome token.

  <Expandable title="PolymarketPriceHistory fields">
    <ResponseField name="outcome_token_id" type="string" required>
      The outcome token you requested.
    </ResponseField>

    <ResponseField name="interval" type="string" required>
      `1h` or `1d`.
    </ResponseField>

    <ResponseField name="points" type="PolymarketPricePoint[]" required>
      Ordered probability points. Each point includes `time`, `probability`, and `price`.
    </ResponseField>

    <ResponseField name="coverage_status" type="string" required>
      Availability state for the requested token and time range.
    </ResponseField>

    <ResponseField name="coverage_notice" type="string" required>
      Short explanation of what data was available.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="data.count" type="number">Number of returned points.</ResponseField>

<ResponseField name="meta.creditsUsed" type="number">Always `0` for this call.</ResponseField>
<ResponseField name="meta.remainingCredits" type="number">Account credits remaining.</ResponseField>

```json title="200 OK · polymarket_price_history" expandable theme={null}
{
  "data": {
    "outcome_token_id": "98787006152320761811798607481686168525551752574583108841982899511109091268658",
    "interval": "1d",
    "points": [
      { "time": "2024-01-01T00:00:00Z", "probability": 0.39, "price": 0.39 },
      { "time": "2024-01-02T00:00:00Z", "probability": 0.42, "price": 0.42 }
    ],
    "coverage_status": "partial",
    "coverage_notice": "Partial probability history is available for the requested window.",
    "count": 2
  },
  "meta": { "creditsUsed": 0, "remainingCredits": 99 }
}
```

## Notes

<Tip>
  Start from [`Prediction Markets Events`](/en/api/prediction-markets/events), read the selected market, then pass one returned `outcome_token_id` here.
</Tip>

<Tip>
  Use `1d` for a simple timeline. Use `1h` when the agent needs to explain movement around a specific day or announcement.
</Tip>

<Warning>
  `interval` only accepts `1h` and `1d`. Requests such as `interval=15m` return `400` before any credit is charged.
</Warning>

<Warning>
  This returns implied-probability points for one outcome. It is not OHLCV data, an order book, trade history, or investment advice.
</Warning>

## Direct invocation

<Accordion title="HTTP / SDK examples" icon="terminal">
  <CodeGroup>
    ```typescript MCP (Claude / Cursor) theme={null}
    {
      "method": "tools/call",
      "params": {
        "name": "polymarket_price_history",
        "arguments": {
          "outcome_token_id": "98787006152320761811798607481686168525551752574583108841982899511109091268658",
          "interval": "1d",
          "start_time": "2024-01-01T00:00:00Z",
          "end_time": "2024-01-15T00:00:00Z"
        }
      }
    }
    ```

    ```python Python (HTTP) theme={null}
    import os, requests

    resp = requests.get(
        "https://api.llmquantdata.com/api/polymarket/price-history",
        headers={"Authorization": f"Bearer {os.environ['LLMQUANT_API_KEY']}"},
        params={
            "outcome_token_id": "98787006152320761811798607481686168525551752574583108841982899511109091268658",
            "interval": "1d",
            "start_time": "2024-01-01T00:00:00Z",
            "end_time": "2024-01-15T00:00:00Z",
        },
    ).json()
    print(resp["data"]["points"][:2])
    ```

    ```bash cURL theme={null}
    curl "https://api.llmquantdata.com/api/polymarket/price-history?outcome_token_id=98787006152320761811798607481686168525551752574583108841982899511109091268658&interval=1d&start_time=2024-01-01T00%3A00%3A00Z&end_time=2024-01-15T00%3A00%3A00Z" \
      -H "Authorization: Bearer $LLMQUANT_API_KEY"
    ```
  </CodeGroup>
</Accordion>

## Full parameter reference

<Accordion title="polymarket_price_history — request parameters" icon="chart-line">
  <ParamField query="outcome_token_id" type="string" required>
    Outcome token id returned by `polymarket_market_read`.
  </ParamField>

  <ParamField query="interval" type="string" required>
    `1h` or `1d`.
  </ParamField>

  <ParamField query="start_time" type="string">ISO 8601 UTC start. Must be used with `end_time`.</ParamField>
  <ParamField query="end_time" type="string">ISO 8601 UTC end. Must be used with `start_time`.</ParamField>
  <ParamField query="limit" type="number">Optional maximum points returned. Range `1-20000`.</ParamField>
</Accordion>

## Related

<Columns cols={2}>
  <Card title="Prediction Markets Events" icon="gauge-high" href="/en/api/prediction-markets/events">
    Browse, search, and read event cards before selecting a market.
  </Card>

  <Card title="Prediction Markets Market Details" icon="file-lines" href="/en/api/prediction-markets/markets">
    Read market outcomes and copy the `outcome_token_id` you need.
  </Card>
</Columns>
