Kooora APIkooora.com ↗
Access live football scores, match schedules, standings, player profiles, and sports news from kooora.com via a structured JSON API.
What is the Kooora API?
The Kooora.com API exposes 4 endpoints covering live football match data, competition standings, player profiles, and sports news from one of the Arab world's leading football platforms. The get_matches endpoint returns today's matches grouped by competition, including live scores and match status. Response fields span team names, goals, venue, live period, player biography, and full league table rankings.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/31311a02-adfe-4734-8ea5-31db2dc8e4ee/get_matches' \ -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 kooora-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.
from parse_apis.kooora_sports_api import Kooora, Competition, Schedule, Article, Player
kooora = Kooora()
# Get today's match schedules grouped by competition
for schedule in kooora.schedules.today():
print(schedule.competition_name, schedule.competition_id)
for match in schedule.matches:
print(match.home_team.name, match.home_team.score, match.away_team.name, match.away_team.score, match.status)
# Get standings for a competition using its ID from the schedule
comp = kooora.competition(id="2kwbbcootiqqgmrzs6o5inle5")
for standing in comp.standings():
for ranking in standing.rankings:
print(ranking.position, ranking.team.name, ranking.points, ranking.played)
# Get latest news articles
for article in kooora.articles.latest():
print(article.title, article.publish_date, article.publish_time)
# Look up a specific player
player = kooora.players.get(player_id="5e9ilgrz3tzg9kd1gk3yvrahh")
print(player.name, player.position, player.age, player.nationality)
Get football match schedules and live scores for the current day. Returns matches grouped by competition. Each competition contains its name, ID, and an array of matches with team names, scores, status, venue, and live period information. Matches with status 'FIXTURE' have not started; other statuses indicate live or completed states.
No input parameters required.
{
"type": "object",
"fields": {
"competitions": "array of competition objects each containing competition_name, competition_id, and matches array"
},
"sample": {
"data": {
"competitions": [
{
"matches": [
{
"id": "kx8lsekcWNSOUDnxvF-pl",
"venue": null,
"status": "FIXTURE",
"away_team": {
"logo": "https://cdn.sportfeeds.io/sdl/images/team/crest/medium/SeV5TAiEjbSlaDU3pk0ej.png",
"name": "نيجيريا",
"score": null
},
"home_team": {
"logo": "https://cdn.sportfeeds.io/sdl/images/team/crest/medium/TgVcm6fGZ73VvkIX-vEnP.png",
"name": "البرتغال",
"score": null
},
"start_date": "2026-06-10T19:45:00.000Z",
"live_period": null
}
],
"competition_id": "cesdwwnxbc5fmajgroc0hqzy2",
"competition_name": "المباريات الودية"
}
]
},
"status": "success"
}
}About the Kooora API
Match Schedules and Live Scores
The get_matches endpoint returns all matches scheduled for the current day, structured as an array of competition objects. Each competition includes a competition_name, competition_id, and a matches array. Individual match objects carry team names, current scores, match status (e.g. FIXTURE, LIVE, FINISHED), venue, and live period data. The competition_id field is reusable — pass it directly to get_standings to pull the league table for any competition returned here.
Standings and Table Data
get_standings accepts a competition_id string and returns one or more table objects, each containing a rankings array. Every ranking entry includes position, team details, matches played, wins, draws, losses, goals for and against, goal difference, and points. Competitions with group stages return multiple separate table objects — one per group — so knockout and group-phase tournaments are handled correctly.
Player Profiles
get_player_stats returns biographical and positional data for a specific player identified by player_id. Fields include name, first_name, last_name, age, nationality, position (one of ATTACKER, MIDFIELDER, DEFENDER, GOALKEEPER), shirt_number, image_url, and a team object with id and name. Any field without data returns null rather than being omitted.
Sports News
get_news returns up to 30 recent Arabic-language sports articles ordered by publication date descending. Each article object includes title, teaser, publish_date, publish_time, image_url, url, and a tags array, giving enough metadata to build a news feed or content aggregator without fetching full article bodies.
The Kooora API is a managed, monitored endpoint for kooora.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when kooora.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 kooora.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 a live Arabic-language football scoreboard showing today's matches grouped by competition.
- Build a league table widget using standings data including wins, losses, goal difference, and points.
- Track player career details — nationality, position, shirt number, and current team — in a scouting database.
- Aggregate recent football news headlines with teasers and images for an Arabic sports media app.
- Map competition IDs from match results directly to standings for contextual league position display.
- Monitor match status transitions (FIXTURE → LIVE → FINISHED) to trigger real-time notifications.
- Power a multi-competition dashboard covering group-stage tournaments using multi-table standings responses.
| 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.