πŸš€ Sofascore Players Scraper Β· 2,500 Free Players/Month avatar

πŸš€ Sofascore Players Scraper Β· 2,500 Free Players/Month

Pricing

from $2.00 / 1,000 results

Go to Apify Store
πŸš€ Sofascore Players Scraper Β· 2,500 Free Players/Month

πŸš€ Sofascore Players Scraper Β· 2,500 Free Players/Month

Sofascore Players Scraper gets you player data ⚑ fast, 🎯 100% accurate and πŸ” ridiculously detailed β€” profile, market value, 114 season stats, transfers & national-team record, for player URLs or full squads. πŸ’° $2 per 1,000 players, no start fee. Scrape your first 2,500 players free every month πŸš€

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Chetan Jain

Chetan Jain

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Sofascore Players Scraper

Sofascore Players Scraper by Omkar Cloud gets you 🎯 accurate, πŸ” detailed Sofascore player data.

Sofascore tracks every player's profile, market value, season statistics, transfers and international record, and every run reads it live β€” so you get today's numbers for a single player, a list of players, or a whole squad, one row per player, and can successfully complete your project.

$2 per 1,000 players. And with Apify's free plan you get $5 of credit every month, so your first 2,500 players each month are free.

This is an excellent Actor made by Omkar Cloud, which is Rated Excellent β€” 4.7 based on 30 reviews on Trustpilot.

πŸ‘‰ Try Sofascore Players Scraper free β€” your first 2,500 players are Free.

What can I get

  • πŸ§‘β€πŸ’Ό Any player, or a whole squad β€” paste Sofascore player ids or sofascore.com player URLs, or team ids / team URLs to get every squad member in one go; mix both in one run
  • πŸͺͺ The full profile on every row β€” name, photo, position and detailed positions, jersey number, height, preferred foot, date of birth, nationality, market value with currency, contract end, followers, club (with its primary tournament) and Sofascore's player characteristics
  • πŸ“ˆ 114 season statistics β€” rating, appearances, minutes, goals, assists, xG, xA, shots, key passes, big chances, pass accuracy, dribbles, duels, tackles, interceptions, cards, distance covered, top speed, goalkeeper saves and more, plus the season rating breakdown β€” for the player's current main competition or any tournament and season you choose
  • πŸ” Transfer history β€” every career move with from/to team, date, transfer type and fee
  • 🏴 National-team record β€” caps, goals and debut date for each national side
  • 🧾 Source context on every row β€” the entry as typed, the squad it came from, and the tournament, season and type the statistics cover

Why Sofascore Players Scraper

Most other Sofascore scrapers fail you in one of four ways:

  • ⚽ Match-only β€” fixtures, lineups and live scores, never a player profile you can build on
  • 🧩 Low-detail data β€” a name and a position, not 114 season metrics, transfers and caps
  • πŸ’Έ Pay more to get the same data β€” plus a start fee on every run
  • πŸͺ¦ Works today, breaks next month β€” nobody maintains it

Sofascore Players Scraper is read live on every run, priced honestly, and actively maintained.

Input

FieldWhat it does
PlayersSofascore player ids (934235) or sofascore.com player URLs, one row each
Teams (whole squad)Sofascore team ids (42) or sofascore.com team URLs β€” every squad member becomes a row, tagged with source_team_id and source_team_name
Tournament ID / Season IDOptional scope for the statistics. Leave both empty and Sofascore uses each player's current main competition and its current season
Statistics Typeoverall (default), regularSeason or playoffs
Include Transfer HistoryAdds transfer_history to every row (default on)
Include National-Team RecordAdds national_team_statistics to every row (default on)
Max PlayersCost control for the whole run β€” 1,000 players = $2

Example: A Full Sofascore Player

