FlashScore Scraper Match Statistic avatar

FlashScore Scraper Match Statistic

Pricing

from $4.00 / 1,000 results

Go to Apify Store
FlashScore Scraper Match Statistic

FlashScore Scraper Match Statistic

Use this alternative FlashScore API to scrape last 20 matches from FlashScore, including scores, status, league, kick-off time, detailed event history, and other sport stats. Export match data, run the scraper using the API, manage and schedule runs, or integrate with external tools.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

statanow

statanow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

⚽ What can FlashScore Scraper do?

FlashScore match statistic scraper extracts 20 last matches for match_url from FlashScore, giving you scores, timelines, and match events in a clean JSON format.

Just run the Actor and you instantly get:

🔗 Match URL and league

🏟️ Home and away teams

⏱️ Live score, minutes played, and match status

📅 Kick-off time

📜 Full event history (goals, cards, substitutions, period summaries…)

♟️ Structured live football data in JSON, CSV, Excel, or HTML

⌚️ Scheduling, export, and integrations via API Endpoints & webhooks 

Use this scraper to get 20 last statistics games, build dashboards, automate alerts, support betting workflows, or analyze match event data.

📊 What data can I scrape from FlashScore?

Each match includes structured details:

🏠 Home team🛫 Away team
⚽ Home score🥅 Away score
📡 Status⏱️ Status time
📅 Start time🌍 League
📄 History (summary)🏟️ Score&time
🥅 Player name🏃‍♂️ Action&side

The final output includes the source_url, a scraped_at timestamp, the number of matches, and a matches[] array with full match and event data.

How to scrape FlashScore match statistic data

  1. Create a free Apify account.
  2. Open FlashScore match statistic scraper.
  3. Click Start and wait.
  4. Download your sports dataset in JSON, CSV, Excel, or XML, or access it via API.
  5. Schedule the scraper to extract football data automatically every minute, hour, day, etc.

Sports available

⚽ Football

⬇️ Input

FlashScore Scraper works out of the box, but requires an input that tells it which sport to scrape.

In the Actor input, you may set:

Example: {"match_url": "https://www.flashscore.com/match/football/barcelona-SKbpVP5K/girona-nNNpcUSL/?mid=d4kFLuv9"}

In Apify Console you can set these variables under Actor → Settings → Environment variables.

⬆️ Output

When FlashScore Scraper Match Statistic finishes the run, it saves a single JSON file under the key Output in the default key-value store. You can view it in the Storage tab, download it, or connect it to your workflow via API.

FlashScore Scraper Match Statistic output

Sample of extracted data from FlashScore match statistic

