# Flashscore Injuries & Suspensions Tracker (`harry.automazione/flashscore-injuries-suspensions`) Actor

Extract real-time player injuries, suspensions, reasons, and estimated return dates per team from Flashscore.

- **URL**: https://apify.com/harry.automazione/flashscore-injuries-suspensions.md
- **Developed by:** [Harry.automazione](https://apify.com/harry.automazione) (community)
- **Categories:** Other, Integrations
- **Stats:** 2 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## ⚽ Flashscore Injuries & Suspensions Tracker

[![Apify Actor](https://img.shields.io/badge/Apify-Actor-orange.svg)](https://apify.com)
[![TypeScript](https://img.shields.io/badge/TypeScript-Strict-blue.svg)](https://www.typescriptlang.org)
[![HTTP/2 Enabled](https://img.shields.io/badge/Network-HTTP%2F2-green.svg)](https://nghttp2.org)

High-performance, real-time **Flashscore Injuries & Suspensions Scraper**. Extract missing players, absence reasons (e.g. *Thigh Injury*, *Achilles Tendon Injury*, *Yellow Cards*, *Red Card*), and estimated return dates across top European leagues, active worldwide competitions, or custom teams.

***

### 🚀 Key Features & Advantages

| Feature | Advantage |
| :--- | :--- |
| 🏥 **Real-Time Absence Tracking** | Captures injured, suspended, and questionable players updated directly from official club squad pages. |
| 📅 **Isolated Return Dates & Reasons** | Cleanly separates absence reasons (*Knee Injury*, *Red Card*) from estimated return dates (*31.12.2026*, *16.08.2026*). |
| ⚽ **Worldwide League Presets** | Preset options for **Serie A**, **Premier League**, **LaLiga**, **Bundesliga**, **Ligue 1**, **Liga Portugal**, **Eliteserien (Norway)**, **MLS (USA)**, and **Brasileirão (Brazil)**. |
| 🔗 **Custom League & Team URL Mode** | Supports ANY custom Flashscore league standings URL or individual team squad URL. |
| ⚡ **Stealth Network Pipeline** | Fast extraction via Puppeteer Stealth with full TLS/JA3 fingerprint consistency. |

***

### 📊 Dataset Output Format (JSON)

Below is an authentic example of the clean JSON dataset produced by this Actor:

```json
[
  {
    "teamName": "Malmo FF",
    "playerName": "Jansson Pontus",
    "playerId": "4toh0E9q",
    "playerUrl": "https://www.flashscore.com/player/jansson-pontus/4toh0E9q/",
    "status": "Injured",
    "reason": "Knee Injury",
    "estimatedReturnDate": "31.12.2026",
    "extractedAt": "2026-07-31T12:00:00.000Z"
  },
  {
    "teamName": "Hacken",
    "playerName": "Lindberg Julius",
    "playerId": "tS9JaXba",
    "playerUrl": "https://www.flashscore.com/player/julius-lindberg/tS9JaXba/",
    "status": "Suspended",
    "reason": "Yellow Cards",
    "estimatedReturnDate": "",
    "extractedAt": "2026-07-31T12:00:00.000Z"
  },
  {
    "teamName": "Brommapojkarna",
    "playerName": "Hansen Mads",
    "playerId": "44I4AOGU",
    "playerUrl": "https://www.flashscore.com/player/hansen-mads/44I4AOGU/",
    "status": "Suspended",
    "reason": "Red Card",
    "estimatedReturnDate": "",
    "extractedAt": "2026-07-31T12:00:00.000Z"
  },
  {
    "teamName": "GAIS",
    "playerName": "Lundgren Gustav",
    "playerId": "tpRO8VlL",
    "playerUrl": "https://www.flashscore.com/player/lundgren-gustav/tpRO8VlL/",
    "status": "Injured",
    "reason": "Achilles Tendon Injury",
    "estimatedReturnDate": "",
    "extractedAt": "2026-07-31T12:00:00.000Z"
  }
]
```

***

### ⚙️ Input Parameters

| Parameter | Type | Default | Description |
| :--- | :---: | :---: | :--- |
| `league` | Enum | `"Serie A"` | Preset league selection (**Serie A**, **Premier League**, **LaLiga**, **Bundesliga**, **Ligue 1**, **Liga Portugal**, **Eliteserien**, **MLS**, **Brasileirão**, or **Custom URL Mode**). |
| `customUrl` | String | `""` | Optional Flashscore League Standings URL or Team Squad URL when using Custom URL Mode. |
| `statusFilter` | Enum | `"All Absences"` | Filter by absence type: `"All Absences"`, `"Injuries Only"`, or `"Suspensions Only"`. |
| `maxTeams` | Integer | `20` | Maximum teams to extract per run (1 to 50, safety limit). |
| `includePlayerProfile` | Boolean | `true` | Include player profile ID and URL link. |
| `proxyConfig` | Object | `{}` | Apify Proxy settings (Residential Proxies recommended). |

***

### 💡 Architecture Overview

Under the hood, the Actor follows a robust 3-stage scraping pipeline:

1. **Target Discovery (`session_manager.ts` & `main.ts`)**: Navigates to the selected league standings URL using Puppeteer Stealth, waits for dynamic DOM hydration, and extracts real team squad links.
2. **Universal DOM Extraction (`main.ts`)**: Loads each team's squad page (`/squad/`), inspects medical badges and absence status indicators, and parses missing player names, profile IDs, absence reasons (*Red Card*, *Yellow Cards*, *Knee Injury*), and return estimates.
3. **Dataset Ingestion (`apify.pushData`)**: Validates extracted records against strict Apify Dataset schemas and stores clean, structured JSON output ready for Excel, Python Pandas, or SQL databases.

***

### ⚖️ Legal Disclaimer & Terms of Use

This Actor is provided for academic, research, and data analytical purposes only. Users are responsible for complying with the data provider's Terms of Service. No liability is assumed for the misuse of this tool or the accuracy of external data.

***

### 🇮🇹 Sintesi in Italiano

Questo Apify Actor consente di tracciare in tempo reale gli **infortuni, le squalifiche ed i tempi di rientro stimati** dei calciatori per tutte le squadre delle principali leghe mondiali.

È ideale per:

- **Match Analyst & Quantitative Bettors**: Integrare l'impatto delle assenze chiave nei modelli di probabilità (xG e quote).
- **Fantasy Football (Fantacalcio)**: Monitorare infortunati e squalificati prima della chiusura delle formazioni.
- **Sports Portals**: Alimentare widget e feed di notizie con dati sempre aggiornati.

**Disclaimer**: Questo strumento è fornito esclusivamente per scopi di ricerca e analisi. L'utente è responsabile dell'osservanza dei termini di servizio del provider dei dati.

***

**Optimized for & Supported Categories:**
*Flashscore Injuries Scraper, Football Injury Tracker, Soccer Suspensions API, Missing Players Data, Fantasy Football Injury Feed, Betting Absence Tracker, Squad Injuries Scraper.*

*For support or custom feature requests, contact us via the Apify Console.*

# Actor input Schema

## `league` (type: `string`):

Choose a preset competition to automatically extract missing players for all teams in that league.

## `customUrl` (type: `string`):

Used when 'Custom URL Mode' is selected. Paste ANY Flashscore League Standings URL (e.g. https://www.flashscore.com/football/norway/eliteserien/standings/) OR Team Squad URL.

## `statusFilter` (type: `string`):

Filter extracted players by absence type.

## `maxTeams` (type: `integer`):

Limit the number of teams to extract per run. Set 0 or 20 for full league.

## `includePlayerProfile` (type: `boolean`):

Include player ID and profile URL link in output JSON.

## `proxyConfig` (type: `object`):

Residential Proxies recommended for large automated scraping schedules.

## Actor input object example

```json
{
  "league": "Serie A",
  "statusFilter": "All Absences",
  "maxTeams": 20,
  "includePlayerProfile": true
}
```

# Actor output Schema

## `dataset` (type: `string`):

Dataset containing player injuries, suspensions, and return dates.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "customUrl": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("harry.automazione/flashscore-injuries-suspensions").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "customUrl": "" }

# Run the Actor and wait for it to finish
run = client.actor("harry.automazione/flashscore-injuries-suspensions").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "customUrl": ""
}' |
apify call harry.automazione/flashscore-injuries-suspensions --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,harry.automazione/flashscore-injuries-suspensions"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7JlpeRHLSUvaqIQLG/builds/Cv24KgciwX3zGsiVX/openapi.json
