XMLScores.com - football livescores in XML format

General Info We provide information about football competitions i.e. leagues, cups and other tournaments (see the list of competitions on main page). This information includes tournament standings, schedules, match results and information about each match in real-time mode.

Documentation and feed examples

pdf livescore requests format:

pdf | schema livescore response format (matches):

pdf | schema livescore response format (standings):

xml | json | php feeds examples (matches):

xml | json | php feeds examples (standings):

Feeds structure Clients get our livescore feeds sending HTTP requests to our livescore server. Each request contains the type of needed data (matches, standings), format of feed (xml, php, json), contest ID and some other parameters (please see docs).

All that data can be taken from our livescore server in 3 possible formats: XML documents based on our own schema, the string encoded in accordance with Java-Script Object Notation (JSON) and string representation of PHP Array object i.e. string which can be converted to PHP Array using unserialize function. The structure of each format for each type of returned data is described in livescore feeds format specification. In a few words information about matches contains info about teams playing in certain match, the score of match, status details for active matches and info about match events: scored goals, yellow and red cards with players names and match minute when certain event happened. Our feeds do not contain info about teams’ lineups and info about substitutions. Standings tables contains teams’ names, current position, number of points, number of matches played, won, lost and finished in draw and also number of goals scored and conceded by certain team. If we talk about some tournament with several groups our feed indicates the name of group where certain team plays.

Data update rates Info about online matches updated once per minute. Delay between event in real game and appearance in our feeds usually not more than 2 minutes, sometimes it may take longer. We do not give guarantees for this parameter. Competition schedules updates once per day. Please note initially our schedules contain only preliminary dates and begin times for matches. Precise time is specified closer to real begin time of match, but not later than 2 days before match starts. Standings tables are updated once per day and correct number of points, goals and teams positions will not appear right after they play their matches.

Limits and restrictions. In order to use our feeds the clients must purchase license which means that they accept license agreement. One license allows to get livescores from one network address (client address), specified at license purchase. Usually this is an IP address or hostname of machine where client runs software which collects livescore feeds from our server. It is not allowed to specify address of proxy servers as a client address. It is allowed to use some different addresses for development and testing purposes. It is allowed to change client address during the use of feeds but only by our permission. The license is represented by license key given to each client. Each client identifies his requests attaching his personal license key to request string. There is a restriction limiting number of requests from each client – not more than 1 request per minute. This value is calculated by average rate taken during 24 hours. Violation of these conditions may involve service stoppage with or without notifications.