Flashscore Team Fixtures, Results & Standings avatar

Flashscore Team Fixtures, Results & Standings

Under maintenance

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Flashscore Team Fixtures, Results & Standings

Flashscore Team Fixtures, Results & Standings

Under maintenance

Extract upcoming team fixtures, past match results, and current league standings from Flashscore team profile URLs. Supports football, basketball, and other sports. Returns all future matches, configurable result history (default 50), and full division tables with W/D/L stats — no proxy required.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Extractify Labs

Extractify Labs

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Categories

Share

Last updated: 2026-05-04 | Version: 1.0.0 | Status: Active

Extract upcoming team fixtures, past match results, and current league standings from Flashscore team profile URLs. Supports football, basketball, and other sports. Returns all future matches, configurable result history (default 50 per team), and full division tables with W/D/L stats — all in a single actor run.

Overview

The flashscore-team-fixtures actor accepts one or more Flashscore team profile URLs and returns three types of structured data per team: all upcoming scheduled fixtures, recent past match results (configurable depth, default 50), and the complete current league standings table for the team's active tournament. All three data sets are extracted in a single run using Flashscore's internal feed API — no authentication key, no proxy subscription, and no browser automation required.

Who is this for? Sports analytics platforms that need to track both upcoming schedule and historical performance. Betting and fantasy apps that require opponent standings context for odds modelling. Team websites that want to display fixtures and standings without embedding a third-party widget. Data journalists compiling season-long statistics.

What makes it different? Most Flashscore actors return either match results or live scores. This actor is the only one that combines fixtures + past results + standings for any team in one pass, keyed by team profile URL. Each output item includes a source_team_url field that links it back to the input URL that generated it, making multi-team runs easy to segment.

Key Features

  • All upcoming fixtures for a team — Returns every future scheduled match with no pagination limit. A team in mid-season may have 40+ scheduled fixtures; plan storage accordingly.
  • Past match results with configurable depth — Retrieve up to 50 most recent results per team (default), set a higher limit, or pass null for the full available history.
  • Full league standings — not just one row — The standings output includes all teams in the division (typically 16–20 rows for football leagues), not only the queried team. Each row carries W/D/L, goals for/against, goal difference, and points.
  • Multiple teams in one run — Pass any number of team URLs in startUrls; each team's data is returned separately with source_team_url for tracking.
  • No proxy required — Flashscore does not block direct requests. You pay only for Apify compute — no residential or datacenter proxy costs.
  • Football and basketball fully tested — Additional sports (volleyball, tennis, ice hockey, rugby, handball, baseball, and more) are supported automatically; field availability varies by sport.
  • 3-in-1 data model — A single record_type field ("result", "fixture", "standing") distinguishes item types, so the dataset can be filtered or split downstream without joining separate runs.

Use Cases

Sports Analytics Platforms

Aggregate match results and standings data from multiple teams to build season-long performance dashboards. Pass 10–20 team URLs in startUrls, set pastResultsLimit to the number of previous matches you want per team, and use the structured tournament_name and standing_position fields to group and rank teams programmatically. The actor returns one consistent JSON schema for all three data types, which integrates directly with pandas, BigQuery, or any standard data pipeline.

Betting and Fantasy Applications

Pre-populate upcoming fixture lists and recent results for odds calculation and player prop models. Use includeFixtures: true with includeStandings: true to get both the team's next opponents and their current division rank in a single run. The source_team_url field lets you join the fixture and standings data back to the input team without an additional lookup. Set pastResultsLimit to a low value (5–10) for fast runs focused on recency.

Team and Club Websites

Display the team's upcoming schedule, recent match history, and divisional standings without embedding a third-party widget or subscribing to a sports data API. Run the actor on a schedule (e.g. daily at midnight) and write the output to your CMS or database. The match_date field is ISO 8601 UTC, which converts cleanly to any local timezone.

Data Journalism and Research

Compile season statistics, compare division standings at a point in time, or track a team's form over the last N matches. Use pastResultsLimit: null to fetch the complete available history for a team, then filter by tournament_name or country_name to isolate specific competitions. Export the dataset as CSV or XLSX directly from the Apify console.

Automated Daily Digest

Schedule the actor to run each morning with pastResultsLimit: 1 and includeStandings: true to get yesterday's result and the updated standings table for each tracked team. Combine with Apify Webhooks to push updates to Slack, a Google Sheet, or an email notification pipeline.

Input Parameters

