Webhooks
L
POST
/webhooks
Fire on match start, price move or result
Register a URL and we post to it on match start, price move or result. Every delivery is signed.
Plan
This endpoint needs Live & Archive.
Calling it on a lower plan returns a 403 naming the plan it needs and
a link to pricing, never a bare refusal.
Request
curl "https://api.footballsoccerapi.com/webhooks" \ -H "X-API-Key: $FSAPI_KEY"
const res = await fetch("https://api.footballsoccerapi.com/webhooks", { headers: { "X-API-Key": process.env.FSAPI_KEY } }); const { data, meta } = await res.json();
import os, requests r = requests.get( "https://api.footballsoccerapi.com/webhooks", headers={"X-API-Key": os.environ["FSAPI_KEY"]}, ) data = r.json()["data"]
$ch = curl_init("https://api.footballsoccerapi.com/webhooks"); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ["X-API-Key: {$key}"], ]); $data = json_decode(curl_exec($ch), true)["data"];
Example response
A real row from the archive, fetched when this page rendered. Run it against your own key below.
200 OK
application/json
{
"event": "result",
"match_id": "mt_1JK5QJ9",
"home_goals": 4,
"away_goals": 1,
"full_time_result": "home",
"signature": "sha256=..."
}
Run it live
Paste your key and fire the real request. The key is kept in this browser only and never sent anywhere but the API.