curl --request POST \
--url https://api.scrapeunblocker.com/sports/sofascore-match \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/sports/sofascore-match"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/sports/sofascore-match', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}One SofaScore match with stats, lineups and incidents
Fetches one match from sofascore.com: event (teams, score by period, status, start time, tournament, season, round, venue, referee) plus the include sections: statistics (per period and group, e.g. possession, expected goals, shots, with home / away text and numbers), lineups (formation, every player with position, shirt number, rating and match statistics, missing players), incidents (goals, cards, substitutions, VAR, periods, oldest first), h2h (team and manager records plus the last 10 meetings), odds (markets with decimal and fractional odds), momentum, pregame_form, votes, managers, best_players (player of the match and best rated per side), shotmap (every shot with xG, xGOT, body part and coordinates), commentary and highlights. Sections the site does not have for the match (e.g. statistics before kick-off) are named in unavailable.
curl --request POST \
--url https://api.scrapeunblocker.com/sports/sofascore-match \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/sports/sofascore-match"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/sports/sofascore-match', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Your ScrapeUnblocker API key. Apply on every request.
Query Parameters
The match: its id (e.g. 16363904, from the search or events endpoints) or a sofascore.com match link. A link without '#id:' names the pairing; the match in progress, else the next, else the latest is used.
Sections to add, comma separated: statistics, lineups, incidents, h2h, odds, momentum, pregame_form, votes, managers, best_players, shotmap, commentary, highlights (or all / none). Default statistics,lineups,incidents.
Response
JSON with the event and the asked-for sections.