{
"input": {
"match_url": "https://www.flashscore.com/match/football/bayern-munich-nVp0wiqd/werder-bremen-Ig1f1fy3/?mid=rLTZ0NM8",
"mid": "rLTZ0NM8"
},
"matches": {
"home": {
"Q75Mik9E": {
"url": "https://www.flashscore.com/match/football/1-fc-koln-WG9pOTse/werder-bremen-Ig1f1fy3/?mid=Q75Mik9E#match-summary",
"match_id": "Q75Mik9E",
"kickoff": "29.11.2025 16:30",
"competition": "Bundesliga - Round 12",
"home_team": "Werder Bremen",
"away_team": "FC Koln",
"home_team_url": "https://www.flashscore.com/team/werder-bremen/Ig1f1fy3/",
"away_team_url": "https://www.flashscore.com/team/1-fc-koln/WG9pOTse/",
"score": "1 - 1",
"score_full_time": null,
"status": "Finished",
"incidents": [
{
"period": "1st Half",
"side": "away",
"minute": "12'",
"action": "Substitution",
"player": "van den Berg R.",
"sub_out": "Heintz D.",
"score_at": null,
"raw": "12' van den Berg R. Heintz D. (Injury)"
},
{
"period": "1st Half",
"side": "home",
"minute": "22'",
"action": "Goal",
"player": "Friedl M.",
"sub_out": null,
"score_at": "1 - 0",
"raw": "22' 1 - 0 Friedl M. ( Stage J. )"
},
{
"period": "1st Half",
"side": "away",
"minute": "38'",
"action": "Yellow card",
"player": "Castro-Montes A.",
"sub_out": null,
"score_at": null,
"raw": "38' Castro-Montes A. (Holding)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "46'",
"action": "Substitution",
"player": "Stark N.",
"sub_out": "Pieper A.",
"score_at": null,
"raw": "46' Stark N. Pieper A."
},
{
"period": "2nd Half",
"side": "away",
"minute": "46'",
"action": "Substitution",
"player": "Krauss T.",
"sub_out": "Castro-Montes A.",
"score_at": null,
"raw": "46' Krauss T. Castro-Montes A."
},
{
"period": "2nd Half",
"side": "away",
"minute": "46'",
"action": "Substitution",
"player": "Lund K.",
"sub_out": "Johannesson I.",
"score_at": null,
"raw": "46' Lund K. Johannesson I."
},
{
"period": "2nd Half",
"side": "home",
"minute": "55'",
"action": null,
"player": "",
"sub_out": null,
"score_at": null,
"raw": "55' Goal Disallowed - offside ( Topp K. )"
},
{
"period": "2nd Half",
"side": "home",
"minute": "70'",
"action": "Substitution",
"player": "Boniface V.",
"sub_out": "Topp K.",
"score_at": null,
"raw": "70' Boniface V. Topp K. (Injury)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "74'",
"action": "Substitution",
"player": "Waldschmidt L.",
"sub_out": "Ozkacar C.",
"score_at": null,
"raw": "74' Waldschmidt L. Ozkacar C."
},
{
"period": "2nd Half",
"side": "home",
"minute": "75'",
"action": "Yellow card",
"player": "Stark N.",
"sub_out": null,
"score_at": null,
"raw": "75' Stark N. (Tripping)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "75'",
"action": "Yellow card",
"player": "Thielmann J.",
"sub_out": null,
"score_at": null,
"raw": "75' Thielmann J. (Unsportsmanlike conduct)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "78'",
"action": "Yellow card",
"player": "Martel E.",
"sub_out": null,
"score_at": null,
"raw": "78' Martel E. (Holding)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "81'",
"action": "Substitution",
"player": "Mbangula S.",
"sub_out": "Puertas C.",
"score_at": null,
"raw": "81' Mbangula S. Puertas C."
},
{
"period": "2nd Half",
"side": "away",
"minute": "82'",
"action": "Substitution",
"player": "Kainz F.",
"sub_out": "Martel E.",
"score_at": null,
"raw": "82' Kainz F. Martel E."
},
{
"period": "2nd Half",
"side": "away",
"minute": "90+1'",
"action": "Goal",
"player": "El Mala S.",
"sub_out": null,
"score_at": "1 - 1",
"raw": "90+1' 1 - 1 El Mala S. ( Lund K. )"
},
{
"period": "2nd Half",
"side": "home",
"minute": "90+6'",
"action": "Red card",
"player": "Stark N.",
"sub_out": null,
"score_at": null,
"raw": "90+6' Yellow card / Red card Stark N. (Tripping)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "90+6'",
"action": "Yellow card",
"player": "Bulter M.",
"sub_out": null,
"score_at": null,
"raw": "90+6' Bulter M. (Unsportsmanlike conduct)"
}
]
},
"A3cNl7zp": {
"url": "https://www.flashscore.com/match/football/union-berlin-pzHW4oaE/werder-bremen-Ig1f1fy3/?mid=A3cNl7zp#match-summary",
"match_id": "A3cNl7zp",
"kickoff": "24.10.2025 21:30",
"competition": "Bundesliga - Round 8",
"home_team": "Werder Bremen",
"away_team": "Union Berlin",
"home_team_url": "https://www.flashscore.com/team/werder-bremen/Ig1f1fy3/",
"away_team_url": "https://www.flashscore.com/team/union-berlin/pzHW4oaE/",
"score": "1 - 0",
"score_full_time": null,
"status": "Finished",
"incidents": [
{
"period": "1st Half",
"side": "home",
"minute": "23'",
"action": "Yellow card",
"player": "Coulibaly K.",
"sub_out": null,
"score_at": null,
"raw": "23' Coulibaly K. (Holding)"
},
{
"period": "1st Half",
"side": "away",
"minute": "29'",
"action": "Substitution",
"player": "Skarke T.",
"sub_out": "Ilic A.",
"score_at": null,
"raw": "29' Skarke T. Ilic A. (Injury)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "61'",
"action": "Substitution",
"player": "Schafer A.",
"sub_out": "Kemlein A.",
"score_at": null,
"raw": "61' Schafer A. Kemlein A."
},
{
"period": "2nd Half",
"side": "away",
"minute": "61'",
"action": "Substitution",
"player": "Rothe T.",
"sub_out": "Kohn D.",
"score_at": null,
"raw": "61' Rothe T. Kohn D."
},
{
"period": "2nd Half",
"side": "home",
"minute": "70'",
"action": "Yellow card",
"player": "Grull M.",
"sub_out": null,
"score_at": null,
"raw": "70' Grull M. (Tripping)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "72'",
"action": "Goal",
"player": "Grull M.",
"sub_out": null,
"score_at": "1 - 0",
"raw": "72' 1 - 0 Grull M. ( Sugawara Y. )"
},
{
"period": "2nd Half",
"side": "away",
"minute": "79'",
"action": "Substitution",
"player": "Haberer J.",
"sub_out": "Trimmel C.",
"score_at": null,
"raw": "79' Haberer J. Trimmel C."
},
{
"period": "2nd Half",
"side": "away",
"minute": "79'",
"action": "Substitution",
"player": "Jeong Woo-Yeong",
"sub_out": "Leite D.",
"score_at": null,
"raw": "79' Jeong Woo-Yeong Leite D."
},
{
"period": "2nd Half",
"side": "home",
"minute": "85'",
"action": "Substitution",
"player": "Topp K.",
"sub_out": "Boniface V.",
"score_at": null,
"raw": "85' Topp K. Boniface V."
},
{
"period": "2nd Half",
"side": "home",
"minute": "85'",
"action": "Substitution",
"player": "Puertas C.",
"sub_out": "Mbangula S.",
"score_at": null,
"raw": "85' Puertas C. Mbangula S."
},
{
"period": "2nd Half",
"side": "home",
"minute": "90'",
"action": "Substitution",
"player": "Stark N.",
"sub_out": "Grull M.",
"score_at": null,
"raw": "90' Stark N. Grull M."
},
{
"period": "2nd Half",
"side": "home",
"minute": "90'",
"action": "Substitution",
"player": "Malatini J.",
"sub_out": "Sugawara Y.",
"score_at": null,
"raw": "90' Malatini J. Sugawara Y."
},
{
"period": "2nd Half",
"side": "home",
"minute": "90+1'",
"action": "Yellow card",
"player": "Topp K.",
"sub_out": null,
"score_at": null,
"raw": "90+1' Topp K. (Roughing)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "90+2'",
"action": "Yellow card",
"player": "Pieper A.",
"sub_out": null,
"score_at": null,
"raw": "90+2' Pieper A. (Delay of game)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "90+3'",
"action": "Substitution",
"player": "Njinmah J.",
"sub_out": "Schmid R.",
"score_at": null,
"raw": "90+3' Njinmah J. Schmid R."
}
]
},
"KKoFMZY0": {
"url": "https://www.flashscore.com/match/football/bayer-leverkusen-4jcj2zMd/werder-bremen-Ig1f1fy3/?mid=KKoFMZY0#match-summary",
"match_id": "KKoFMZY0",
"kickoff": "30.08.2025 16:30",
"competition": "Bundesliga - Round 2",
"home_team": "Werder Bremen",
"away_team": "Bayer Leverkusen",
"home_team_url": "https://www.flashscore.com/team/werder-bremen/Ig1f1fy3/",
"away_team_url": "https://www.flashscore.com/team/bayer-leverkusen/4jcj2zMd/",
"score": "3 - 3",
"score_full_time": null,
"status": "Finished",
"incidents": [
{
"period": "1st Half",
"side": "away",
"minute": "5'",
"action": "Goal",
"player": "Schick P.",
"sub_out": null,
"score_at": "0 - 1",
"raw": "5' 0 - 1 Schick P. ( Tella N. )"
},
{
"period": "1st Half",
"side": "away",
"minute": "35'",
"action": "Goal",
"player": "Tillman M.",
"sub_out": null,
"score_at": "0 - 2",
"raw": "35' 0 - 2 Tillman M."
},
{
"period": "1st Half",
"side": "home",
"minute": "37'",
"action": "Yellow card",
"player": "Lynen S.",
"sub_out": null,
"score_at": null,
"raw": "37' Lynen S. (Tripping)"
},
{
"period": "1st Half",
"side": "home",
"minute": "44'",
"action": "Goal",
"player": "Schmid R.",
"sub_out": null,
"score_at": "1 - 2",
"raw": "44' 1 - 2 Schmid R. (Penalty)"
},
{
"period": "1st Half",
"side": "home",
"minute": "45+4'",
"action": "Yellow card",
"player": "Stark N.",
"sub_out": null,
"score_at": null,
"raw": "45+4' Stark N. (Roughing)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "57'",
"action": "Yellow card",
"player": "Kofane C.",
"sub_out": null,
"score_at": null,
"raw": "57' Kofane C. (Unsportsmanlike conduct)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "61'",
"action": "Substitution",
"player": "Palacios E.",
"sub_out": "Garcia A.",
"score_at": null,
"raw": "61' Palacios E. Garcia A."
},
{
"period": "2nd Half",
"side": "away",
"minute": "61'",
"action": "Substitution",
"player": "Echeverri C.",
"sub_out": "Tillman M.",
"score_at": null,
"raw": "61' Echeverri C. Tillman M."
},
{
"period": "2nd Half",
"side": "home",
"minute": "63'",
"action": "Red card",
"player": "Stark N.",
"sub_out": null,
"score_at": null,
"raw": "63' Yellow card / Red card Stark N. (Tripping)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "64'",
"action": "Goal",
"player": "Schick P.",
"sub_out": null,
"score_at": "1 - 3",
"raw": "64' 1 - 3 Schick P. (Penalty)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "65'",
"action": "Substitution",
"player": "Bittencourt L.",
"sub_out": "Covic P.",
"score_at": null,
"raw": "65' Bittencourt L. Covic P."
},
{
"period": "2nd Half",
"side": "home",
"minute": "65'",
"action": "Substitution",
"player": "Alvero S.",
"sub_out": "Njinmah J.",
"score_at": null,
"raw": "65' Alvero S. Njinmah J."
},
{
"period": "2nd Half",
"side": "away",
"minute": "70'",
"action": "Yellow card",
"player": "Tella N.",
"sub_out": null,
"score_at": null,
"raw": "70' Tella N. (Roughing)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "71'",
"action": "Substitution",
"player": "Schmidt I.",
"sub_out": "Mbangula S.",
"score_at": null,
"raw": "71' Schmidt I. Mbangula S."
},
{
"period": "2nd Half",
"side": "home",
"minute": "71'",
"action": "Substitution",
"player": "Topp K.",
"sub_out": "Grull M.",
"score_at": null,
"raw": "71' Topp K. Grull M."
},
{
"period": "2nd Half",
"side": "away",
"minute": "72'",
"action": "Substitution",
"player": "Bade L.",
"sub_out": "Tape A.",
"score_at": null,
"raw": "72' Bade L. Tape A."
},
{
"period": "2nd Half",
"side": "away",
"minute": "72'",
"action": "Substitution",
"player": "Poku E.",
"sub_out": "Kofane C.",
"score_at": null,
"raw": "72' Poku E. Kofane C."
},
{
"period": "2nd Half",
"side": "home",
"minute": "76'",
"action": "Goal",
"player": "Schmidt I.",
"sub_out": null,
"score_at": "2 - 3",
"raw": "76' 2 - 3 Schmidt I. ( Topp K. )"
},
{
"period": "2nd Half",
"side": "away",
"minute": "86'",
"action": "Yellow card",
"player": "Quansah J.",
"sub_out": null,
"score_at": null,
"raw": "86' Quansah J. (Foul)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "87'",
"action": "Substitution",
"player": "Maza I.",
"sub_out": "Tella N.",
"score_at": null,
"raw": "87' Maza I. Tella N."
},
{
"period": "2nd Half",
"side": "home",
"minute": "90+1'",
"action": "Yellow card",
"player": "Schmidt I.",
"sub_out": null,
"score_at": null,
"raw": "90+1' Schmidt I. (Roughing)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "90+4'",
"action": "Goal",
"player": "Coulibaly K.",
"sub_out": null,
"score_at": "3 - 3",
"raw": "90+4' 3 - 3 Coulibaly K."
}
]
}
},
"away": {
"Q75Mik9E": {
"url": "https://www.flashscore.com/match/football/1-fc-koln-WG9pOTse/werder-bremen-Ig1f1fy3/?mid=Q75Mik9E#match-summary",
"match_id": "Q75Mik9E",
"kickoff": "29.11.2025 16:30",
"competition": "Bundesliga - Round 12",
"home_team": "Werder Bremen",
"away_team": "FC Koln",
"home_team_url": "https://www.flashscore.com/team/werder-bremen/Ig1f1fy3/",
"away_team_url": "https://www.flashscore.com/team/1-fc-koln/WG9pOTse/",
"score": "1 - 1",
"score_full_time": null,
"status": "Finished",
"incidents": [
{
"period": "1st Half",
"side": "away",
"minute": "12'",
"action": "Substitution",
"player": "van den Berg R.",
"sub_out": "Heintz D.",
"score_at": null,
"raw": "12' van den Berg R. Heintz D. (Injury)"
},
{
"period": "1st Half",
"side": "home",
"minute": "22'",
"action": "Goal",
"player": "Friedl M.",
"sub_out": null,
"score_at": "1 - 0",
"raw": "22' 1 - 0 Friedl M. ( Stage J. )"
},
{
"period": "1st Half",
"side": "away",
"minute": "38'",
"action": "Yellow card",
"player": "Castro-Montes A.",
"sub_out": null,
"score_at": null,
"raw": "38' Castro-Montes A. (Holding)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "46'",
"action": "Substitution",
"player": "Stark N.",
"sub_out": "Pieper A.",
"score_at": null,
"raw": "46' Stark N. Pieper A."
},
{
"period": "2nd Half",
"side": "away",
"minute": "46'",
"action": "Substitution",
"player": "Krauss T.",
"sub_out": "Castro-Montes A.",
"score_at": null,
"raw": "46' Krauss T. Castro-Montes A."
},
{
"period": "2nd Half",
"side": "away",
"minute": "46'",
"action": "Substitution",
"player": "Lund K.",
"sub_out": "Johannesson I.",
"score_at": null,
"raw": "46' Lund K. Johannesson I."
},
{
"period": "2nd Half",
"side": "home",
"minute": "55'",
"action": null,
"player": "",
"sub_out": null,
"score_at": null,
"raw": "55' Goal Disallowed - offside ( Topp K. )"
},
{
"period": "2nd Half",
"side": "home",
"minute": "70'",
"action": "Substitution",
"player": "Boniface V.",
"sub_out": "Topp K.",
"score_at": null,
"raw": "70' Boniface V. Topp K. (Injury)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "74'",
"action": "Substitution",
"player": "Waldschmidt L.",
"sub_out": "Ozkacar C.",
"score_at": null,
"raw": "74' Waldschmidt L. Ozkacar C."
},
{
"period": "2nd Half",
"side": "home",
"minute": "75'",
"action": "Yellow card",
"player": "Stark N.",
"sub_out": null,
"score_at": null,
"raw": "75' Stark N. (Tripping)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "75'",
"action": "Yellow card",
"player": "Thielmann J.",
"sub_out": null,
"score_at": null,
"raw": "75' Thielmann J. (Unsportsmanlike conduct)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "78'",
"action": "Yellow card",
"player": "Martel E.",
"sub_out": null,
"score_at": null,
"raw": "78' Martel E. (Holding)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "81'",
"action": "Substitution",
"player": "Mbangula S.",
"sub_out": "Puertas C.",
"score_at": null,
"raw": "81' Mbangula S. Puertas C."
},
{
"period": "2nd Half",
"side": "away",
"minute": "82'",
"action": "Substitution",
"player": "Kainz F.",
"sub_out": "Martel E.",
"score_at": null,
"raw": "82' Kainz F. Martel E."
},
{
"period": "2nd Half",
"side": "away",
"minute": "90+1'",
"action": "Goal",
"player": "El Mala S.",
"sub_out": null,
"score_at": "1 - 1",
"raw": "90+1' 1 - 1 El Mala S. ( Lund K. )"
},
{
"period": "2nd Half",
"side": "home",
"minute": "90+6'",
"action": "Red card",
"player": "Stark N.",
"sub_out": null,
"score_at": null,
"raw": "90+6' Yellow card / Red card Stark N. (Tripping)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "90+6'",
"action": "Yellow card",
"player": "Bulter M.",
"sub_out": null,
"score_at": null,
"raw": "90+6' Bulter M. (Unsportsmanlike conduct)"
}
]
},
"UeC1w87m": {
"url": "https://www.flashscore.com/match/football/b-monchengladbach-88HSzjDr/werder-bremen-Ig1f1fy3/?mid=UeC1w87m#match-summary",
"match_id": "UeC1w87m",
"kickoff": "31.01.2026 16:30",
"competition": "Bundesliga - Round 20",
"home_team": "Werder Bremen",
"away_team": "B. Monchengladbach",
"home_team_url": "https://www.flashscore.com/team/werder-bremen/Ig1f1fy3/",
"away_team_url": "https://www.flashscore.com/team/b-monchengladbach/88HSzjDr/",
"score": "1 - 1",
"score_full_time": null,
"status": "Finished",
"incidents": [
{
"period": "1st Half",
"side": "away",
"minute": "44'",
"action": "Yellow card",
"player": "Reitz R.",
"sub_out": null,
"score_at": null,
"raw": "44' Reitz R. (Roughing)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "57'",
"action": "Substitution",
"player": "Stoger K.",
"sub_out": "Neuhaus F.",
"score_at": null,
"raw": "57' Stoger K. Neuhaus F."
},
{
"period": "2nd Half",
"side": "away",
"minute": "61'",
"action": "Goal",
"player": "Tabakovic H.",
"sub_out": null,
"score_at": "0 - 1",
"raw": "61' 0 - 1 Tabakovic H. ( Honorat F. )"
},
{
"period": "2nd Half",
"side": "home",
"minute": "64'",
"action": "Substitution",
"player": "Grull M.",
"sub_out": "Sugawara Y.",
"score_at": null,
"raw": "64' Grull M. Sugawara Y."
},
{
"period": "2nd Half",
"side": "home",
"minute": "64'",
"action": "Substitution",
"player": "Milosevic J.",
"sub_out": "Njinmah J.",
"score_at": null,
"raw": "64' Milosevic J. Njinmah J."
},
{
"period": "2nd Half",
"side": "away",
"minute": "69'",
"action": "Substitution",
"player": "Friedrich M.",
"sub_out": "Sander P.",
"score_at": null,
"raw": "69' Friedrich M. Sander P. (Injury)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "75'",
"action": "Substitution",
"player": "Schmidt I.",
"sub_out": "Malatini J.",
"score_at": null,
"raw": "75' Schmidt I. Malatini J."
},
{
"period": "2nd Half",
"side": "away",
"minute": "84'",
"action": "Substitution",
"player": "Machino S.",
"sub_out": "Tabakovic H.",
"score_at": null,
"raw": "84' Machino S. Tabakovic H."
},
{
"period": "2nd Half",
"side": "away",
"minute": "84'",
"action": "Substitution",
"player": "Castrop J.",
"sub_out": "Scally J.",
"score_at": null,
"raw": "84' Castrop J. Scally J. (Injury)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "89'",
"action": "Substitution",
"player": "Topp K.",
"sub_out": "Mbangula S.",
"score_at": null,
"raw": "89' Topp K. Mbangula S."
},
{
"period": "2nd Half",
"side": "home",
"minute": "90+4'",
"action": "Goal",
"player": "Topp K.",
"sub_out": null,
"score_at": "1 - 1",
"raw": "90+4' 1 - 1 Topp K. ( Deman O. )"
}
]
},
"Isz531QG": {
"url": "https://www.flashscore.com/match/football/eintracht-frankfurt-8vndvXTk/werder-bremen-Ig1f1fy3/?mid=Isz531QG#match-summary",
"match_id": "Isz531QG",
"kickoff": "16.01.2026 21:30",
"competition": "Bundesliga - Round 18",
"home_team": "Werder Bremen",
"away_team": "Eintracht Frankfurt",
"home_team_url": "https://www.flashscore.com/team/werder-bremen/Ig1f1fy3/",
"away_team_url": "https://www.flashscore.com/team/eintracht-frankfurt/8vndvXTk/",
"score": "3 - 3",
"score_full_time": null,
"status": "Finished",
"incidents": [
{
"period": "1st Half",
"side": "away",
"minute": "1'",
"action": "Goal",
"player": "Kalimuendo A.",
"sub_out": null,
"score_at": "0 - 1",
"raw": "1' 0 - 1 Kalimuendo A. ( Brown N. )"
},
{
"period": "1st Half",
"side": "home",
"minute": "29'",
"action": "Goal",
"player": "Njinmah J.",
"sub_out": null,
"score_at": "1 - 1",
"raw": "29' 1 - 1 Njinmah J. ( Sugawara Y. )"
},
{
"period": "2nd Half",
"side": "home",
"minute": "52'",
"action": "Yellow card",
"player": "Schmid R.",
"sub_out": null,
"score_at": null,
"raw": "52' Schmid R. (Tripping)"
},
{
"period": "2nd Half",
"side": "away",
"minute": "52'",
"action": "Substitution",
"player": "Knauff A.",
"sub_out": "Kristensen R.",
"score_at": null,
"raw": "52' Knauff A. Kristensen R."
},
{
"period": "2nd Half",
"side": "away",
"minute": "56'",
"action": "Goal",
"player": "Collins N.",
"sub_out": null,
"score_at": "1 - 2",
"raw": "56' 1 - 2 Collins N. ( Chaibi F. )"
},
{
"period": "2nd Half",
"side": "home",
"minute": "64'",
"action": "Substitution",
"player": "Milosevic J.",
"sub_out": "Schmidt I.",
"score_at": null,
"raw": "64' Milosevic J. Schmidt I."
},
{
"period": "2nd Half",
"side": "away",
"minute": "65'",
"action": "Substitution",
"player": "Uzun C. Y.",
"sub_out": "Dahoud M.",
"score_at": null,
"raw": "65' Uzun C. Y. Dahoud M."
},
{
"period": "2nd Half",
"side": "away",
"minute": "66'",
"action": "Yellow card",
"player": "Theate A.",
"sub_out": null,
"score_at": null,
"raw": "66' Theate A. (Delay of game)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "75'",
"action": "Substitution",
"player": "Mbangula S.",
"sub_out": "Grull M.",
"score_at": null,
"raw": "75' Mbangula S. Grull M."
},
{
"period": "2nd Half",
"side": "away",
"minute": "78'",
"action": "Yellow card",
"player": "Doan R.",
"sub_out": null,
"score_at": null,
"raw": "78' Doan R. (Roughing)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "78'",
"action": "Goal",
"player": "Stage J.",
"sub_out": null,
"score_at": "2 - 2",
"raw": "78' 2 - 2 Stage J. ( Mbangula S. )"
},
{
"period": "2nd Half",
"side": "home",
"minute": "80'",
"action": "Goal",
"player": "Milosevic J.",
"sub_out": null,
"score_at": "3 - 2",
"raw": "80' 3 - 2 Milosevic J. ( Schmid R. )"
},
{
"period": "2nd Half",
"side": "away",
"minute": "83'",
"action": "Substitution",
"player": "Amaimouni A.",
"sub_out": "Doan R.",
"score_at": null,
"raw": "83' Amaimouni A. Doan R."
},
{
"period": "2nd Half",
"side": "away",
"minute": "83'",
"action": "Substitution",
"player": "Hojlund O.",
"sub_out": "Chaibi F.",
"score_at": null,
"raw": "83' Hojlund O. Chaibi F."
},
{
"period": "2nd Half",
"side": "away",
"minute": "85'",
"action": "Yellow card",
"player": "Amaimouni A.",
"sub_out": null,
"score_at": null,
"raw": "85' Amaimouni A. (Tripping)"
},
{
"period": "2nd Half",
"side": "home",
"minute": "89'",
"action": "Substitution",
"player": "Topp K.",
"sub_out": "Njinmah J.",
"score_at": null,
"raw": "89' Topp K. Njinmah J."
},
{
"period": "2nd Half",
"side": "away",
"minute": "90+4'",
"action": "Goal",
"player": "Knauff A.",
"sub_out": null,
"score_at": "3 - 3",
"raw": "90+4' 3 - 3 Knauff A. ( Amaimouni A. )"
},
{
"period": "2nd Half",
"side": "away",
"minute": "90+6'",
"action": "Yellow card",
"player": "Brown N.",
"sub_out": null,
"score_at": null,
"raw": "90+6' Brown N. (Roughing)"
}
]
}
}
},
"summary": {
"home_matches": 3,
"away_matches": 3,
"unique_matches_scraped": 3,
"elapsed_seconds": 4.201
}
}

❓ FAQ

Does it scrape finished or scheduled matches?

Yes. This Actor extracts all matches available on FlashScore.

Can I use this in automations or external code?

Yes. You can trigger it via API, connect it to webhooks, or integrate it using the Node.js and Python SDKs.

Can FlashScore Data Scraper scrape other sports?

This version focuses on football (soccer). FlashScore uses different layouts for other sports, but it can be extended if needed. Let me know in a review if you'd like other sports scrapers.

FlashScore Match Statistic Scraper not working?

We continuously update and improve scraper reliability. If you notice bugs or changes in FlashScore website structure, please report them on the Actor’s Issues tab so we can fix them quickly.