Skip to main content
EA Pro Clubs responses often expose technical codes instead of display text. A mapping is a readonly table that links each EA code to the label shown on the EA website. A helper is a small pure function that applies that mapping so your app does not reimplement the same rules.
These mappings are reverse-engineered from the EA Pro Clubs website. They are not an official EA contract and can change without notice. Unknown IDs never throw: the raw value stays available and the helper returns undefined.

Player platform labels

Nintendo labels were added after 0.3.2. Check the release notes for package availability.
matches.list preserves each player’s raw namespace and adds derivedLabels.platformFamily and derivedLabels.exactPlatform when they can be resolved. switch means the Nintendo Switch family, including Switch 2. EA exposes one nx pool with no field to distinguish the consoles. Numeric namespaces are also accepted. Friendly-match ("0"), empty, and unknown namespaces remain unresolved. resolvePlatformFamily works without request context; resolveExactPlatform also requires the requested EA platform. The Nintendo mapping was checked against live EA responses on 2026-10-01: 118 player-match rows across 28 distinct league matches and 15 club rosters all carried namespace "4". The sampled clubs returned no playoff matches.

Beginner example with HEMLE FC

The SDK does not rewrite reputationtier, currentDivision, or customKit. Call the helpers explicitly when you need a display label or crest URL. Playoff season names are not a closed enum because EA can add new keys:

Known mappings

Platforms

Match types

Request codes for matches.list({ type }): Numeric matchType values on matches.list club rows: resolveMatchTypeLabel accepts both namespaces. Use the request code when building SDK input and the numeric id when reading a match row from EA.

Position families

Reputation tiers

Current divisions

The legacy ten-division model returned by /settings is out of scope here.

Playoff results

Labels are copied exactly from EA, including Runner-Up and Also-ran.

Mapping and helpers

Each family follows the same ergonomics as Regions:
  • a frozen constant (PLATFORM_LABELS, REPUTATION_LABELS, …)
  • derived public types (KnownPlatformId, ReputationLabel, …)
  • a tolerant resolver (resolvePlatformLabel, resolveReputationLabel, …)
String-code families (platform, match type, position) accept trimmed strings. Numeric families (reputation, division, playoff result) also accept finite numbers. There is no partial match and no fuzzy coercion. Consumers that only need the metadata tables and resolvers can import from the standalone subpath proclubs-sdk/metadata without loading the HTTP client or native dependencies.

Club crest URLs

Selection order matches the EA frontend:
  1. when customKit.selectedKitType is 1 and crestAssetId is present, use crestAssetId;
  2. otherwise use teamId;
  3. when no usable identifier exists, return undefined.
The helper only builds a URL. It does not download, cache, or host EA images. EA_CREST_ASSET_BASE_URL is centralized so maintainers can update it when EA changes asset hosts.

Stability limits

  • EA labels and asset hosts can change without notice.
  • Unknown IDs remain valid at runtime; extend the relevant *_LABELS constant after confirming the EA label.
  • Crest URLs depend on EA CDN paths that have changed between FC releases.
  • Helpers never mutate the objects you pass in.
See also Support and limitations.