HugeAPI - Code Samples
🚀 Connect
To connect an API to a project, you must have an API key to authenticate your request
Connect To Pinnacle Odds API
Code Samples
Python
python
import requests
import json
import time
headers = {
"x-portal-apikey": "__YOUR_KEY__",
}
base_url = "https://pinnacle-odds-api.hgapi.top"
s = requests.Session()
s.headers.update(headers)
since_items = {}
all_events = {}
while True:
for sport_id in [1]: # endpoint /kit/v1/sports
# is_have_odds = 0 or 1, event_type = prematch, live
params = {
'sport_id': sport_id,
'is_have_odds': True,
'since': since_items.get(sport_id)
}
print('[REQUEST] %s' % params)
response = s.get(base_url + '/kit/v1/markets', params=params)
if response.status_code != 200:
raise Exception(response.status_code, response.text)
result = json.loads(response.text)
since_items[sport_id] = result['last']
for event in result['events']:
all_events[str(event['event_id'])] = event
try:
print(' %s: %s — %s %s' % (event['league_name'], event['home'], event['away'], event['periods']['num_0']['money_line']))
except KeyError:
pass
print('Sport: %s' % result['sport_name'])
print('Number of changes: %s' % len(result['events']))
print(' ')
time.sleep(3)PHP
php
<?php
$headers = [];
$headers[] = "x-rapidapi-key: __YOUR_KEY__";
$headers[] = "x-rapidapi-host: pinnacle-odds.p.rapidapi.com";
$baseUrl = "https://pinnacle-odds.p.rapidapi.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_ENCODING, "");
$sinceItems = [];
$allEvents = [];
while (true) {
foreach ([1] as $sportId) { // endpoint /kit/v1/sports
// is_have_odds = 0 or 1, event_type = prematch, live
$params = [];
$params['sport_id'] = $sportId;
$params['is_have_odds'] = true;
$params['since'] = $sinceItems[$sportId] ?? null;
$queryString = http_build_query($params);
echo '[REQUEST] ' . $queryString . PHP_EOL;
curl_setopt($ch, CURLOPT_URL, $baseUrl . '/kit/v1/markets?' . $queryString);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
$sinceItems[$sportId] = $result['last'];
foreach ($result['events'] as $event) {
$allEvents[(string)$event['event_id']] = $event;
if (isset($event['periods']['num_0']['money_line'])) {
echo ' ' . $event['league_name'] . ': ' . $event['home'] . ' — ' . $event['away'] . ' ' . json_encode($event['periods']['num_0']['money_line']) . PHP_EOL;
}
}
echo 'Sport: ' . $result['sport_name'] . PHP_EOL;
echo 'Number of changes: ' . count($result['events']) . PHP_EOL;
echo ' ';
sleep(3);
}
}
curl_close($ch);JavaScript
javascript
const axios = require('axios');
const headers = {
"x-rapidapi-key": "__YOUR_KEY__",
"x-rapidapi-host": "pinnacle-odds.p.rapidapi.com"
};
const baseUrl = "https://pinnacle-odds.p.rapidapi.com";
const axiosInstance = axios.create({ headers });
let sinceItems = {};
let allEvents = {};
const fetchData = async () => {
while (true) {
for (const sportId of [1]) {
const params = {
sport_id: sportId,
is_have_odds: true,
since: sinceItems[sportId]
};
console.log('[REQUEST]', params);
try {
const response = await axiosInstance.get(`${baseUrl}/kit/v1/markets`, { params });
if (response.status !== 200) {
throw new Error(`${response.status}: ${response.statusText}`);
}
const result = response.data;
sinceItems[sportId] = result.last;
for (const event of result.events) {
allEvents[String(event.event_id)] = event;
try {
console.log(event.league_name, event.home, event.away, event.periods.num_0.money_line);
} catch (error) {
// Ignore if 'money_line' does not exist
}
}
console.log('Sport:', result.sport_name);
console.log('Number of changes:', result.events.length);
console.log(' ');
await new Promise(resolve => setTimeout(resolve, 3000));
} catch (error) {
console.error(error);
await new Promise(resolve => setTimeout(resolve, 3000));
}
}
}
};
fetchData();