Futbin APIfutbin.com ↗
Access EA FC player ratings, market prices, detailed stats, and market trend data from Futbin via 4 structured JSON endpoints.
What is the Futbin API?
The Futbin API exposes EA FC Ultimate Team player data across 4 endpoints, covering everything from paginated player listings to per-player sub-stats like Acceleration, Sprint Speed, and Finishing. The get_player_details endpoint returns the full in-game stat breakdown plus platform-specific market prices for any player ID, while get_market_trends surfaces console and PC market index time-series data and top movers.
curl -X GET 'https://api.parse.bot/scraper/21963078-8a17-40ff-a896-9b0b0ec3e828/get_players?page=1&min_pace=0' \ -H 'X-API-Key: $PARSE_API_KEY'
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 futbin-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: Futbin SDK — bounded, re-runnable; every call capped."""
from parse_apis.futbin_api import Futbin, PlayerNotFound
client = Futbin()
# List top-rated players with high pace, bounded iteration.
for summary in client.playersummaries.list(min_pace=90, limit=3):
print(summary.name, summary.rating, summary.price_ps)
# Search for a specific player across all card versions.
result = client.players.search(query="Mbappe", limit=1).first()
if result:
print(result.full_name, result.version, result.rating)
# Drill into the full detail from a search result.
player = result.details()
print(player.name, player.detailed_stats.get("Pace", "N/A"))
# Fetch a player directly by ID.
try:
detail = client.players.get(id="21745")
print(detail.name, detail.rating, detail.position)
except PlayerNotFound as exc:
print(f"Player not found: {exc.player_id}")
# Get current market trends — a single non-paginated call.
market = client.markets.trends()
for idx in market.market_indices:
print(idx.series_name, idx.data_sample[-1])
print("exercised: playersummaries.list / players.search / result.details / players.get / markets.trends")
Retrieves a paginated list of players from Futbin with ratings, positions, market prices, and core stats. Approximately 30 players per page. Supports a minimum pace filter to narrow results to fast players only.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| min_pace | integer | Minimum pace filter. Only players with PAC stat >= this value are returned. |
{
"type": "object",
"fields": {
"page": "integer, the requested page number",
"total": "integer, number of players returned on this page after filtering",
"players": "array of player objects with id, name, url, rating, position, price_ps, price_pc, and stats"
},
"sample": {
"data": {
"page": 1,
"total": 30,
"players": [
{
"id": "21745",
"url": "https://www.futbin.com/26/player/21745/ousmane-dembele",
"name": "Ousmane Dembélé",
"stats": {
"DEF": "60",
"DRI": "95",
"PAC": "97",
"PAS": "90",
"PHY": "77",
"SHO": "94"
},
"rating": "97",
"position": "ST++CAM, RW",
"price_pc": "5M",
"price_ps": "3.12M"
}
]
},
"status": "success"
}
}About the Futbin API
Player Search and Listings
The get_players endpoint returns a paginated list of approximately 30 players per page. Each player object includes id, name, url, rating, position, price_ps, price_pc, and a stats object. You can filter results server-side using the min_pace parameter, which restricts the response to players whose PAC stat meets or exceeds the value you supply. Combine page with min_pace to walk through a filtered catalog.
The search_players endpoint accepts a query string — a full or partial player name — and returns matching card objects. Each result includes id, full_name, rating, position, version, pos_all, and image URLs. This is the primary way to resolve a player name to a Futbin id before calling get_player_details.
Detailed Stats and Prices
get_player_details takes a required player_id (obtainable from search_players or get_players) plus an optional slug and year parameter. The year field lets you target a specific EA FC edition, for example '26' for EA FC 26. The response includes detailed_stats — an object mapping stat names to string values for all six main categories (Pace, Shooting, Passing, Dribbling, Defending, Physical) and their sub-stats — alongside rating, position, and platform-specific prices.
Market Trends
get_market_trends requires no parameters and returns two structures: top_movers, an array of players with name, price, and change; and market_indices, an array of index objects each containing a title, series_name, and data_sample holding the last 5 [timestamp, value] data points for console and PC market indices. The top_movers array may be empty during low-activity periods.
The Futbin API is a managed, monitored endpoint for futbin.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when futbin.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official futbin.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track EA FC player market prices on PS and PC platforms to identify buy-low opportunities.
- Build a player comparison tool using detailed sub-stats like Sprint Speed, Finishing, and Ball Control from get_player_details.
- Monitor daily market index movements using the time-series data_sample from get_market_trends.
- Populate a squad-builder app with player ratings, positions, and versions returned by search_players.
- Filter high-pace players from the catalog using the min_pace parameter on get_players.
- Resolve player names to Futbin IDs programmatically by querying search_players before fetching full stats.
- Alert users when a specific player's price changes by polling get_player_details on a schedule.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.