{
"source_input": "934235",
"source_team_id": null,
"source_team_name": null,
"id": 934235,
"name": "Bukayo Saka",
"short_name": "B. Saka",
"slug": "bukayo-saka",
"first_name": "Bukayo",
"last_name": "Saka",
"link": "https://www.sofascore.com/football/player/bukayo-saka/934235",
"image_link": "https://img.sofascore.com/api/v1/player/934235/image",
"position": "F",
"detailed_positions": ["RW"],
"jersey_number": 7,
"height_cm": 178,
"preferred_foot": "Left",
"date_of_birth": "2001-09-05",
"gender": "M",
"country": { "name": "England", "alpha2": "EN", "alpha3": "ENG", "slug": "england" },
"market_value": { "amount": 115000000, "currency": "EUR" },
"contract_until": "2030-06-30",
"followers_count": 220006,
"is_deceased": false,
"is_underage": false,
"team": {
"id": 42,
"name": "Arsenal",
"short_name": "Arsenal",
"code": "ARS",
"slug": "arsenal",
"link": "https://www.sofascore.com/team/football/arsenal/42",
"image_link": "https://img.sofascore.com/api/v1/team/42/image",
"sport": { "id": 1, "name": "Football", "slug": "football" },
"country": { "name": "England", "alpha2": "EN", "alpha3": "ENG", "slug": "england" },
"gender": "M",
"is_national": false,
"colors": { "primary": "#cc0000", "secondary": "#ffffff", "text": "#ffffff" },
"followers_count": 4194250,
"primary_tournament": {
"id": 17,
"name": "Premier League",
"slug": "premier-league",
"link": "https://www.sofascore.com/tournament/football/england/premier-league/17",
"image_link": "https://img.sofascore.com/api/v1/unique-tournament/17/image",
"category": { "id": 1, "name": "England", "slug": "england", "flag_image_link": "https://img.sofascore.com/api/v1/country/EN/flag" }
}
},
"characteristics": {
"positive": [{ "type": 26, "rank": 369 }, { "type": 25, "rank": 437 }, { "type": 7, "rank": 1576 }],
"negative": [],
"positions": ["RW"]
},
"statistics": {
"rating": 7.4666666666667,
"appearances": 3,
"matches_started": 3,
"minutes_played": 247,
"goals": 2,
"assists": 0,
"goals_assists_sum": 2,
"expected_goals": 1.4952,
"expected_assists": 0.3421507,
"total_shots": 9,
"shots_on_target": 5,
"goal_conversion_percentage": 22.222222222222,
"key_passes": 3,
"big_chances_created": 0,
"accurate_passes": 92,
"total_passes": 109,
"accurate_passes_percentage": 84.403669724771,
"accurate_final_third_passes": 57,
"successful_dribbles": 4,
"successful_dribbles_percentage": 44.444444444444,
"total_duels_won": 20,
"total_duels_won_percentage": 58.823529411765,
"tackles": 4,
"interceptions": 3,
"ball_recovery": 12,
"touches": 175,
"was_fouled": 10,
"kilometers_covered": 28.7772603,
"number_of_sprints": 29,
"top_speed": 32.19876,
"yellow_cards": 0,
"red_cards": 0
},
"statistics_scope": {
"tournament_id": 17,
"season_id": 96668,
"type": "overall",
"team": { "id": 42, "name": "Arsenal", "short_name": "Arsenal", "code": "ARS", "slug": "arsenal", "link": "https://www.sofascore.com/team/football/arsenal/42" }
},
"season_rating_breakdown": { "shot_value": 0.09, "pass_value": -0.2, "dribble_value": 0.34, "defensive_value": 0.02 },
"transfer_history": [
{
"id": 923356,
"transfer_date": "2019-07-01",
"from_team_name": "Arsenal U21",
"to_team_name": "Arsenal",
"transfer_from": { "id": 36554, "name": "Arsenal U21", "short_name": "Arsenal U21", "code": "ARS", "slug": "arsenal-u21", "link": "https://www.sofascore.com/team/football/arsenal-u21/36554" },
"transfer_to": { "id": 42, "name": "Arsenal", "short_name": "Arsenal", "code": "ARS", "slug": "arsenal", "link": "https://www.sofascore.com/team/football/arsenal/42" },
"type": 3,
"transfer_fee": 0,
"transfer_fee_description": "-",
"transfer_fee_raw": { "value": 0, "currency": "EUR" }
}
],
"national_team_statistics": [
{
"team": { "id": 4713, "name": "England", "short_name": "England", "code": "ENG", "slug": "england", "link": "https://www.sofascore.com/team/football/england/4713", "is_national": true, "ranking": 4 },
"appearances": 56,
"goals": 17,
"debut": "2020-10-08T00:00:00Z"
}
]
}

