Errors
Errors come back as JSON.
Error body
The documented errors, 400, 404 and 500, carry
the same two fields.
| Field | Type | Required |
|---|---|---|
message |
string | Yes |
statusCode |
number | Yes |
400 Bad request descriptive error.
{
"message": "Descriptive bad request error message.",
"statusCode": 400
}
404 Match statistics not found.
{
"message": "Not Found",
"statusCode": 404
}
500 Internal server error.
{
"message": "Internal server error.",
"statusCode": 500
}
A 401 or 403 carries a different body, described under status
codes.
Status codes
Any endpoint can return 401 or 403 when the key is rejected or
missing.
| Status | Cause |
|---|---|
400 |
Bad request descriptive error. Returned for a malformed request. Read
|
401 |
The key was not accepted, and |
403 |
The |
404 |
Match statistics not found. Returned by
|
500 |
Internal server error. If it persists, contact support with the request URL and the time it happened. |
Filters are named per sport
A filter that works on one sport may not exist on another.
countryCode works on /football/matches and does not exist on
/nba/matches. When a query that works on one sport fails on another, check
parameter conventions.
Results hidden by your plan
This arrives as a 200, not as an error. On the Basic and Free plans
highlights may be restricted, so a page can hold fewer results than exist. The
plan object on the response describes your tier. See
Pagination and limits.
Quota exhausted
When x-ratelimit-requests-remaining reaches zero, you will not be able to
make any requests until your daily quota resets. One quota covers every sport prefix, so
a product reading several of them reaches zero sooner than a single sport integration
would.