Soccer Live Scores & Results – 200+ Leagues, Fixtures & Odds
Pricing
from $1.00 / 1,000 matches
Soccer Live Scores & Results – 200+ Leagues, Fixtures & Odds
ESPN soccer scores for 200+ leagues: live/scheduled/finished matches, goals with scorers, red cards, and matched Kalshi exchange odds (home/away/draw). No login, no proxy.
Pricing
from $1.00 / 1,000 matches
Rating
0.0
(0)
Developer
Rowfeed
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Get live soccer scores, finished results and upcoming fixtures as one clean JSON row per match: goals with scorers, red cards, and Kalshi exchange odds (home/away/draw) joined in. Built for score-tracking bots, sports dashboards and AI agents that need current soccer data without a login, an API key or a headless browser. Sourced straight from ESPN's own public scoreboard API - the same data that powers espn.com/soccer - across 200+ leagues and cups worldwide, so results and goal times are accurate as soon as ESPN has them.
What you get
- One row per match - kickoff time, live/scheduled/finished status (with the live match clock and a best-effort halftime score), home/away teams with score and winner, venue and attendance.
- Goals and red cards - every goal's minute, scoring team and scorer name (plus own-goal/penalty flags), and every red card's minute, team and player - pulled straight from ESPN's match detail feed, no extra requests.
- Kalshi odds joined in - for English Premier League, Champions League, La Liga, Serie A, Bundesliga, Ligue 1 and MLS, each upcoming or live match gets Kalshi's home/away/draw YES-ask prices and vig-removed probabilities while the market is trading, matched by team name and kickoff date. No match found, an ambiguous one, or a market Kalshi has already settled (a settled market has no price left) simply means
kalshi: null- this Actor never guesses a price onto the wrong fixture. - 200+ leagues - top domestic leagues, continental cups (Champions League, Europa League) and more, resolved live from ESPN's own league list every run. Filter to a handful of leagues or sweep everything with
"all".
Sample row
One real row from a default run (includeKalshi: true):
{"match_id": "761830","league": { "slug": "usa.1", "name": "MLS" },"season_year": 2026,"season_slug": "regular-season","kickoff": "2026-09-26T23:30Z","status": "STATUS_SCHEDULED","status_detail": "Sat, September 26th at 7:30 PM EDT","minute": null,"home": { "name": "Atlanta United FC", "abbreviation": "ATL", "score": 0.0, "winner": false },"away": { "name": "New York City FC", "abbreviation": "NYC", "score": 0.0, "winner": false },"halftime_score": null,"goals": [],"red_cards": [],"venue": "Mercedes-Benz Stadium","attendance": 0,"kalshi": {"event_ticker": "KXMLSGAME-26SEP26ATLNYC","home_yes_ask": 0.43,"away_yes_ask": 0.32,"draw_yes_ask": 0.26,"probabilities": { "home": 0.4271, "away": 0.3166, "draw": 0.2563 },"url": "https://kalshi.com/markets/kxmlsgame"},"scraped_at": "2026-09-25T08:59:15+00:00","url": "https://www.espn.com/soccer/match/_/gameId/761830/new-york-city-fc-atlanta-united-fc"}
A finished match carries real goals entries too, for example: {"minute": "57'", "team": "Liverpool", "scorer": "Alexander Isak", "own_goal": false, "penalty": false}.
Filters
| Input | Default | What it does |
|---|---|---|
leagues | ["eng.1","esp.1","ger.1","ita.1","fra.1","uefa.champions","usa.1"] | ESPN league slugs (Premier League, La Liga, Bundesliga, Serie A, Ligue 1, Champions League, MLS). Use "all" to sweep every league ESPN covers (219 measured 25.09.2026) - slower, and most contribute zero rows on a given day. An unknown slug fails the run with a helpful error listing real examples. |
dateFrom / dateTo | "" / "" | YYYY-MM-DD. Both empty = today through 2 days ahead (most leagues don't play every day, so a single-day default would often be empty). Set dateFrom alone to pin one specific day. Capped at 31 days. |
status | all | all, live, upcoming or finished. |
includeKalshi | true | Join Kalshi 3-way odds for the 7 leagues Kalshi lists (see above). Off skips those requests entirely. |
maxMatches | 500 | Cap on rows (1-2000). Each row is one charged match event. |
Leagues or date ranges with nothing scheduled simply contribute zero rows - not an error.
Pricing
Pay per event, no subscription: $1 per 1,000 matches and $1 per 1,000 run starts. A run that finds nothing for your filters (e.g. an off day for that league) still succeeds with zero charged rows - you only pay for matches actually returned.
Details
- Source: ESPN's public site API (
site.api.espn.com) and core API (sports.core.api.espn.com) for the league list. No authentication, no proxies, no browser. Not affiliated with ESPN or Kalshi. - Kalshi join: matched by normalised team name (either side, diacritics-insensitive) and kickoff date within a 30-hour window via Kalshi's public trade API (
api.elections.kalshi.com). Only markets still trading are used. Zero or more than one candidate match meanskalshi: null- never a guess.kalshi.urlis a link to Kalshi's market page for people in a browser; Kalshi's website turns away scripts, so fetch prices through this Actor rather than that page. - Halftime score: derived from the goal timeline (ESPN's scoreboard has no halftime field of its own), so it is
nulluntil a match reaches the second half and whenever it can't be derived with confidence. - Reliability: 429 and 5xx responses retry with exponential backoff (5 tries), a 200 without the expected data counts as a failure, and one league's outage never stops the run - it becomes an uncharged error row and the rest continues. A run fails only when it returned zero rows and a request genuinely failed; a quiet day with no matches is a successful run with zero charged rows.
- Run stats: the
STATSrecord in the run's key-value store holds matches, Kalshi-matched count, error rows, leagues swept, request and error counts per category. - Output: one dataset row per match. Export as JSON, CSV or Excel, fetch through the Apify API, or schedule runs and pipe them into Google Sheets, Make, Zapier, n8n or your own code. Eligible for agentic use via Apify's MCP server.