Skip to main content
The SofaScore plugin returns live scores, fixtures, results and statistics from SofaScore (sofascore.com) as structured JSON. It is six endpoints:
  • /sports/sofascore-events - a sport’s matches on one day in your time zone, or the matches in progress right now, biggest competitions first, optionally for one country or competition and one status.
  • /sports/sofascore-match - one match with the sections you ask for: statistics, lineups, incidents, head-to-head, odds, momentum, form, votes, managers, best players, shot map, commentary and highlights.
  • /sports/sofascore-search - teams, players, competitions, matches, managers, referees and venues for a name, optionally within one sport.
  • /sports/sofascore-team - a team (or a tennis player, MMA fighter and other individual competitors) with its last and next matches, squad, competitions and transfers.
  • /sports/sofascore-player - a player with season statistics for any competition, last matches with the player’s rating, transfers, attributes and national-team record.
  • /sports/sofascore-tournament - a competition and season with standings, rounds, last and next matches, top players and top teams.
All 26 SofaScore sports are covered: football, basketball, tennis, ice-hockey, american-football, baseball, handball, volleyball, cricket, rugby, futsal, table-tennis, esports, darts, snooker, mma, aussie-rules, waterpolo, floorball, bandy, badminton, beach-volley, minifootball, padel, motorsport and cycling. Common names work too (soccer, hockey, nba, nfl, ufc, f1 and the like). Motorsport and cycling are races, not matches, so they have no day list; search, teams, players and competitions work for them. Teams, players and competitions can be given as an id, a sofascore.com link or a plain name. A name is resolved with the site’s own search (the best match, within sport when you pass it), and the response echoes it as resolvedFrom. Each call is billed as one request, however many reads it takes. No SofaScore account is involved.
Try it in the dashboard first: app.scrapeunblocker.com/dashboard/plugins. You get a live results view plus a copy-paste snippet.

Matches on a day, or live now

A day list usually takes 1-4 s.

Response

A live list has the same match fields with status.type inprogress; call it again to follow the scores.

Match

A match usually takes 1-3 s, a little more with include=all.

Response

Shortened: lists are cut and fields left out.

Response

Shortened to two of the five results. A match result carries the same fields as a match in the events list.

Team

Response

Shortened: matches are in the full events shape, and last_matches / next_matches hold up to 30 each (most recent first and soonest first). tournaments lists the competitions the team plays, transfers the players in and out with fee and date.

Player

Response

Shortened. season_stats.statistics holds every figure SofaScore keeps for that competition and season (rating, goals, expected goals, assists, passes, duels, saves and the rest). Each of the last_matches (up to 30, most recent first) is a full match with the side the player playedFor, the player’s rating and minutes, and goals or assists. seasons lists each competition with its seasons (to pick tournament and season), attributes the attacking, technical, tactical, defending and creativity scores, national_team caps, goals and debut.

Tournament

Response

Shortened. standings holds every table of the season (groups and conferences each have one). rounds lists the season’s rounds, last_matches (most recent first) and next_matches (soonest first) up to 30 matches each in the events shape, top_players and top_teams the top 10 in each statistic (rating, goals, assists, expected goals and so on), and seasons every season with its id.

Errors

A section the site does not have for an entity is named in unavailable, not an error; a section whose read failed is named in failedSections.

What you can build

  • Live score feeds - follow every match in progress for a sport, with scores by period and the status, and refresh it on a timer.
  • Fixtures and results databases - collect each day’s matches across sports, countries and time zones.
  • Match analytics - expected goals, shot maps, lineups with player ratings, momentum and incidents for scouting or betting models.
  • Odds tracking - opening and current odds for every market of a match.
  • Player and team profiles - squads with market values and contracts, season statistics, transfers and form.
  • League tables - standings, top scorers and top teams for any competition and season.

Next steps

Open the plugins

Run a SofaScore day list and grab the JSON.

Get an API key

Free trial available on the pricing page.