Fantasy Flight Games · since 2024
Star Wars: Unlimited API
Cost, power, HP, aspect penalties, ground and space arenas, and double-sided leader and base cards.
- 2,178
- Cards
- 7,868
- Printings
- 10
- Sets
- 5
- Languages
- English, French, German, Spanish and Italian
Overview
What the SW: Unlimited dataset covers
Star Wars: Unlimited brought Fantasy Flight's design pedigree to the trading card space and has built a durable competitive scene. TCGGraph models the aspect system — Vigilance, Command, Aggression, Cunning, Heroism and Villainy — plus arena assignment, unit cost, power and HP, upgrade attachments, uniqueness rules and the two-sided Leader and Base cards that define every deck.
Every printing treatment (Hyperspace, Showcase, Prestige, Serialized) is its own record with its own id, image and price, so a variant never has to be inferred from a name.
Formats
- Premier
- Twin Suns
- Draft
- Sealed
Price sources
- Cardmarket
- TCGplayer
curl -G "https://api.tcggraph.com/v1/cards" \
-d game=star-wars-unlimited \
-d limit=5 \
-H "Authorization: Bearer $TCGGRAPH_KEY"{
cards(
filter: { game: STAR_WARS_UNLIMITED, gameData: { aspects: "Villainy", arena: "Space" } }
) {
nodes {
name
gameData
}
}
}Schema
SW: Unlimited-specific fields
Every card carries the shared core fields. These live under gameData, in REST and GraphQL alike, and each is a filter: ?cost=2 in REST, gameData: { cost: 2 } in GraphQL.
| Field | Type | Description |
|---|---|---|
| aspects | [String] | Vigilance, Command, Aggression, Cunning, Heroism or Villainy. |
| arena | Enum | GROUND or SPACE. Null on everything but Units and Leaders. |
| cost | Int | Resource cost. |
| power | Int | Unit power. |
| hp | Int | Unit hit points. |
| cardType | Enum | LEADER, BASE, UNIT, EVENT or UPGRADE. |
| traits | [String] | Rebel, Imperial, Vehicle, Force, Trooper… |
| unique | Boolean | Whether the card is unique. |
| variant | String | Printing treatment: Normal, Foil, Hyperspace, Hyperspace Foil, Showcase, Prestige, Prestige Foil or Prestige Serialized. Each is its own card record. |
Plus 26 core fields shared by every game — see the full reference.
Live data
SW: Unlimited cards in the public dataset
Real records returned by the API right now, sorted by market value, with both the American and the European quote.
| Card | Set | Number | Rarity | TCGplayer | Cardmarket |
|---|---|---|---|---|---|
| Watch This | In the Blast Shadow | 52 | Special | $19.02 | €13.88 |
| Luke Skywalker — Jedi Knight | Spark of Rebellion | 051 | Legendary | $9.71 | €10.72 |
| Black One — Straight At Them | Jump to Lightspeed | 1069 | Rare | $8.15 | — |
| Darth Vader — Commanding the First Legion | Spark of Rebellion | 087 | Legendary | $6.33 | €9.28 |
| Superlaser Blast | Spark of Rebellion | 043 | Legendary | $4.07 | €4.63 |
| Avenger — Hunting Star Destroyer | Spark of Rebellion | 040 | Legendary | $3.35 | €3.91 |
| Vernestra Rwoh — Precocious Knight | Legends of the Force | 1035 | Rare | $2.62 | — |
| Trust Your Instincts | Legends of the Force | 961 | Rare | $2.51 | — |
The most valuable SW: Unlimited cards and their prices — each printing with Cardmarket and TCGplayer quotes, per language and grade.
The European market for SW: Unlimited
Asmodee, the distributor, is French, and European supply has been comfortable since launch. Showcase and hyperspace variants still command a premium, but the base rarity curve is softer than in North America.
Traded on Cardmarket in German, French, Italian, Spanish beyond English. How European pricing works.
Sets
Notable SW: Unlimited sets
SOR
Spark of Rebellion
252 cards · 2024-03-08
SHD
Shadows of the Galaxy
262 cards · 2024-07-12
TWI
Twilight of the Republic
257 cards · 2024-11-08
LOF
Legends of the Force
262 cards · 2025-07-11
Modelling
Working with SW: Unlimited data
The decisions that catch people out when they first integrate SW: Unlimited. Each of these is a bug we have watched somebody ship.
Leaders and bases are not in your deck
A game starts with one leader and one base already in play, chosen outside the fifty-card deck. Deck validation has to treat them as separate slots with their own rules, and a builder that lists them alongside units will produce illegal decks. cardType tells them apart: LEADER, BASE, UNIT, EVENT, UPGRADE.
A leader is one record for both sides
A leader starts on its leader side and deploys as a unit later. The record is the card: text is the leader side's, and power, hp and arena are the deployed unit's (Boba Fett — Collecting the Bounty: 4 power, 7 HP, GROUND). There is no per-side array, so render the two sides from the one record.
Aspects have a cost, literally
Playing a card whose aspects your leader and base do not cover costs two extra resources per uncovered aspect. That penalty is a deckbuilding rule rather than a printed value, so an aspect-aware curve is a client-side calculation on aspects[], not a field.
Variants have their own numbers
Hyperspace, Showcase and Prestige treatments are printed with their own collector numbers and are their own records: Boba Fett's leader is swu_sor_015 (Normal), swu_sor_265_showcase and swu_sor_281_hyperspace. gameData.variant says which treatment a record is; group by name to put them back together.
Names use an em dash
A card's subtitle is joined with " — ": Luke Skywalker — Faithful Friend. The name filter matches a part of the name, so name=luke skywalker finds every version without typing the dash.
Recipes
Common SW: Unlimited queries
Three requests that cover most of what applications in this game actually ask for.
Leaders in one aspect
Deckbuilding starts with the leader, which fixes two of your aspects.
aspects is a list and takes one value per request; read aspects on each leader for the second one.
GET /v1/cards
?game=star-wars-unlimited
&cardType=LEADER
&aspects=VigilanceEfficient ground units
Find units with a good power-to-cost ratio in a single arena.
Numeric min and max filters compose, so this is one query rather than a client-side scan.
GET /v1/cards
?game=star-wars-unlimited
&cardType=UNIT
&arena=GROUND
&maxCost=4
&minPower=4Showcase leaders by market value
Collectors and singles sellers need the alternate treatments separated from the base print.
Each treatment is its own record with its own price series. variant takes one value per request.
GET /v1/cards
?game=star-wars-unlimited
&variant=Showcase
&sort=-priceGlossary
SW: Unlimited terms, and the fields that hold them
What players call a thing on the left, what you query on the right.
| Term | Field | Notes |
|---|---|---|
| Aspects | gameData.aspects[] | Vigilance, Command, Aggression, Cunning, Heroism or Villainy. Drives the penalty rule. |
| Arena | gameData.arena | GROUND or SPACE. Set on units and leaders, null on everything else. |
| Cost | gameData.cost | Resources to play, before any aspect penalty. Null on bases. |
| Power / HP | gameData.power | Combat stats for units, the deployed side of leaders, and the modifier on upgrades that carry one. gameData.hp is also a base's health. |
| Traits | gameData.traits[] | REBEL, IMPERIAL, FORCE, VEHICLE, UNDERWORLD and so on, upper case as stored. Filters ignore case. |
| Unique | gameData.unique | The unique symbol before the name: only one copy may be in play at a time. Boolean. |
| Variant | gameData.variant | Normal, Foil, Hyperspace, Hyperspace Foil, Showcase, Prestige, Prestige Foil or Prestige Serialized. |
FAQ
SW: Unlimited API questions
Anything not covered here, email hello@tcggraph.com and a human who knows SW: Unlimited answers.
Also available
Add another game without another integration
Your SW: Unlimited key already works for every other game in the catalog. Change the STAR_WARS_UNLIMITED enum and the rest of your code stays as it is.