curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"cursor": "<string>",
"page": "2",
"pairAddress": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
"timeframe": "30min",
"currency": "usd",
"result": [
{
"timestamp": "<string>",
"open": 123,
"high": 123,
"low": 123,
"close": 123,
"volume": 123,
"trades": 123
}
],
"tokenAddress": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"
}OHLC by Pair Address
Retrieve OHLCV (Open, High, Low, Close, Volume) candlestick data for a token pair.
curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/pairs/{address}/ohlcv")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"cursor": "<string>",
"page": "2",
"pairAddress": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
"timeframe": "30min",
"currency": "usd",
"result": [
{
"timestamp": "<string>",
"open": 123,
"high": 123,
"low": 123,
"close": 123,
"volume": 123,
"trades": 123
}
],
"tokenAddress": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"
}Authorizations
Path Parameters
The pair address
"0xa43fe16908251ee70ef74718545e4fe6c5ccec9f"
Query Parameters
The chain to query
eth, 0x1, sepolia, 0xaa36a7, polygon, 0x89, bsc, 0x38, bsc testnet, 0x61, avalanche, 0xa86a, cronos, 0x19, arbitrum, 0xa4b1, chiliz, 0x15b38, gnosis, 0x64, base, 0x2105, base sepolia, 0x14a34, optimism, 0xa, polygon amoy, 0x13882, linea, 0xe708, moonbeam, 0x504, moonriver, 0x505, flow, 0x2eb, flow-testnet, 0x221, ronin, 0x7e4, ronin-testnet, 0x31769, lisk, 0x46f, pulse, 0x171, sei-testnet, 0x530, sei, 0x531, monad, 0x8f "eth"
The timeframe
1s, 10s, 30s, 1min, 5min, 10min, 30min, 1h, 4h, 12h, 1d, 1w, 1M "1h"
The currency
usd, native "usd"
The starting date (format in seconds or datestring accepted by momentjs)
- Provide the param 'fromBlock' or 'fromDate'
- If 'fromDate' and 'fromBlock' are provided, 'fromBlock' will be used.
"2025-01-01T10:00:00.000"
The ending date (format in seconds or datestring accepted by momentjs)
- Provide the param 'toBlock' or 'toDate'
- If 'toDate' and 'toBlock' are provided, 'toBlock' will be used.
"2025-01-02T10:00:00.000"
The number of results to return
x >= 0The cursor returned in the previous response (used for getting the next page)
Response
Returns the OHLCV data.
The cursor to get to the next page
The current page of the result
"2"
The pair address
"0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"
The timeframe
"30min"
The currency
"usd"
Show child attributes
Show child attributes
The token address
"0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"

