Skip to main content
GET
/
v1
/
cards
List cards with rich filtering.
curl --request GET \
  --url https://api.elestrals.com/v1/cards \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "id": "et-100",
      "name": "Waspivy",
      "title": "<string>",
      "identity": [
        "<string>"
      ],
      "class": "spirit",
      "subclasses": [
        "aquatic"
      ],
      "elements": [
        "earth"
      ],
      "cost": [
        "earth"
      ],
      "total_cost": 1,
      "attack": 1,
      "defense": 1,
      "traits": "<string>",
      "banlists": [
        {
          "id": "ble-1",
          "format_id": "fm-1",
          "legality": "legal",
          "effective_date": "2023-11-07T05:31:56Z",
          "lift_date": "2023-11-07T05:31:56Z"
        }
      ],
      "effects": [
        {
          "type": "active",
          "categories": [
            "search"
          ],
          "condition": "<string>",
          "cost": "<string>",
          "text": "<string>",
          "order": 1
        }
      ],
      "rulings": [
        {
          "id": "rul-1",
          "date": "2014-09-20",
          "text": "<string>"
        }
      ],
      "creature": {
        "id": "el-159",
        "name": "Waspivy",
        "class": "spirit",
        "elements": [
          "earth"
        ]
      },
      "base_printing_id": "cd-1813",
      "updated_at": "2023-11-07T05:31:56Z"
    }
  ],
  "pagination": {
    "next_cursor": "<string>",
    "has_more": true
  },
  "meta": {
    "request_id": "req_0123456789abcdef",
    "cached": true,
    "attribution_required": true
  }
}

Authorizations

Authorization
string
header
required

API key supplied as Authorization: Bearer <key>. Keys are minted in the developer portal. Rejected in query strings. See the Authentication guide.

Query Parameters

limit
integer
default:50

Page size, max 250.

Required range: 1 <= x <= 250
cursor
string

Opaque pagination cursor from a previous response's pagination.next_cursor.

sort
enum<string>
default:name

Sort field. Prefix with - for descending.

Available options:
name,
-name,
total_cost,
-total_cost,
attack,
-attack,
defense,
-defense,
updated_at,
-updated_at
name
string

Case-insensitive prefix match on card_name and identity.

class
enum<string>[]

Multi-value class filter.

Available options:
spirit,
elestral,
rune_divine,
rune_artifact,
rune_stadium,
rune_invoke,
rune_counter
element
enum<string>[]

Matches if the card has any of the listed elements.

Available options:
earth,
fire,
water,
thunder,
wind,
frost,
solar,
lunar,
omni
subclass
enum<string>[]

Matches if the card has any of the listed subclasses.

Available options:
aquatic,
archaic,
avian,
behemoth,
brute,
dragon,
dryad,
eldritch,
ethereal,
golem,
insectoid,
oceanic,
spectral,
ursa
legality
enum<string>

Filter to cards with at least one BanlistEntry row at the given legality. Combine with format_id to narrow to a specific format.

Available options:
legal,
semi_limited,
limited,
banned,
illegal
format_id
string

Filter to cards with a BanlistEntry row for this format. Combine with legality for a per-format legality filter.

Example:

"fm-1"

total_cost
integer

Exact-match filter on total_cost.

Required range: x >= 0
total_cost_min
integer
Required range: x >= 0
total_cost_max
integer
Required range: x >= 0
attack_min
integer
Required range: x >= 0
attack_max
integer
Required range: x >= 0
defense_min
integer
Required range: x >= 0
defense_max
integer
Required range: x >= 0
effect_category
enum<string>[]

Matches if any inlined effect has one of the listed categories.

Available options:
search,
special_ascend,
special_cast,
normal_cast,
nexus,
daze,
enrage,
suppress,
foretell,
card_removal,
elestral_removal,
rune_removal,
force_disenchant,
burn,
heal,
draw,
enchant,
stat_modification,
direct_attack,
piercing_damage,
hand_ripper,
mill,
unaffected,
protection,
steal,
change_properties,
negate,
recycle,
block,
position,
prevention,
playing_condition,
upkeep,
replacement_effect,
sever,
win_condition
set_id
string

Filter to cards with at least one printing in the given set.

updated_since
string<date-time>

Response

Paginated list of cards.

data
object[]
required
pagination
object
required
meta
object
required