Futwiz APIfutwiz.com ↗
Access EA FC 26 Ultimate Team player stats, market prices, card images, playstyles, and live/historical market index data via the Futwiz API.
What is the Futwiz API?
The Futwiz API exposes 3 endpoints covering EA FC 26 Ultimate Team player cards and market index data. Use search_players to query the full player database and get back face stats, detailed in-game attributes, console and PC market prices, card image URLs, and playstyles for each result. The two market endpoints — get_market_history and get_market_live — return daily and intraday index series for overall, rating-band, and base-icon segments across platforms.
curl -X GET 'https://api.parse.bot/scraper/9e085a12-49f2-476b-b896-6e03877c0a35/search_players?search=Messi&sort_by=rating&sort_direction=desc&page=1' \ -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 futwiz-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: futwiz SDK — bounded, re-runnable; every call capped."""
from parse_apis.futwiz_com_api import Futwiz, SortField, SortDirection, MarketIndex, MarketPlatform, InputFormatInvalid
client = Futwiz()
# Search for top-rated players, capped at 3 results
for player in client.players.search(sort_by=SortField.RATING, sort_direction=SortDirection.DESC, limit=3):
print(player.name, player.rating, player.position, player.prices.console)
# Search by name and drill into first result's detailed stats
top = client.players.search(search="Messi", limit=1).first()
if top is not None:
print(top.name, top.stats.pace, top.stats.shooting, top.stats.dribbling)
print(top.images.card)
for ps in top.playstyles:
print(" playstyle:", ps)
# Fetch the console market history and inspect the summary
try:
history = client.market_history.get(index=MarketIndex.OVERALL, platform=MarketPlatform.CONSOLE)
print(history.market_title, history.point_count, "days")
print("current:", history.summary.current, "highest:", history.summary.highest)
except InputFormatInvalid as e:
print("invalid index/platform:", e)
# Fetch the live intraday market and browse the player indices
live = client.market_live.get(index=MarketIndex.OVERALL, platform=MarketPlatform.CONSOLE)
print(live.market_title, live.point_count, "points")
for mp in live.players:
print(mp.label, mp.current, mp.change_percent)
print("exercised: players.search / market_history.get / market_live.get")
Search FC26 Ultimate Team player cards. Returns paginated results with complete player data including face stats, detailed in-game stats, current market prices for console and PC, card image URLs, playstyles, positions, and physical attributes. Results are auto-iterated; when no search term is provided, returns all players ordered by the chosen sort field.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based). |
| search | string | Player name to search for (partial match). Omitting returns all players. |
| sort_by | string | Field to sort results by. |
| sort_direction | string | Sort order. |
{
"type": "object",
"fields": {
"page": "current page number",
"total": "total number of matching players",
"players": "array of player objects with full card data, stats, prices, and images",
"per_page": "number of results per page (40)",
"last_page": "last available page number"
},
"sample": {
"data": {
"page": 1,
"total": 17,
"players": [
{
"id": 27043,
"foot": "Left",
"name": "Lionel Messi",
"stats": {
"pace": 98,
"passing": 97,
"physical": 83,
"shooting": 97,
"defending": 50,
"dribbling": 98
},
"height": 169,
"images": {
"card": "https://cdn.futwiz.com/assets/img/fc26/cards/27043.png?v=170158",
"long": "https://cdn.futwiz.com/assets/img/fc26/long/27043.jpg?v=170513",
"small": "https://cdn.futwiz.com/assets/img/fc26/smallcards/27043.png?v=170405",
"square": "https://cdn.futwiz.com/assets/img/fc26/square/27043.jpg?v=170437",
"card_skills": "https://cdn.futwiz.com/assets/img/fc26/cards/27043_skills.png?v=170105",
"card_positions": "https://cdn.futwiz.com/assets/img/fc26/cards/27043_pos.png?v=170127"
},
"prices": {
"pc": 1600000,
"console": 1250000
},
"rarity": 138,
"rating": 98,
"weight": 67,
"card_id": 237,
"club_id": 112893,
"in_packs": true,
"position": "ST",
"last_name": "Messi",
"league_id": 39,
"nation_id": 52,
"player_id": 158023,
"position2": "RM",
"position3": "CAM",
"position4": "RW",
"weak_foot": 5,
"first_name": "Lionel",
"playstyles": [
"deadball",
"gamechanger",
"incisivepass"
],
"common_name": "Lionel Messi",
"price_range": {
"max": 8000000,
"min": 300000
},
"skill_moves": 5,
"release_date": "2026-07-17 17:00:18.232490",
"definition_id": 235039047,
"detailed_stats": {
"curve": 98,
"vision": 98,
"agility": 96,
"balance": 97,
"jumping": 84,
"marking": 32,
"stamina": 94,
"volleys": 98,
"crossing": 94,
"strength": 82,
"composure": 99,
"dribbling": 97,
"finishing": 97,
"long_pass": 98,
"long_shot": 98,
"penalties": 94,
"reactions": 96,
"aggression": 70,
"short_pass": 98,
"shot_power": 97,
"positioning": 98,
"acceleration": 97,
"ball_control": 99,
"slide_tackle": 36,
"sprint_speed": 98,
"standing_tackle": 53,
"heading_accuracy": 91,
"free_kick_accuracy": 99,
"tactical_awareness": 61
},
"playstyles_plus": [
"tikitaka",
"finesseshot",
"lowdrivenshot"
],
"attack_work_rate": "MED",
"defense_work_rate": "MED"
}
],
"per_page": 40,
"last_page": 1
},
"status": "success"
}
}About the Futwiz API
Player Search
The search_players endpoint accepts an optional search string for partial name matching, a page integer for pagination, and sort_by / sort_direction parameters to order results. Each page returns up to 40 player objects (per_page: 40). The response includes total matching players and last_page so you can iterate the full result set. Each player object contains face stats (pace, shooting, passing, dribbling, defending, physical), granular in-game stats, current market prices separately for console and PC, card image URLs, assigned playstyles, positional data, and physical attributes such as height and foot preference.
Daily Market Index
get_market_history takes a required index code — the overall market, a rating band like 85rated, or base icons — and a platform value. It returns a summary object with the snapshot values shown at the top of the page (opened_at, current, lowest, highest, change_percent) and a series array of [YYYY-MM-DD, value] pairs ordered oldest-first, covering the full historical daily chart. The market_title field in the response identifies which platform segment the source actually served, which is useful when the playstation platform code maps to the PC index.
Live Intraday Market Index
get_market_live returns the same summary fields as the daily endpoint but drives an intraday series where timestamps are Unix epoch milliseconds. It also returns a players array from the site's Players panel — each row carries an index code (directly reusable as the index input), a label such as a rating band or "Overall Market", and the current index level. This lets you enumerate all valid index codes dynamically at runtime rather than hardcoding them.
The Futwiz API is a managed, monitored endpoint for futwiz.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when futwiz.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 futwiz.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?+
- Build a squad-builder tool that filters players by position, rating, and playstyle using
search_players. - Track daily EA FC 26 market index movements for a specific rating band with
get_market_history. - Display intraday price volatility charts for console vs. PC markets using
get_market_livetimestamp series. - Aggregate player card images and face stats for a custom FC 26 player comparison app.
- Alert traders when a rating-band index drops below a threshold by polling
get_market_livesummary values. - Enumerate all available market index codes dynamically from the
playerspanel inget_market_live. - Export historical market index time series for offline modeling or backtesting trading strategies.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Futwiz have an official developer API?+
What does `search_players` return for each player, and how do I page through all results?+
total and last_page fields — increment the page parameter from 1 to last_page to retrieve all matching records. Omitting the search parameter returns all players in the database.What is the difference between `get_market_history` and `get_market_live`?+
get_market_history returns a daily time series with YYYY-MM-DD dates covering the full historical chart — useful for trend analysis over weeks or months. get_market_live returns an intraday series with Unix millisecond timestamps and also includes a players panel array listing all available index codes and their current levels, which is not present in the daily endpoint.Does the platform parameter reliably separate console and PC market data?+
market_title field in both market endpoints indicates which platform segment was actually served. The documentation notes that the playstation platform code is served by the source as the PC index. Always check market_title in the response rather than assuming the requested platform maps one-to-one to the served data.Does the API cover individual player price history over time, not just the market index?+
get_market_history, and current per-player prices via search_players. Per-player historical price series are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting individual player price history.