Trimmed for readability. statistics carries all 114 metrics (shots from inside/outside the box, crosses, long balls, clearances, possession lost, goalkeeper saves, punches, high claims, penalties, hit woodwork, own goals and more), and every team block carries its image link, sport, colours and follower count. You can download the dataset as JSON, CSV, Excel or HTML.

Get Started with 2,500 Free Players

  1. Hit Try for Free Button β€” the input is pre-filled with Bukayo Saka (934235) and the whole Arsenal squad (42).
  2. Enjoy your data 😎.

Pricing

High value, Low price.

WhatPriceWhat you get
Players$2 per 1,000the full profile (photo, positions, number, height, foot, birth date, nationality, market value, contract end, followers, club with primary tournament, characteristics), 114 season statistics with the season rating breakdown, the complete transfer history and the national-team record + the source input, squad and statistics scope

No start fee, no add-ons β€” one flat price for every plan, and you pay only for the rows you get. Control your spend with Max Players: 1,000 players = $2.

πŸ’‘ Apify's free plan includes $5 of credit every month β€” that's 2,500 free players, every month.

πŸ‘‰ Scrape your first 2,500 players free

Run It from Code

Grab your API token from Integrations Settings here and replace <YOUR_API_TOKEN> below.

Python (pip install apify-client)

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("omkar-cloud/sofascore-players-scraper").call(run_input={
"players": ["934235", "https://www.sofascore.com/football/player/viktor-gyokeres/804508"],
"teams": ["42"],
"maxResults": 30,
})
for player in client.dataset(run["defaultDatasetId"]).iterate_items():
print(player["name"], player["market_value"]["amount"], player["statistics"]["rating"])

Node.js (npm install apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('omkar-cloud/sofascore-players-scraper').call({
teams: ['https://www.sofascore.com/team/football/arsenal/42'],
statsType: 'overall',
maxResults: 30,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

FAQ

Which season do the statistics cover? By default each player's current main competition and its current season β€” Sofascore decides, so a mixed list of players from different leagues just works. Every row records the scope actually used in statistics_scope (tournament_id, season_id, type). Set Tournament ID and Season ID to pin one competition and season for all players; a player with no statistics there still gets a row with statistics empty.

How much does it cost to scrape Sofascore players? $2 per 1,000 players, flat, with no start fee and no add-ons. Apify's free plan gives you $5 of credit every month, so your first 2,500 players each month cost nothing. Cap a run with Max Players or a maximum cost per run.

Can I scrape a whole team? Yes. Put the team's Sofascore id or URL in Teams (whole squad) and every squad member becomes a row, tagged with source_team_id and source_team_name. Add several teams to compare squads in one dataset.

What if a player is in my list and also in a squad? They are scraped and billed once. The Actor remembers every player id across the run, so duplicates β€” a player listed twice, or listed and also in a squad β€” cost one row.

What is in transfer_history and national_team_statistics? transfer_history lists every career move: the from and to teams, the date, the transfer type and the fee (both as a number with currency and as Sofascore's description). national_team_statistics lists each national side with caps, goals and the debut date. Turn either off in the input for a faster run.

Where does the data come from? Sofascore, read live on every run β€” the same profile, statistics, transfers and international record you see on sofascore.com, in clean JSON.

Is it legal to scrape Sofascore? The Actor collects publicly available sports data β€” player profiles, statistics and career records that Sofascore publishes openly. Please use the data responsibly and in line with Sofascore's terms and the laws that apply to you.

πŸ‘‰ Scrape your first 2,500 players free now

πŸ’¬ Have Questions? We Have Answers.

You're a business owner β€” we know how hard completing a project can be. So we offer full support: just message us and we'll reply βœ… with a solution within 1 working day.

Message Us on WhatsApp

Ask Us on Email

You are important to us β€” just message us and we will solve your problem βœ… within 1 working day. 🩷 Pinky Promise πŸ€™!