Get Opinion Orderbooks
curl --request GET \
--url https://api.predexon.com/v2/opinion/orderbooks \
--header 'x-api-key: <api-key>'import requests
url = "https://api.predexon.com/v2/opinion/orderbooks"
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://api.predexon.com/v2/opinion/orderbooks', 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://api.predexon.com/v2/opinion/orderbooks",
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://api.predexon.com/v2/opinion/orderbooks"
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://api.predexon.com/v2/opinion/orderbooks")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.predexon.com/v2/opinion/orderbooks")
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{
"snapshots": [
{
"market_id": 123,
"token_id": "<string>",
"timestamp": 123,
"bids": [
{
"price": 123,
"size": 123
}
],
"asks": [
{
"price": 123,
"size": 123
}
],
"best_bid": 123,
"best_ask": 123,
"bid_depth": 123,
"ask_depth": 123
}
],
"pagination": {
"limit": 123,
"count": 123,
"has_more": true,
"pagination_key": "<string>"
}
}{
"error": "<string>",
"message": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>"
}Orderbooks
Orderbook History
Fetch historical orderbook snapshots for an Opinion market
GET
/
v2
/
opinion
/
orderbooks
Get Opinion Orderbooks
curl --request GET \
--url https://api.predexon.com/v2/opinion/orderbooks \
--header 'x-api-key: <api-key>'import requests
url = "https://api.predexon.com/v2/opinion/orderbooks"
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://api.predexon.com/v2/opinion/orderbooks', 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://api.predexon.com/v2/opinion/orderbooks",
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://api.predexon.com/v2/opinion/orderbooks"
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://api.predexon.com/v2/opinion/orderbooks")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.predexon.com/v2/opinion/orderbooks")
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{
"snapshots": [
{
"market_id": 123,
"token_id": "<string>",
"timestamp": 123,
"bids": [
{
"price": 123,
"size": 123
}
],
"asks": [
{
"price": 123,
"size": 123
}
],
"best_bid": 123,
"best_ask": 123,
"bid_depth": 123,
"ask_depth": 123
}
],
"pagination": {
"limit": 123,
"count": 123,
"has_more": true,
"pagination_key": "<string>"
}
}{
"error": "<string>",
"message": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>"
}Fetch historical orderbook snapshots for an Opinion market. Data starts from March 10th, 2026.
YES-side orderbook only.
Free & Unlimited. This endpoint does not count toward your monthly usage limits on any plan.
| Constraint | Value |
|---|---|
limit | 1–200 (default 100) |
Timestamps are in milliseconds for this endpoint.
Authorizations
Query Parameters
The Opinion market ID
Start time in Unix timestamp (milliseconds)
End time in Unix timestamp (milliseconds)
Maximum number of snapshots to return
Required range:
1 <= x <= 200Pagination key to get the next chunk of data