ParameterTypeDefaultDescription
startUrlsarray— (required)One or more Flashscore team profile URLs. Format: https://www.flashscore.com/team/{slug}/{team-id}/. Other URL shapes (tournament pages, match pages) are logged as warnings and skipped.
pastResultsLimitinteger50Maximum number of past match results to return per team. Set to null for unlimited (fetches all available results — can be 200+ for established clubs). This is a per-team limit, not a global cap — use maxItems for a global cap. Minimum: 1.
includeFixturesbooleantrueInclude upcoming scheduled fixtures in the output. Returns all future matches — no count limit on fixtures. Set to false if you only need results and standings.
includeStandingsbooleantrueInclude the full current league standings table. Returns all teams in the division (typically 16–20 rows for football), not just the queried team's row. Set to false if you only need match data.
maxItemsintegernullGlobal cap on total output items across all teams and all record types (fixtures + results + standings rows combined). Item order is non-deterministic (all three feeds are requested concurrently). A low maxItems value may cut off some record types entirely. Leave unset for no limit.
proxyConfigurationobject{"useApifyProxy": false}Proxy settings. Flashscore does not block direct requests — you do not need a proxy for normal use. Enable only if you are in a region where Flashscore is geo-restricted.

How to find a team URL

  1. Go to flashscore.com
  2. Search for the team name
  3. Click the team's profile page — the URL will follow the pattern https://www.flashscore.com/team/{slug}/{team-id}/

Example team URLs:

  • Football: https://www.flashscore.com/team/manchester-united/ppjDR086/
  • Basketball: https://www.flashscore.com/team/golden-state-warriors/SxUtXqch/

Output Schema

The actor returns a flat dataset. Every item has a record_type field that identifies which of three data types the item represents.

Fixtures and Match Results (record_type: "result" or "fixture")

FieldTypeExampleNotes
record_typestring"result" / "fixture""result" for finished matches; "fixture" for scheduled future matches
source_team_urlstring"https://www.flashscore.com/team/manchester-united/ppjDR086/"The input URL that produced this item
match_idstring"zRIM7cR1"Flashscore internal match ID
match_urlstring"https://www.flashscore.com/match/football/..."Full Flashscore match detail URL
match_datestring (ISO 8601)"2026-05-03T14:30:00+00:00"UTC timestamp
match_statusstring"Finished" / "Scheduled"Title case: Finished, Scheduled, Postponed, Cancelled, Live (for in-progress matches)
home_team_namestring"Manchester Utd"Full team name
home_team_idstring"ppjDR086"Flashscore team ID
home_team_slugstring"manchester-united"URL slug
home_team_short_namestring"MNU"3-letter short code
away_team_namestring"Liverpool"Full team name
away_team_idstring"lId4TMwf"Flashscore team ID
away_team_slugstring"liverpool"URL slug
away_team_short_namestring"LIV"3-letter short code
score_homeinteger3Home team score. Absent for scheduled fixtures (field is missing from the item entirely, not null).
score_awayinteger2Away team score. Absent for scheduled fixtures.
tournament_namestring"Premier League"Tournament/league name
tournament_idstring"dYlOSQOD"Flashscore tournament ID
tournament_urlstring"https://www.flashscore.com/football/england/premier-league/"Full tournament URL
country_namestring"England"Country or category name
round_namestring"Round 32"Round name. Absent for basketball and cup competitions that do not use round labels.
sport_namestring"football"Lowercase sport name

Example result item (football):

{
"record_type": "result",
"source_team_url": "https://www.flashscore.com/team/manchester-united/ppjDR086/",
"match_id": "zRIM7cR1",
"match_url": "https://www.flashscore.com/match/football/manchester-united-ppjDR086/liverpool-lId4TMwf/?mid=zRIM7cR1",
"match_date": "2026-05-03T14:30:00+00:00",
"match_status": "Finished",
"home_team_name": "Manchester Utd",
"home_team_id": "ppjDR086",
"home_team_slug": "manchester-united",
"home_team_short_name": "MNU",
"away_team_name": "Liverpool",
"away_team_id": "lId4TMwf",
"away_team_slug": "liverpool",
"away_team_short_name": "LIV",
"score_home": 3,
"score_away": 2,
"tournament_name": "Premier League",
"tournament_id": "dYlOSQOD",
"tournament_url": "https://www.flashscore.com/football/england/premier-league/",
"country_name": "England",
"round_name": "Round 36",
"sport_name": "football"
}

Example fixture item (football — note: no score fields):

