1. Create your account
Register at admin.soccersapi.com/register or log in at admin.soccersapi.com/login. Registration is free and every account starts on a trial or on the Free plan.
2. Check your plan and your leagues
The dashboard shows the plan assigned to the account and, under Leagues, the competitions it can read. Standard plans let you pick the leagues; themed plans come with a fixed league set; see Plans and Data Access. The coverage page lists every competition the API offers, and pricing the plans and request tiers.
3. Get your API key
Create and manage your API keys at admin.soccersapi.com/api-tokens. You can create several, one per project or environment. Authenticate each request with your API key. No username is needed with either API key method. Keep keys on your server, not in browser-delivered application code, screenshots, support tickets or public repositories. Use a separate development key and rotate any key that leaks.
4. Make your first call
Request a completed Premier League match from the current 2026/27 season. The credentials remain placeholders until you try the call locally:
curl 'https://api.soccersapi.com/v2.2/fixtures/?api_key=API_KEY&t=info&id=2589310'
Abbreviated response:
{
"data": {
"id": 2589310,
"season_id": "21033",
"season_name": "26/27",
"status_name": "Finished",
"teams": {
"home": { "id": 20, "name": "Chelsea FC" },
"away": { "id": 12, "name": "Brighton & Hove Albion" }
},
"league": { "id": 583, "name": "Premier League" },
"scores": { "home_score": "4", "away_score": "3" }
}
}
Every route works the same way: the t parameter selects the operation and
the reference lists, per route, the accepted values with their parameters. List
operations return 100 items per page. Use the pagination values returned by the
API to request any remaining pages.
Authentication methods
| Method | Usage | Status |
|---|---|---|
| Query parameter | api_key=API_KEY |
Default in documentation examples |
| Bearer header | Authorization: Bearer API_KEY |
Supported alternative |
| Legacy query parameters | user=API_USER&token=API_TOKEN |
Deprecated |
Both API key methods use the same key. Use one authentication method per request; do not send the key in both the header and the URL.
1. Query parameter
Pass your API key as api_key in the request URL. This is the default method
used by the examples and the interactive explorer:
curl --get 'https://api.soccersapi.com/v2.2/fixtures/' \
--data-urlencode 'api_key=API_KEY' \
--data-urlencode 't=info' \
--data-urlencode 'id=2589310'
Keys in URLs can be captured in browser history and request logs. Redact
api_key in logs and never share URLs containing a real key.
2. Bearer header
Alternatively, send the same API key in the Authorization header, prefixed
with Bearer , and omit the api_key query parameter:
GET /v2.2/fixtures/?t=info&id=2589310
Authorization: Bearer API_KEY
The key itself is the credential: this does not require an OAuth login or a separate JWT. Bearer keeps the key out of the request URL. Redact authentication headers in logs as well.
Migrating from deprecated authentication
Authentication using both user and token is deprecated. It remains supported
for existing integrations; no removal date has been announced. Do not use it
for new integrations.
Before (deprecated):
GET /v2.2/fixtures/?user=API_USER&token=API_TOKEN&t=info&id=2589310
After (query parameter):
GET /v2.2/fixtures/?api_key=API_KEY&t=info&id=2589310
Remove both legacy query parameters and use your API key with either supported method. Keep the operation selector, IDs, filters and includes unchanged.
Next steps
- Shared Query Parameters for pagination,
include,utcandlang. - Images & CDN for image URL patterns and sizes.
- Code Examples for cURL, Node.js, Python, PHP, Java, C#, Go and Ruby.
- Data Model to see how leagues, seasons, matches and teams link together.
- Recipes for the call sequences behind the usual products.
- Interactive API Explorer to try any operation from the browser with your credentials.