Flashscore Football Scraper: Scores, xG, Lineups, Odds, Tables
Pricing
from $1.00 / 1,000 matches
Flashscore Football Scraper: Scores, xG, Lineups, Odds, Tables
Every football match of a day from Flashscore: fixtures, live scores, results with half-time and penalties, plus xG statistics, lineups with player ratings, goals and cards, referee and venue, head-to-head, bookmaker odds with opening prices and league tables. 27 more sports. No browser.
Pricing
from $1.00 / 1,000 matches
Rating
0.0
(0)
Developer
Steady Scrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Flashscore Football Scraper — live scores, fixtures, results, xG, lineups, odds and league tables
Every football match of a day from Flashscore, in every competition it covers: fixtures, live scores and results with half-time, extra time and penalty shootouts. Add, for the same matches in the same run:
- Match statistics with expected goals (xG), possession, shots, passes, corners, fouls and cards — for the match and each half
- Lineups with formations, team ratings, shirt numbers, captains, goalkeepers and Flashscore player ratings
- Events: every goal with its assist and the score after it, every card and substitution with its minute
- Match information: referee, venue, city, capacity, attendance
- Head-to-head and each team's recent form
- Betting odds from every bookmaker of a country, each price with its opening price
- League tables with every group, form and what each place leads to — once per competition
Plain HTTP against Flashscore's own feeds: no browser, no login, no proxy. A day of football (300+ matches) lists in seconds. 27 more sports list the same way: basketball, ice hockey, baseball, American football, handball, volleyball, rugby, cricket, darts, futsal, eSports and more.
What makes it different
- Tables in the same run. Ask for the standings and every competition of your matches comes back as one extra row with its whole table — fetched and charged once per competition, however many of its matches you scrape.
- xG, lineups with ratings and opening odds together. Most football scrapers give a listing, or a listing plus one kind of detail. Here a match row can carry all of it, and you pay the detail price only when it delivers some.
- A section Flashscore does not have is never fetched. Each match's own feed says which sections exist (a lower league has no statistics, a match not played yet has no lineups), so you are never charged for empty requests.
- Your limits are checked before any detail is requested: the maximum number of matches and your run's spending limit cut the run before the work, not after it.
- Penalties done right: regular time, after extra time and the shootout are separate scores, and two-legged ties say which side goes through, with Flashscore's aggregate note.
Use cases
- Betting models and value betting: odds of 20 UK bookmakers with their opening prices, xG and form, every day on a schedule.
- Live score feeds for apps, bots and dashboards: run every few minutes with
matchStatus: live. - Fantasy football and scouting: lineups with player ratings, goals, assists and cards per match.
- Football analytics and research: statistics per half for whole leagues, with tables and head-to-head.
- Content and newsletters: yesterday's results and today's fixtures by country or competition.
Input
| field | what it does |
|---|---|
sport | football by default, or one of 27 other sports |
dateFrom, dateTo | today, yesterday, tomorrow, -3, +2 or 2026-10-12; up to a week either side of today |
utcOffsetHours | where your day starts; match times are always UTC |
matches | match links or ids instead of days |
matchStatus | scheduled, live, finished, cancelled |
countries, leagues, teams | parts of names, case and accents ignored: England, Premier League, Arsenal |
includeStatistics, includeLineups, includeEvents, includeHeadToHead, includeOdds | the detail sections |
oddsCountry, oddsRegion | whose bookmakers: GB (about 20), US (+ USNY), DE, IT, ES… |
oddsMarkets | 1x2 and over_under by default; also Asian and European handicap, both teams to score, double chance, draw no bet, half-time/full-time, correct score, odd/even |
oddsFullTimeOnly | true by default; false adds the first-half and second-half markets |
includeStandings | one table row per competition of the run |
recentMatchesPerTeam, maxMatches | limits |
{"dateFrom": "yesterday","countries": ["England", "Spain"],"leagues": ["Premier League", "LaLiga"],"matchStatus": ["finished"],"includeStatistics": true,"includeLineups": true,"includeEvents": true,"includeStandings": true}
Full odds are heavy: every market and half of 20 bookmakers is about 800 KB per match. The defaults keep 1X2 and over/under for the full match; widen them only for the markets you use.
Output
One row per match (type: "match") and, when asked, one per competition (type: "standings"). Every row has a
status: only ok rows are charged; no_matches, not_found and blocked say why there is nothing to charge.
{"type": "match","status": "ok","sport": "football","matchId": "pfFSbE2B","url": "https://www.flashscore.com/match/pfFSbE2B/","startTime": "2026-10-12T19:00:00.000Z","matchStatus": "finished","matchStatusText": "Finished","tournament": { "id": "j1MnZ14E", "stageId": "lEqmiyVI", "name": "Liga Profesional - Clausura", "country": "Argentina", "url": "https://www.flashscore.com/football/argentina/liga-profesional/" },"home": { "name": "Lanus", "shortName": "LAN", "id": "Y9yh1J7G", "url": "https://www.flashscore.com/team/lanus/Y9yh1J7G/", "logoUrl": "https://static.flashscore.com/res/image/data/I7GXcZiT-rRPTjfbN.png", "redCards": 0 },"away": { "name": "Velez Sarsfield", "shortName": "VEL", "id": "UsCR8gFd", "redCards": 0 },"winner": "home","score": { "home": 2, "away": 0 },"halfTime": { "home": 0, "away": 0 },"regularTime": { "home": 2, "away": 0 },"afterExtraTime": null,"penalties": null,"statistics": [{ "period": "match", "group": "Top stats", "name": "Expected goals (xG)", "home": { "text": "1.57", "value": 1.57 }, "away": { "text": "0.56", "value": 0.56 } }],"lineups": { "home": { "formation": "1-4-2-3-1", "rating": 7.4, "starting": [{ "name": "Besozzi L.", "number": 77, "country": "Argentina", "captain": false, "goalkeeper": false, "rating": 7.4 }] } },"events": { "periods": [{ "name": "1st Half", "home": 0, "away": 0 }, { "name": "2nd Half", "home": 2, "away": 0 }], "incidents": [{ "period": "2nd Half", "minute": "59'", "side": "home", "type": "goal", "participants": [{ "role": "goal", "name": "Marcich S." }, { "role": "assistance", "name": "Besozzi L." }], "scoreAfter": { "home": 1, "away": 0 } }] },"matchInfo": { "referee": "Martinez S.", "venue": "Estadio Ciudad de Lanús – Néstor Díaz Pérez", "city": "Lanús", "capacity": 47090, "attendance": null },"odds": [{ "bookmaker": "BetMGM.uk", "market": "1x2", "period": "match", "selections": [{ "outcome": "home", "odds": 2.38, "openingOdds": 2.2 }, { "outcome": "draw", "odds": 3.7 }, { "outcome": "away", "odds": 2.6 }] }]}
A standings row carries tournament and groups: each group's table with rank, team, played, wins,
draws, losses, goalsFor, goalsAgainst, points, form (w, d, l, newest first) and qualification
(Promotion - …, Relegation…).
Other sports give the same match row; periods holds their quarters, periods, sets or innings.
Pricing
Pay per event, no start fee:
| event | price |
|---|---|
match — a match row without details | US$0.001 |
match-with-details — a match row that delivers at least one detail section | US$0.003 |
standings — a competition's table | US$0.002 |
Rows with a status other than ok are free. A detail section Flashscore does not have is not fetched and not charged.
Limits
- Flashscore publishes days up to a week before and after today.
- Statistics, lineups and ratings exist for the competitions Flashscore covers in depth; lower leagues often have only the score and the events.
- Bookmakers take their prices down after a match: ask for odds before and during it.
- A match asked for by link carries its score but not the per-half scores or red cards; ask for events to get them.
Is it legal?
The Actor reads pages and feeds that Flashscore serves publicly, without logging in, and collects sports results and statistics, not personal data beyond the names of professional players and officials as they appear in public results. You are responsible for how you use the data; check the terms that apply to you and your jurisdiction.