# Price OHLCV

## Get Token OHLCV Data

> Get unified OHLCV (Open, High, Low, Close, Volume) data for tokens across supported chains.\
> \
> This endpoint unifies the legacy TGM prices endpoints (\`/tgm/prices/low-timeframe\` and \`/tgm/prices/high-timeframe\`)\
> into a single endpoint with support for multiple timeframes:\
> \
> \*\*Low timeframes\*\* (sub-hourly): \`1m\`, \`5m\`, \`15m\`, \`30m\`, \`1h\`\
> \*\*High timeframes\*\* (multi-hour): \`4h\`, \`1d\`, \`1w\`, \`1M\`\
> \
> Returns OHLCV candle data including:\
> \- \*\*Price data\*\*: open, high, low, close prices\
> \- \*\*Volume data\*\*: trading volume in token units and USD\
> \- \*\*Market cap data\*\*: market capitalization at each time point\
> \
> Date range defaults to the last 30 days if not specified.

```json
{"openapi":"3.1.0","info":{"title":"Nansen API","version":"1.0.0"},"servers":[{"url":"https://api.nansen.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"apiKey","description":"API key for authentication"}},"schemas":{"TokenOHLCVRequest":{"properties":{"chain":{"$ref":"#/components/schemas/TGMOHLCVChain","description":"Blockchain chain"},"token_address":{"type":"string","title":"Token Address","description":"Token contract address"},"date_range":{"anyOf":[{"$ref":"#/components/schemas/TokenOHLCVDateRange"}],"description":"DEPRECATED: Use 'date' instead. Date range with start/end fields.","deprecated":true},"date":{"anyOf":[{"$ref":"#/components/schemas/DateRange"}],"description":"Date range for the data (defaults to last 30 days if not specified)"},"timeframe":{"$ref":"#/components/schemas/ResolutionEnum","description":"Time resolution for OHLCV data"}},"additionalProperties":false,"type":"object","required":["chain","token_address","timeframe"],"title":"TokenOHLCVRequest","description":"Request model for Token OHLCV endpoint.\n\nThis endpoint provides unified OHLCV (Open, High, Low, Close, Volume) data\nfor tokens across supported chains with different time resolutions."},"TGMOHLCVChain":{"type":"string","enum":["algorand","aptos","arbitrum","avalanche","base","bitcoin","bitlayer","bnb","chiliz","ethereum","gravity","hyperevm","hyperliquid","injective","iotaevm","linea","mantle","monad","near","optimism","plasma","polygon","ronin","scroll","sei","solana","sonic","stacks","starknet","stellar","sui","ton","tron","viction"],"title":"TGMOHLCVChain","description":"Chains supported for TGM OHLCV endpoint (includes Bitcoin)."},"TokenOHLCVDateRange":{"properties":{"start":{"type":"string","title":"Start","description":"Start date and time (ISO format)"},"end":{"type":"string","title":"End","description":"End date and time (ISO format)"}},"type":"object","required":["start","end"],"title":"TokenOHLCVDateRange","description":"DEPRECATED: Use 'date' field with standard DateRange instead."},"DateRange":{"properties":{"from":{"anyOf":[{"type":"string"}],"title":"From","description":"Start date in ISO 8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01)"},"to":{"anyOf":[{"type":"string"}],"title":"To","description":"End date in ISO 8601 format (e.g., 2025-01-31T23:59:59Z or 2025-01-31)"}},"type":"object","title":"DateRange","description":"Date range model matching the API schema."},"ResolutionEnum":{"type":"string","enum":["1m","5m","15m","30m","1h","4h","1d","1w","1M"],"title":"ResolutionEnum","description":"Supported OHLCV resolution values."},"TokenOHLCVResponse":{"properties":{"chain":{"type":"string","title":"Chain","description":"Blockchain chain"},"token_address":{"type":"string","title":"Token Address","description":"Token contract address"},"timeframe":{"type":"string","title":"Timeframe","description":"Time resolution used"},"data":{"items":{"$ref":"#/components/schemas/OHLCVCandle"},"type":"array","title":"Data","description":"OHLCV candle data points, ordered by interval_start"}},"type":"object","required":["chain","token_address","timeframe","data"],"title":"TokenOHLCVResponse","description":"Response model for Token OHLCV endpoint.\n\nContains the requested OHLCV data with metadata about the request parameters."},"OHLCVCandle":{"properties":{"interval_start":{"type":"string","title":"Interval Start","description":"Start time of the candle interval (ISO datetime string)"},"open":{"anyOf":[{"type":"number"}],"title":"Open","description":"Opening price"},"high":{"anyOf":[{"type":"number"}],"title":"High","description":"Highest price in the interval"},"low":{"anyOf":[{"type":"number"}],"title":"Low","description":"Lowest price in the interval"},"close":{"anyOf":[{"type":"number"}],"title":"Close","description":"Closing price"},"volume":{"anyOf":[{"type":"number"}],"title":"Volume","description":"Trading volume in token units"},"volume_usd":{"anyOf":[{"type":"number"}],"title":"Volume Usd","description":"Trading volume in USD"},"market_cap":{"$ref":"#/components/schemas/MarketCapData","description":"Market capitalization data for the candle"}},"type":"object","required":["interval_start","market_cap"],"title":"OHLCVCandle","description":"Individual OHLCV candle data point."},"MarketCapData":{"properties":{"open":{"anyOf":[{"type":"number"}],"title":"Open","description":"Market cap at candle open"},"high":{"anyOf":[{"type":"number"}],"title":"High","description":"Highest market cap in the candle"},"low":{"anyOf":[{"type":"number"}],"title":"Low","description":"Lowest market cap in the candle"},"close":{"anyOf":[{"type":"number"}],"title":"Close","description":"Market cap at candle close"}},"type":"object","title":"MarketCapData","description":"Market capitalization data for OHLCV candles."}},"headers":{"XNansenCreditsUsed":{"description":"Number of credits consumed by this API request","schema":{"type":"string"}},"XNansenCreditsRemaining":{"description":"Total credits remaining in the user's account after this request","schema":{"type":"string"}},"PaymentReceipt":{"description":"Base64url-encoded MPP receipt returned on successful paid requests via Authorization: Payment","schema":{"type":"string"}},"RateLimitLimit":{"description":"Combined rate limit across all configured time windows","schema":{"type":"string"}},"RateLimitRemaining":{"description":"Number of requests remaining in the current limiting window","schema":{"type":"string"}},"RateLimitReset":{"description":"Time in seconds until the rate limit window resets","schema":{"type":"string"}},"XRateLimitLimitSecond":{"description":"Maximum requests allowed per second","schema":{"type":"string"}},"XRateLimitRemainingSecond":{"description":"Requests remaining in the current second","schema":{"type":"string"}},"XRateLimitLimitMinute":{"description":"Maximum requests allowed per minute","schema":{"type":"string"}},"XRateLimitRemainingMinute":{"description":"Requests remaining in the current minute","schema":{"type":"string"}},"PaymentRequired":{"description":"Base64-encoded x402 payment options returned on 402 responses for x402 clients","schema":{"type":"string"}},"WWWAuthenticatePayment":{"description":"MPP payment challenge returned on 402 responses, for example `Payment id=\"...\", realm=\"api.nansen.ai\", method=\"tempo\", intent=\"charge\", request=\"...\"`","schema":{"type":"string"}},"RetryAfter":{"description":"Number of seconds to wait before making a new request","schema":{"type":"string"}}},"responses":{"BadRequestError":{"description":"Bad Request - Invalid request parameters or malformed request","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"UnauthorizedError":{"description":"Authentication error - No API key found in request","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"PaymentRequiredError":{"description":"Payment Required - This endpoint supports pay-per-request via x402 and MPP. x402 responses advertise payment options in `Payment-Required`; MPP responses advertise a fresh `WWW-Authenticate: Payment ...` challenge. Successful MPP responses may include `Payment-Receipt`.","headers":{"Payment-Required":{"$ref":"#/components/headers/PaymentRequired"},"WWW-Authenticate":{"$ref":"#/components/headers/WWWAuthenticatePayment"}},"content":{"application/json":{"schema":{"type":"object","description":"Problem-details body for x402 or MPP payment challenges."}}}},"ForbiddenError":{"description":"Forbidden - User does not have required subscription tier or has exceeded credit limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"NotFoundError":{"description":"Not Found - The requested resource was not found","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"ValidationError":{"description":"Validation error - Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"type":"object","properties":{"loc":{"type":"array","items":{"type":"string"}},"msg":{"type":"string"},"type":{"type":"string"}}}}}}}}},"TooManyRequestsError":{"description":"Too Many Requests - Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying"}}}}},"headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}}},"InternalServerError":{"description":"Internal Server Error - An unexpected error occurred","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}}}},"paths":{"/api/v1/tgm/token-ohlcv":{"post":{"tags":["Token God Mode"],"summary":"Get Token OHLCV Data","description":"Get unified OHLCV (Open, High, Low, Close, Volume) data for tokens across supported chains.\n\nThis endpoint unifies the legacy TGM prices endpoints (`/tgm/prices/low-timeframe` and `/tgm/prices/high-timeframe`)\ninto a single endpoint with support for multiple timeframes:\n\n**Low timeframes** (sub-hourly): `1m`, `5m`, `15m`, `30m`, `1h`\n**High timeframes** (multi-hour): `4h`, `1d`, `1w`, `1M`\n\nReturns OHLCV candle data including:\n- **Price data**: open, high, low, close prices\n- **Volume data**: trading volume in token units and USD\n- **Market cap data**: market capitalization at each time point\n\nDate range defaults to the last 30 days if not specified.","operationId":"get_token_ohlcv_api_v1_tgm_token_ohlcv_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenOHLCVRequest"}}},"required":true},"responses":{"200":{"description":"Token OHLCV data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenOHLCVResponse"}}},"headers":{"X-Nansen-Credits-Used":{"$ref":"#/components/headers/XNansenCreditsUsed"},"X-Nansen-Credits-Remaining":{"$ref":"#/components/headers/XNansenCreditsRemaining"},"Payment-Receipt":{"$ref":"#/components/headers/PaymentReceipt"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"X-RateLimit-Limit-Second":{"$ref":"#/components/headers/XRateLimitLimitSecond"},"X-RateLimit-Remaining-Second":{"$ref":"#/components/headers/XRateLimitRemainingSecond"},"X-RateLimit-Limit-Minute":{"$ref":"#/components/headers/XRateLimitLimitMinute"},"X-RateLimit-Remaining-Minute":{"$ref":"#/components/headers/XRateLimitRemainingMinute"}}},"400":{"description":"Bad Request","$ref":"#/components/responses/BadRequestError"},"401":{"description":"Unauthorized","$ref":"#/components/responses/UnauthorizedError"},"402":{"description":"Payment Required","$ref":"#/components/responses/PaymentRequiredError"},"403":{"description":"Forbidden","$ref":"#/components/responses/ForbiddenError"},"404":{"description":"Not Found","$ref":"#/components/responses/NotFoundError"},"422":{"description":"Unprocessable Content","$ref":"#/components/responses/ValidationError"},"429":{"description":"Too Many Requests","$ref":"#/components/responses/TooManyRequestsError"},"500":{"description":"Internal Server Error","$ref":"#/components/responses/InternalServerError"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nansen.ai/api/token-god-mode/price-ohlcv.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
