Skip to content

Source data

Preview first, commit once

Use the guided workflow to add or update selected teams and players without leaving partially imported data.

Choose the operation and provider

Choose New import to add source data or Update existing to synchronize a stored league or team. Then choose whether the selected source represents a league or one team.

Enter the selected provider’s source ID or paste a complete provider URL. Only the extracted source ID is stored. League names are detected when possible from provider metadata or source slugs; direct-team imports require the display name. When updating an existing record, the selected provider filters the available targets.

Supported provider capabilities
Provider Best for Import behavior Season handling Player links
Transfermarkt Recommended for the broadest coverage Fast imports Optional separate four-digit season Not available
Soccerway Global alternative when Transfermarkt data is unavailable Slower because requests are rate-limited Not used Available
WorldFootball Global coverage with detailed player profiles Profiles load separately; fetch no more than two squads per batch Not used Available
Eurofotbal Very fast, Europe-focused imports Final canonical URLs only; redirected URLs cannot be loaded League season embedded in the Source ID; no separate team season Not available

How Soccerbot combines stored source IDs into URLs

QDB Downloader stores sourceName and sourceId, then asks Soccerbot to derive the source page. The URL is not stored, so changing a source ID immediately regenerates the link.

Transfermarkt league: GB1 → https://www.transfermarkt.com/slug/startseite/wettbewerb/GB1. Supplying season 2026 adds /plus?saison_id=2026.

Transfermarkt team: 281 → https://www.transfermarkt.com/slug/kader/verein/281/plus/1. Supplying season 2026 adds ?saison_id=2026.

Soccerway league: czech-republic/chance-liga/standings/bNFMkskm → https://www.soccerway.com/czech-republic/chance-liga/standings/bNFMkskm/standings/overall/.

Soccerway team: slavia-prague/viXGgnyB → https://www.soccerway.com/team/slavia-prague/viXGgnyB/squad/. Soccerway player: kolar-ondrej/xfBGcS1U → https://www.soccerway.com/player/kolar-ondrej/xfBGcS1U/.

WorldFootball league: co7093/mexico-lp---serie-b → https://www.worldfootball.net/competition/co7093/mexico-lp---serie-b/.

WorldFootball team: te237557/artesanos-metepec → https://www.worldfootball.net/teams/te237557/artesanos-metepec/squad/. WorldFootball player: pe599828/oscar-altamirano → https://www.worldfootball.net/person/pe599828/oscar-altamirano/.

Eurofotbal league: chance-liga/2026-2027 → https://www.eurofotbal.cz/chance-liga/2026-2027/tabulky/. The season is part of the Eurofotbal league Source ID. Paste only the final canonical URL because redirected URLs cannot be loaded.

Eurofotbal team: cesko/sparta-praha → https://www.eurofotbal.cz/kluby/cesko/sparta-praha/soupiska.

Transfermarkt and Eurofotbal player source pages are left absent because Soccerbot does not provide player URL APIs for those providers.

Build the selection

Preview a league, select the teams whose squads should be fetched, and then choose entire squads or individual players. A direct-team import starts with its returned squad; individual players are selected from that result.

Control update behavior

For an existing league, decide whether absent teams stay unchanged, become unassigned, or are deleted with their players. For league and team updates, decide whether absent players stay or are deleted.

  • Keep or move teams already owned by another league
  • Keep or move players already owned by another team
  • Keep stored names or replace them with incoming source names

Resolve matches before importing

A new import that matches stored source identities shows the conflicts before commit. Choose whether matching data is kept or refreshed and whether team and player ownership stays where it is or moves to the imported parent.

Historical duplicate player copies are identified and consolidated when required.

Review and commit once

The final summary shows the source, selection, policies, conflicts, and add, update, preserve, move, detach, deduplicate, and delete counts. Destructive changes are called out before the action is enabled.

Only the final confirmation writes to SQLite, and all selected changes are applied in one transaction. Cancellation, preview errors, and network failures do not modify the database.

Import stored provider teams into combined data

Open Combined data → Import and select one stored team or matching teams from up to four providers. Import suggests unique exact-name matches, then shows only the player-matching and conflict steps that are needed.

Automatic matches require the same normalized name plus a matching birthdate or multiple supporting details. Ambiguous players remain separate until you join them manually. Differing fields follow Global settings → Sources unless you choose another available value.

The Summary always lists resolved project players. Deselect individual players or remove every selected player without a resolved birthdate in one action before committing. Project values remain unchanged when source records are refreshed; use Recombine to preview and apply source changes explicitly.

Refresh or edit a stored source

Use Refresh from a league or team table to open the update workflow for that record. Its stored provider is locked and automatically selects the matching scraper. Use Edit to change league or team names, league and team countries, source IDs, optional Transfermarkt seasons, and team-to-league relationships. Eurofotbal league seasons are edited as part of the Source ID. Regenerated source links and provider-aware duplicate checks keep the stored source consistent. Teams can also be permanently deleted with their attached players after confirmation.