{
"record_type": "fixture",
"source_team_url": "https://www.flashscore.com/team/manchester-united/ppjDR086/",
"match_id": "b3BirtSi",
"match_url": "https://www.flashscore.com/match/football/manchester-united-ppjDR086/chelsea-p6ahwuwJ/?mid=b3BirtSi",
"match_date": "2026-05-10T15:00:00+00:00",
"match_status": "Scheduled",
"home_team_name": "Manchester Utd",
"home_team_id": "ppjDR086",
"home_team_slug": "manchester-united",
"home_team_short_name": "MNU",
"away_team_name": "Chelsea",
"away_team_id": "p6ahwuwJ",
"away_team_slug": "chelsea",
"away_team_short_name": "CHE",
"tournament_name": "Premier League",
"tournament_id": "dYlOSQOD",
"tournament_url": "https://www.flashscore.com/football/england/premier-league/",
"country_name": "England",
"round_name": "Round 37",
"sport_name": "football"
}

League Standings (record_type: "standing")

The standings output returns the full division table — all teams in the league, not only the queried team's row. Typically 16–20 rows for a football league; varies by sport and competition format.

FieldTypeExampleNotes
record_typestring"standing"Always "standing"
source_team_urlstring"https://www.flashscore.com/team/manchester-united/ppjDR086/"The input URL that triggered this standings fetch
tournament_namestring"Premier League"Tournament/league name
tournament_idstring"dYlOSQOD"Flashscore tournament ID
standing_positioninteger5Current rank (1-based)
team_namestring"Arsenal"Full team name
team_idstring"hA1Zm19f"Flashscore team ID
team_logo_urlstring"https://static.flashscore.com/res/image/data/abc123.png"Team logo CDN URL
matches_playedinteger35Total matches played this season
winsinteger23Wins
drawsinteger7Draws. Absent for basketball and sports with no draw result.
lossesinteger5Losses
goals_forinteger67Goals or points scored. Field label varies by sport but the field name is always goals_for.
goals_againstinteger26Goals or points conceded. Always goals_against regardless of sport.
goal_differenceinteger41goals_for − goals_against. Absent for sports that do not publish GD (some basketball conferences).
pointsinteger76League points. For basketball this may represent wins or a point-based total depending on the competition.
group_namestring"East Conference"Division/group/conference label. Absent for single-group competitions.
sport_namestring"football"Lowercase sport name

Example standings item (football):

{
"record_type": "standing",
"source_team_url": "https://www.flashscore.com/team/manchester-united/ppjDR086/",
"tournament_name": "Premier League",
"tournament_id": "dYlOSQOD",
"standing_position": 1,
"team_name": "Arsenal",
"team_id": "hA1Zm19f",
"team_logo_url": "https://static.flashscore.com/res/image/data/Sj1HJGhe-YKtEQi5I.png",
"matches_played": 35,
"wins": 23,
"draws": 7,
"losses": 5,
"goals_for": 67,
"goals_against": 26,
"goal_difference": 41,
"points": 76,
"sport_name": "football"
}

Note on conditional fields in standings: This example shows a Premier League row (single-group competition), so group_name is absent. For competitions with divisions or conferences (e.g. NBA East/West), group_name would be present. draws is absent for basketball. goal_difference is absent for competitions that do not publish it. All absent fields are missing from the item entirely — not null.

Sports Support

Football and basketball have been fully tested and validated. Additional sports are supported automatically via the same feed structure; the table below documents which fields are present for each confirmed sport.

Sportdrawsgoal_differenceround_namegroup_name
FootballPresentPresentPresent (league rounds)Present (some cup formats)
BasketballAbsentPresent or absentAbsentPresent (conferences)
VolleyballAbsentPresentPresentPresent
Ice HockeyAbsentPresentPresentPresent
TennisAbsentAbsentAbsentAbsent
RugbyAbsentPresentPresentPresent
Other sportsVariesVariesVariesVaries

Note: For any sport not in this table, test with a sample URL to confirm which fields are populated. The actor omits missing fields from the item entirely rather than returning null — downstream code should handle optional fields gracefully.

Input → Output Reference

InputResult
1 team URL, includeFixtures: true, includeStandings: falseFixtures only: typically 10–60 items (full team schedule)
1 team URL, pastResultsLimit: 50, includeFixtures: false, includeStandings: false50 result items (last 50 matches)
1 team URL, includeStandings: true, includeFixtures: false, pastResultsLimit: 11 result + 16–20 standings rows
3 team URLs, pastResultsLimit: 10 (all defaults)~30 results + ~90+ fixtures + ~60 standings rows
Any team URL, maxItems: 20At most 20 items total (order non-deterministic)

