API ReferencePrice APIGet OHLCV by Pair AddressGet OHLCV by Pair Address Mainnet OnlyNeed a candlestick chart for your website?Embed our free chart widget directly on your site in just a few clicksEmbed ChartLooking for OHLCV data on EVM?Access OHLCV data by pair address on EVM using our API.Explore EVM APIGEThttps://solana-gateway.moralis.io/token/:network/pairs/:address/ohlcvGets the candlesticks for a specific pair addressPATH PARAMSnetworkstringrequiredThe network to queryaddressstringrequiredThe address to queryQUERY PARAMScursorstringThe cursor to the next pagefromDatestringrequiredThe starting date (format in seconds or datestring accepted by momentjs)toDatestringrequiredThe ending date (format in seconds or datestring accepted by momentjs)timeframestringrequiredThe interval of the candle stickcurrencystringrequiredThe currency formatlimitnumberThe limit per pageResponses200400Bad Request404Not Found429Too Many Requests500Internal Server ErrorAPI KEYTest Live APIcURLNode.jsPythonGoPHPcurl --request GET \ --url 'https://solana-gateway.moralis.io/token/mainnet/pairs/9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2/ohlcv?fromDate=2025-08-01T00%3A00%3A00Z&toDate=2025-08-10T00%3A00%3A00Z&timeframe=1h¤cy=usd&limit=5' \ --header 'accept: application/json' \ --header 'X-API-Key: YOUR_API_KEY' // Node.js v18+ has native fetch support// No additional dependencies requiredconst options = { method: 'GET', headers: { accept: 'application/json', 'X-API-Key': 'YOUR_API_KEY' },};fetch('https://solana-gateway.moralis.io/token/mainnet/pairs/9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2/ohlcv?fromDate=2025-08-01T00%3A00%3A00Z&toDate=2025-08-10T00%3A00%3A00Z&timeframe=1h¤cy=usd&limit=5', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));# Dependencies to install:# $ python -m pip install requestsimport requestsurl = "https://solana-gateway.moralis.io/token/mainnet/pairs/9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2/ohlcv?fromDate=2025-08-01T00%3A00%3A00Z&toDate=2025-08-10T00%3A00%3A00Z&timeframe=1h¤cy=usd&limit=5"headers = { "Accept": "application/json", "X-API-Key": "YOUR_API_KEY"}response = requests.request("GET", url, headers=headers)print(response.text)package mainimport ( "fmt" "net/http" "io")func main() { url := "https://solana-gateway.moralis.io/token/mainnet/pairs/9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2/ohlcv?fromDate=2025-08-01T00%3A00%3A00Z&toDate=2025-08-10T00%3A00%3A00Z&timeframe=1h¤cy=usd&limit=5" req, _ := http.NewRequest("GET", url, payload) req.Header.Add("Accept", "application/json") req.Header.Add("X-API-Key", "YOUR_API_KEY") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body))}<?php// Dependencies to install:// $ composer require guzzlehttp/guzzlerequire_once('vendor/autoload.php');$client = new \GuzzleHttp\Client();$response = $client->request('GET', 'https://solana-gateway.moralis.io/token/mainnet/pairs/9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2/ohlcv?fromDate=2025-08-01T00%3A00%3A00Z&toDate=2025-08-10T00%3A00%3A00Z&timeframe=1h¤cy=usd&limit=5', [ 'headers' => [ 'Accept' => 'application/json', 'X-API-Key' => 'YOUR_API_KEY', ],]);echo $response->getBody();Response Example200 { "cursor": "", "page": "", "pairAddress": "", "tokenAddress": "", "timeframe": "", "currency": "", "result": { "timestamp": "", "open": "", "close": "", "high": "", "low": "", "volume": "", "trades": "" }}