Skip to content
Prepaid, no subscription trap. Top up a balance and we draw the monthly fee from it.
tcggraph

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
REST
curl -G "https://api.tcggraph.com/v1/cards" \
  -d game=star-wars-unlimited \
  -d limit=5 \
  -H "Authorization: Bearer $TCGGRAPH_KEY"
GraphQL
{
  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.

FieldTypeDescription
aspects[String]Vigilance, Command, Aggression, Cunning, Heroism or Villainy.
arenaEnumGROUND or SPACE. Null on everything but Units and Leaders.
costIntResource cost.
powerIntUnit power.
hpIntUnit hit points.
cardTypeEnumLEADER, BASE, UNIT, EVENT or UPGRADE.
traits[String]Rebel, Imperial, Vehicle, Force, Trooper…
uniqueBooleanWhether the card is unique.
variantStringPrinting 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.

CardSetNumberRarityTCGplayerCardmarket
Watch ThisIn the Blast Shadow52Special$19.02€13.88
Luke Skywalker — Jedi KnightSpark of Rebellion051Legendary$9.71€10.72
Black One — Straight At ThemJump to Lightspeed1069Rare$8.15—
Darth Vader — Commanding the First LegionSpark of Rebellion087Legendary$6.33€9.28
Superlaser BlastSpark of Rebellion043Legendary$4.07€4.63
Avenger — Hunting Star DestroyerSpark of Rebellion040Legendary$3.35€3.91
Vernestra Rwoh — Precocious KnightLegends of the Force1035Rare$2.62—
Trust Your InstinctsLegends of the Force961Rare$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=Vigilance

Efficient 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=4

Showcase 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=-price

Glossary

SW: Unlimited terms, and the fields that hold them

What players call a thing on the left, what you query on the right.

TermFieldNotes
AspectsgameData.aspects[]Vigilance, Command, Aggression, Cunning, Heroism or Villainy. Drives the penalty rule.
ArenagameData.arenaGROUND or SPACE. Set on units and leaders, null on everything else.
CostgameData.costResources to play, before any aspect penalty. Null on bases.
Power / HPgameData.powerCombat stats for units, the deployed side of leaders, and the modifier on upgrades that carry one. gameData.hp is also a base's health.
TraitsgameData.traits[]REBEL, IMPERIAL, FORCE, VEHICLE, UNDERWORLD and so on, upper case as stored. Filters ignore case.
UniquegameData.uniqueThe unique symbol before the name: only one copy may be in play at a time. Boolean.
VariantgameData.variantNormal, 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.