proNationality. The SDK keeps that raw identifier and, when the value is
known, adds a derived nationality on normalized members from members.stats
and members.careerStats.
Where the table comes from
Captured on 2026-09-26 from the EA SPORTS FC ratings page. The page embedsprops.pageProps.ratingsFilters.nationality in its
__NEXT_DATA__ JSON. Each item is { id, label, imageUrl, isPopular }. The
flag asset is named f_{id}.png (f_14.png is England). The Pro Clubs
overview and member-list pages embed region translations only, so they do not
carry this table. Live members/stats payloads use the same numeric ids.
The ratings page listed Comoros (214) twice, with the same label and two
flag URLs. The SDK keeps one entry.
Ten ids used by live Pro Clubs members are absent from that filter: 67,
86, 114, 142, 152, 153, 157, 173, 175, and 201. Their labels
come from the historical EA nation table, which matches the ratings page on
the shared ids (14 England, 113 Eritrea, 115 Gabon). EA’s label for 142
is Swaziland. isoCode is SZ.
Labels are copied exactly from EA, including Holland, Côte d'Ivoire,
Korea Republic, China PR, Cape Verde Islands, and
São Tomé e Príncipe.
Beginner example
id on the derived object is the canonical EA id as a string, the same key
used by NATIONALITY_LABELS. The raw proNationality is not rewritten, so a
numeric upstream value stays a number.
ISO codes
isoCode is added by the SDK. EA does not send it.
- When the nation has an ISO 3166-1 alpha-2 code,
isoCodeis that code. - England, Scotland, Wales, and Northern Ireland have no alpha-2 code of their
own.
isoCodeis the ISO 3166-2 subdivision:GB-ENG,GB-SCT,GB-WLS, andGB-NIR. - Chinese Taipei (
213) and Kosovo (219) have no officially assigned ISO 3166-1 alpha-2 code, soisoCodeis omitted. - EA’s label for the Netherlands is
Holland.isoCodeisNL.
Known nationalities
Mapping and helper
NATIONALITY_LABELSis a frozen object whose keys are the EA IDs as strings. Each value is frozen too.KnownNationalityId,NationalityLabel, andNationalityIsoCodeare derived from that constant.resolveNationalityacceptsstring | number | null | undefinedand returns{ id, label, isoCode? }orundefined.- Surrounding whitespace on string IDs is ignored. There is no partial match and no numeric coercion beyond the exact string or number EA sent.
null,undefined,'', and a whitespace-only string resolve toundefinedand do not throw.
proclubs-sdk/nationalities without loading the HTTP client or native
dependencies.
If EA already supplies nationality on a member, that raw value is preserved
and the calculated value is exposed under derivedLabels.nationality.
Players checked against the table
These players are shown on the ratings page with the nation below. The id is the same value stored innationality.id next to that player.
On 2026-09-26, live Pro Clubs rosters on
common-gen5 returned the same ids
for frequent nations, including England, France, Germany, Italy, Holland,
Portugal, Spain, Scotland, Argentina, Brazil, and the United States, plus
Wales (50) and Chinese Taipei (213). The member-list page does not render
the nation name, so those rosters confirm the id space rather than a second
label source.
Drift detection
An unknownproNationality is valid at runtime so a new EA nation cannot break
members.stats or members.careerStats. The
structural drift detector can report that
ID as unknown_value on a live compatibility check. null and an empty or
whitespace-only string are not reported: they mean the nation was not sent.
Maintainers then confirm the EA label and update NATIONALITY_LABELS
deliberately. The mapping does not depend on the full compatibility workflow.