Soccerway APIuk.soccerway.com ↗
Retrieve football fixtures from Soccerway by date offset. Get competition names, teams, kickoff times, scores, and match status across global leagues.
What is the Soccerway API?
The Soccerway Fixtures API exposes 1 endpoint — get_fixtures — that returns an array of football match objects for any day from today onward, covering competition name, home and away teams, kickoff time in UTC, live or final scores, and match status. Each response also includes a total_count field so you know exactly how many fixtures were returned for a given day without counting the array yourself.
curl -X GET 'https://api.parse.bot/scraper/03fedeb9-3b82-4620-9248-025a15e70e4e/get_fixtures?day_offset=0' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace uk-soccerway-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Soccerway Fixtures API — fetch today's and tomorrow's football matches."""
from parse_apis.soccerway_fixtures_api import Soccerway, DayOffset, FixturesUnavailable
client = Soccerway()
# List today's fixtures (default day_offset=0), capped at 5 items
for fixture in client.fixtures.list(day_offset=DayOffset.TODAY, limit=5):
print(fixture.competition, fixture.home_team, "vs", fixture.away_team, fixture.display)
# Drill into tomorrow's first fixture
tomorrow = client.fixtures.list(day_offset=DayOffset.TOMORROW, limit=1).first()
if tomorrow:
print("Tomorrow's first:", tomorrow.home_team, "vs", tomorrow.away_team,
"kickoff_timestamp:", tomorrow.kickoff_timestamp)
# Handle an error case — invalid input
try:
client.fixtures.list(day_offset="-1", limit=1).first()
except FixturesUnavailable as exc:
print(f"Expected error: {exc}")
print("exercised: fixtures.list (today / tomorrow / error handling)")
Retrieve football fixtures from Soccerway for a given day offset. Returns match details including competition name, teams, kickoff time or score, and match status for all available leagues worldwide. Only current and future dates are supported (day_offset >= 0).
| Param | Type | Description |
|---|---|---|
| day_offset | integer | Number of days from today into the future. 0 for today, 1 for tomorrow, 2 for the day after, etc. Must be 0 or greater; negative values are rejected. |
{
"type": "object",
"fields": {
"fixtures": "array of match objects, each containing competition, match_id, home_team, away_team, display (kickoff time as HH:MM UTC or score as H:A), status_code, kickoff_timestamp, home_score, and away_score",
"total_count": "integer total number of fixtures returned"
},
"sample": {
"data": {
"fixtures": [
{
"display": "00:30",
"match_id": "MiHypBQh",
"away_team": "Dakota",
"home_team": "La Fama",
"away_score": null,
"home_score": null,
"competition": "ARUBA: Division di Honor - Final Group",
"status_code": "1",
"kickoff_timestamp": "1781137800"
},
{
"display": "09:00",
"match_id": "6Lh4Dnoo",
"away_team": "Cambodia U19",
"home_team": "Thailand U19",
"away_score": null,
"home_score": null,
"competition": "ASIA: ASEAN Championship U19 - Play Offs",
"status_code": "1",
"kickoff_timestamp": "1781168400"
}
],
"total_count": 144
},
"status": "success"
}
}About the Soccerway API
What the API Returns
The get_fixtures endpoint accepts a single day_offset integer parameter, where 0 returns today's fixtures, 1 returns tomorrow's, and so on. Only non-negative offsets are supported — past dates are not available through this endpoint. Each call returns a fixtures array and a total_count integer.
Response Fields
Every object in the fixtures array contains the following fields: competition (the league or cup name), match_id (a unique identifier for the match on Soccerway), home_team, away_team, display (either a kickoff time formatted as HH:MM UTC for upcoming matches, or a scoreline for completed or in-progress matches), and match_status (indicating whether the match is scheduled, live, or finished). There are no nested pagination objects — the full set of fixtures for the requested day is returned in a single response.
Coverage and Scope
Soccerway aggregates fixtures across a wide range of global football competitions, from top European leagues to lower-division and international tournaments. The competition field in each fixture object tells you which league or cup the match belongs to, but the endpoint does not currently support filtering by competition or country — all available fixtures for the requested day are returned together. The match_id can be used to cross-reference matches if you are building a dataset over time.
The Soccerway API is a managed, monitored endpoint for uk.soccerway.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when uk.soccerway.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official uk.soccerway.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display today's football schedule on a sports dashboard, grouped by competition name
- Send daily fixture digest emails showing kickoff times for matches across selected leagues
- Track match status changes throughout a matchday by polling with day_offset 0
- Build a results feed by reading the display field for finished matches on the current day
- Populate a betting research tool with upcoming fixture lists and kickoff times
- Log daily fixture counts using total_count to monitor coverage consistency over time
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Soccerway have an official developer API?+
Can I retrieve fixtures for past dates using this API?+
get_fixtures endpoint only supports day_offset values of 0 or greater. Historical results from past dates are not returned. The API covers current-day and future fixtures. You can fork it on Parse and revise it to add a past-dates endpoint if historical results data is what you need.Does the API let me filter fixtures by league or country?+
competition field in each fixture object. Filtering by specific league or country is not a supported parameter. You can fork it on Parse and revise it to add filtering logic on top of the returned data.What does the display field contain for live versus upcoming matches?+
display contains the scheduled kickoff time as a string in HH:MM UTC format. For matches in progress or finished, display contains the current or final scoreline. The match_status field tells you which state the match is in.