Discover/Kooora API
live

Kooora APIkooora.com

Access live football scores, standings, team profiles, player stats, and news from kooora.com via a single REST API with 9 endpoints.

This API takes change requests — .
Endpoint health
verified 6d ago
get_news
get_standings
get_player_stats
get_team_matches
get_team
9/9 passing latest checkself-healing
Endpoints
9
Updated
28d ago

What is the Kooora API?

The Kooora.com API exposes 9 endpoints covering live match scores, competition standings, team profiles, player stats, and news from one of the Arab world's most-used football platforms. The get_matches endpoint returns today's fixtures and live scores grouped by competition, while get_team_dashboard consolidates team profile, recent results, next fixture, and latest news into a single response — useful for building match-day apps targeting Arabic-language football audiences.

This call costs1 credit / call— charged only on success
Try it

No input parameters required.

api.parse.bot/scraper/31311a02-adfe-4734-8ea5-31db2dc8e4ee/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/31311a02-adfe-4734-8ea5-31db2dc8e4ee/get_matches' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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.

"""Walkthrough: kooora SDK — bounded, re-runnable; every call capped."""
from parse_apis.Kooora_Sports_API import Kooora, ResourceNotFound

client = Kooora()

# Get a unified team dashboard with profile, next/last match, and news
dashboard = client.team_dashboards.for_team(team_name="ريال مدريد")
print(dashboard.team.name, dashboard.team.league, dashboard.team.logo)
if dashboard.next_match:
    print(dashboard.next_match.date, dashboard.next_match.home_team, "vs", dashboard.next_match.away_team)
if dashboard.last_match:
    print(dashboard.last_match.home_team, dashboard.last_match.score, dashboard.last_match.away_team)
for article in dashboard.news[:3]:
    print(article.title, article.date)

# Get today's match schedules grouped by competition
for schedule in client.schedules.today(limit=2):
    print(schedule.competition_name, len(schedule.matches))

# Get standings for a competition derived from a schedule
first_schedule = client.schedules.today(limit=1).first()
if first_schedule:
    comp = client.competition(id=first_schedule.competition_id.id)
    for standing in comp.standings(limit=1):
        for ranking in standing.rankings[:3]:
            print(ranking.position, ranking.team.name, ranking.points)

# Get latest news articles
for article in client.articles.latest(limit=3):
    print(article.title, article.publish_date)

# Get a player profile with typed error handling
try:
    player = client.players.get(player_id="unknown_player_id")
    print(player.name, player.position, player.age)
except ResourceNotFound as e:
    print("not found:", e)

print("exercised: team_dashboards.for_team / schedules.today / competition.standings / articles.latest / players.get")
All endpoints · 9 totalmissing one? ·

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.

Input

No input parameters required.

