curl --request GET \
--url https://api.apinn.io/api/settled \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.apinn.io/api/settled"
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.apinn.io/api/settled', 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.apinn.io/api/settled",
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.apinn.io/api/settled"
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.apinn.io/api/settled")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.apinn.io/api/settled")
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{
"last": 1785636831,
"since": 1785590421,
"count": 1,
"events": [
{
"event_id": 1632677189,
"sport_id": 29,
"league_id": 2663,
"league_name": "USA - Major League Soccer",
"runner_home": "New York Red Bulls",
"runner_away": "Orlando City",
"starts": "2026-08-01T23:30:00",
"score_home": 3,
"score_away": 2,
"status": "ended",
"settled_at": "2026-08-02T02:13:51",
"settlement": [
{
"line_id": 935250751,
"period": 0,
"market": "moneyline",
"line": null,
"outcome_home": "win",
"outcome_draw": "loss",
"outcome_away": "loss"
}
]
}
]
}Matchs réglés depuis un curseur
Parcours incrémental des matchs réglés : chaque réponse porte un curseur last à repasser en since au prochain appel.
C’est le seul moyen de découvrir un règlement. Un match réglé a quitté le book — c’est sa disparition qui déclenche le règlement — il n’apparaît donc plus dans /api/fixtures, même avec live=2. Sans ce parcours, il faudrait avoir mémorisé l’event_id avant la fin du match.
Sans since, renvoie les règlements des dernières 24 heures.
La comparaison sur since est inclusive : le dernier événement d’une page peut réapparaître en tête de la suivante, car plusieurs matchs peuvent partager la seconde de règlement et perdre un règlement serait pire que le renvoyer deux fois. Dédoublonnez sur event_id.
Chaque événement porte son score final et le détail settlement (win / loss / push par ligne) — les mêmes données que /api/settlement, mais pour un lot de matchs. Marchés principaux uniquement : moneyline, spread, totals et totaux par équipe. Les specials ne sont pas réglés.
curl --request GET \
--url https://api.apinn.io/api/settled \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.apinn.io/api/settled"
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.apinn.io/api/settled', 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.apinn.io/api/settled",
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.apinn.io/api/settled"
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.apinn.io/api/settled")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.apinn.io/api/settled")
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{
"last": 1785636831,
"since": 1785590421,
"count": 1,
"events": [
{
"event_id": 1632677189,
"sport_id": 29,
"league_id": 2663,
"league_name": "USA - Major League Soccer",
"runner_home": "New York Red Bulls",
"runner_away": "Orlando City",
"starts": "2026-08-01T23:30:00",
"score_home": 3,
"score_away": 2,
"status": "ended",
"settled_at": "2026-08-02T02:13:51",
"settlement": [
{
"line_id": 935250751,
"period": 0,
"market": "moneyline",
"line": null,
"outcome_home": "win",
"outcome_draw": "loss",
"outcome_away": "loss"
}
]
}
]
}Autorisations
Paramètres de requête
Curseur last de la réponse précédente (entier), ou un horodatage ISO (2026-08-02T01:00:00). Absent → dernières 24 h.
Restreindre à un sport.
Restreindre à une ligue.
Nombre maximum de matchs (1 à 1000, défaut 200).