Discover/Fmdatalab API
live

Fmdatalab APIfmdatalab.com

Discover the top-rated Football Manager 2024 players across 117 different playable roles by accessing FMDataLab's comprehensive player ratings and role performance scores. Find the best-performing player for any specific position or role to optimize your team strategy.

This API takes change requests — .
Endpoint health
monitored
get_top_role_scores
Checks pendingself-healing
Endpoints
1
Updated
2h ago
This call costs2 credits / call— charged only on success
Try it
Filter by player name substring (case-insensitive). Returns all roles where the matching player is the top-rated.
Filter by position code substring (e.g. 'GK', 'DM', 'ST'). Matches against the position field or role_code.
api.parse.bot/scraper/c4503e1a-5944-419e-8ad8-57955edd82a6/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/c4503e1a-5944-419e-8ad8-57955edd82a6/get_top_role_scores?name=Messi&position=GK' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace fmdatalab-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: FMDataLab SDK — bounded, re-runnable; every call capped."""
from parse_apis.fmdatalab_com_api import FMDataLab, ParseError

client = FMDataLab()

# List top-rated players across all roles, capped at 5
for player in client.players.list(limit=3):
    print(player.name, player.role_code, player.role_score, player.club)

# Filter by position — only goalkeepers
for gk in client.players.list(position="GK", limit=3):
    print(gk.name, gk.age, gk.role_score)

# Search by player name
item = client.players.list(name="Messi", limit=1).first()
if item:
    print(item.name, item.position, item.role_score, item.club, item.nationality)

# Error handling around a fallible call
try:
    results = client.players.list(position="ST", limit=2)
    for striker in results:
        print(striker.name, striker.role_code, striker.wage, striker.transfer_value)
except ParseError as e:
    print(f"error: {e}")

print("exercised: players.list")
All endpoints · 1 totalmissing one? ·

Returns the highest-scoring Football Manager 2024 player for each of 117 playable roles. Each entry includes the player's role score, biographical details, club, and transfer value from the start of an FM24 save. Results can be filtered by position code or player name substring.

Input
ParamTypeDescription
namestringFilter by player name substring (case-insensitive). Returns all roles where the matching player is the top-rated.
positionstringFilter by position code substring (e.g. 'GK', 'DM', 'ST'). Matches against the position field or role_code.
Response
{
  "type": "object",
  "fields": {
    "total": "integer count of returned players",
    "players": "array of player objects with role_code, name, uid, role_score, age, position, height, weight, club, division, nationality, wage, transfer_value"
  },
  "sample": {
    "data": {
      "total": 117,
      "players": [
        {
          "age": 31,
          "uid": "18026122",
          "club": "R. Madrid",
          "name": "Thibaut Courtois",
          "wage": 250000,
          "height": "200 cm",
          "weight": "96 kg",
          "division": "Spanish First Division",
          "position": "GK",
          "role_code": "gk_de",
          "role_score": 16.18,
          "nationality": "BEL",
          "transfer_value": "Not for Sale"
        },
        {
          "age": 36,
          "uid": "7458500",
          "club": "Inter Miami",
          "name": "Lionel Messi",
          "wage": 325000,
          "height": "169 cm",
          "weight": "67 kg",
          "division": "Major League Soccer",
          "position": "AM (RC), ST (C)",
          "role_code": "tre_at_st",
          "role_score": 17.59,
          "nationality": "ARG (ESP)",
          "transfer_value": "Not for Sale"
        }
      ]
    },
    "status": "success"
  }
}

About the Fmdatalab API

The Fmdatalab API on Parse exposes 1 endpoint for the publicly available data on fmdatalab.com. Calls return JSON over HTTPS and are billed per successful response.

Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.