Code Examples

Python — Single team, all fixtures

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("extractify-labs/flashscore-team-fixtures").call(
run_input={
"startUrls": ["https://www.flashscore.com/team/manchester-united/ppjDR086/"],
"includeFixtures": True,
"includeStandings": False,
"pastResultsLimit": 1, # minimal results, focus on fixtures
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item["record_type"] == "fixture":
print(item["match_date"], item["away_team_name"])

Python — Multiple teams, results and standings

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("extractify-labs/flashscore-team-fixtures").call(
run_input={
"startUrls": [
"https://www.flashscore.com/team/manchester-united/ppjDR086/",
"https://www.flashscore.com/team/chelsea/p6ahwuwJ/",
"https://www.flashscore.com/team/liverpool/pWXhRF2p/",
],
"pastResultsLimit": 10,
"includeFixtures": False,
"includeStandings": True,
}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
results = [i for i in items if i["record_type"] == "result"]
standings = [i for i in items if i["record_type"] == "standing"]
print(f"Results: {len(results)}, Standings rows: {len(standings)}")

How to extract Premier League standings

  1. Find the URL for any Premier League team. Example: https://www.flashscore.com/team/manchester-united/ppjDR086/
  2. Open the actor on the Apify Store.
  3. Paste the URL into startUrls.
  4. Set includeFixtures: false and pastResultsLimit: 1 (minimum results, focus on standings).
  5. Set includeStandings: true.
  6. Click Start and download the output.
  7. Filter items where record_type == "standing".
  8. Sort by standing_position (1–20) to get the full table.

Limitations and Known Issues

Standings scope. The actor returns standings for the team's primary active tournament only (e.g. Premier League). It does not return cup competition standings (e.g. FA Cup), European standings (e.g. Champions League), or historical season tables. Use flashscore-football-seasons for historical data.

Team profile URLs only. The actor only accepts Flashscore team profile URLs (/team/{slug}/{id}/). Tournament pages, match pages, and player pages are skipped with a warning. If all input URLs are invalid, the actor stops with an error.

Sport-specific field gaps. Some sports omit certain fields. Basketball results do not include draws. Tennis and some cup competitions do not include round_name. The actor omits these fields from the item entirely (absent, not null) — your downstream code should handle missing fields gracefully.

Conditional scores. Scheduled fixtures do not have scores. The score_home and score_away fields are absent (not null) from all fixture items.

maxItems tolerance. The global maxItems cap is approximate: Scrapy's async pipeline may allow one additional item beyond the configured limit. If you set maxItems: 50 you may receive 50 or 51 items. This is a known Scrapy behaviour (tracked in tech debt issue #2). For strict limits, filter the dataset downstream.

UTC timestamps. All match_date values are UTC. Convert to your local timezone in post-processing if needed.

No real-time updates. This is a point-in-time extraction. Standings and fixture lists reflect Flashscore's data at the moment the actor runs. Schedule the actor on a daily or hourly interval via Apify Scheduler to keep data fresh.

FAQ

Why are some past results missing?

The actor fetches results in reverse-chronological order (most recent first). If pastResultsLimit is set to 50 and the team has played 200+ matches this season, only the 50 most recent are returned. Increase pastResultsLimit or set it to null for the full available history.

Can I scrape multiple teams in one run?

Yes. Pass any number of team URLs in the startUrls array. Each team is processed independently, and every output item includes source_team_url so you can identify which input URL produced it. There is no built-in limit on the number of teams — use maxItems if you need to cap total output across all teams.

What is the difference between this actor and flashscore-results?

flashscore-results accepts tournament/league page URLs and returns match results for that competition. This actor accepts team profile URLs and returns fixtures, results, and standings for that specific team. If you need all results across a league (not just one team), use flashscore-results instead.

Do I need a proxy?

No. Flashscore allows direct requests from most regions without requiring a proxy. Enable the proxyConfiguration option only if you are in a region where Flashscore is geo-restricted.

Which sports are supported?

Football and basketball are fully tested and guaranteed. Other sports — volleyball, ice hockey, rugby, tennis, handball, baseball, and more — are automatically supported via the same feed structure, but field availability varies (see the Sports Support table above). If you are using a sport other than football or basketball, test with a sample URL to confirm the output meets your needs.

Can I get historical standings from previous seasons?

No. This actor returns the current live standings only. For historical season tables and past season data, use flashscore-football-seasons.