Response
{
  "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 Data and Live Scores

The get_matches endpoint returns all of today's fixtures grouped into competition objects, each carrying competition_name, competition_id, and a matches array. Each match includes team names, current score, status (FIXTURE, LIVE, or completed), venue, and live period details. For a specific team's live match, get_live_match accepts a team_name parameter in Arabic or English and returns real-time fields: current_minute, status (e.g. FIRST_HALF, SECOND_HALF, HALF_TIME), and a match_events array that breaks down goals, yellow cards, red cards, and substitutions with per-event minute, type, and player_name.

Standings and Team Profiles

get_standings takes a competition_id — obtainable from get_matches results — and returns one or more table objects, each with a rankings array covering position, team details, played, won, drawn, lost, goals for, goals against, goal difference, and points. Multi-group competitions return one table object per group. get_team looks up a club by name and returns team_id, logo_url, founded_year, and the team's primary competition_name and competition_id. get_team_matches returns up to 10 recent completed results and up to 10 upcoming fixtures for the specified team.

Player Stats and News

get_player_stats accepts a player_id and returns biographical fields: 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. Player IDs are discoverable through competition and match pages on kooora.com. get_news delivers up to 30 site-wide news articles ordered by most recent first, each with title, teaser, publish_date, publish_time, image_url, url, and tags. get_team_news narrows this to a specific team, also returning up to 30 articles.

Unified Dashboard

get_team_dashboard is a convenience endpoint that aggregates team profile (name, logo, country, league), last_match, next_match, and up to 5 recent news articles into one response. This reduces the number of calls needed when building a team overview widget or chatbot integration targeting Arabic-speaking football fans.

Reliability & maintenanceVerified

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.

Last verified
6d ago
Latest check
9/9 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Display live Arabic-league match scores grouped by competition using get_matches competitions and matches fields
  • Build a league table widget using get_standings with a competition_id from today's match data
  • Show a team's next fixture and last result side-by-side using get_team_dashboard next_match and last_match objects
  • Render in-match event timelines (goals, cards, substitutions) using get_live_match match_events array
  • Populate a player profile card with position, age, nationality, and shirt number from get_player_stats
  • Aggregate team-specific news feeds using get_team_news title, teaser, and image_url fields
  • Power a football chatbot that answers 'What's the standing of X in their league?' via get_standings data
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does kooora.com have an official developer API?+
Kooora.com does not publish an official public developer API or documented developer portal. This API is the available way to access structured football data from the platform programmatically.
What match events does get_live_match return, and how granular are they?+
The get_live_match endpoint returns a match_events array where each event includes minute, type (one of GOAL, YELLOW_CARD, RED_CARD, SUBSTITUTION), player_name, and team. The current_minute field can be an integer or a string like '45+2' to represent stoppage time. If no live match is found for the specified team, all fields return null.
Can I look up historical match data beyond the most recent 10 completed games?+
get_team_matches returns up to 10 most recent completed matches and up to 10 nearest upcoming fixtures per team. Deeper historical archives beyond those 10 results are not currently covered. You can fork this API on Parse and revise it to add a paginated historical matches endpoint.
Are in-match statistics like possession, shots on target, or passing accuracy available?+
Match statistics of that type — possession percentages, shots, passes — are not currently returned by any endpoint. The API covers live event timelines (goals, cards, substitutions), scores, and standings. You can fork this API on Parse and revise it to add a match-stats endpoint if that data is available on the source pages.
How do I find a valid competition_id to use with get_standings?+
Call get_matches first. Each competition object in the competitions array includes a competition_id field. Pass that string directly as the competition_id parameter in get_standings. Note that get_standings for multi-group competitions returns one table object per group, so your code should handle arrays with more than one entry.
Page content last updated . Spec covers 9 endpoints from kooora.com.
Related APIs in SportsSee all →
football-data.org API
Get live match scores, team standings, and player statistics across football competitions worldwide. Search for teams, view head-to-head matchups, track top scorers, and explore detailed information about competitions and geographical areas.
livescore.com API
Track live scores and detailed statistics across football, hockey, basketball, tennis, and cricket with the ability to filter by date, sport, and league. Access match summaries, team overviews, standings, fixtures, and results to stay updated on your favorite competitions and teams.
footystats.org API
Get live football scores, team performance metrics, league standings, and head-to-head match statistics all in one place. Search teams and leagues to access detailed player stats, comprehensive analytics, and in-depth performance data across football competitions worldwide.
fotmob.com API
Get live football scores, detailed match results, and comprehensive league statistics across multiple competitions. Access player and team performance data, browse upcoming fixtures by date, and dive into in-depth analytics for your favorite leagues and matches.
whoscored.com API
Search for players and teams, then dive deep into their performance metrics, match statistics, and detailed passing data to analyze football games and player abilities. Get comprehensive insights on team performance, individual player stats, and play-by-play event information to power your football analysis and decision-making.
besoccer.com API
Access comprehensive football data to discover team profiles, player rosters, match results, upcoming fixtures, and league standings across competitions. Search for specific teams and competitions to build your own soccer analytics, fantasy league tools, or sports tracking applications.
flashscore.de API
Get match listings, match details and statistics, team rosters, and a German-language sports news feed from Flashscore.de, plus lineup data with player rating fields when available.
fotball.no API
Get live match scores, search matches by team, and view tournament standings and national team information from Norwegian football competitions. Track today's matches, access detailed match information, and browse regional football data all in one place.