Keyword Reference

Supported query fields for scryfall-query-dsl, ordered to match the Scryfall syntax page. Grayed-out entries are recognized by Scryfall but not yet implemented in this library. See API documentation for integrating the engine.

Colors and Color Identity

colors c color : = != > >= < <=

Filter by card color(s). Use color letters (W U B R G) or names (white blue black red green). Supports subset (:), exact (=), and comparison (> >= < <=) operators.

Examples
  • c:red
  • color=wu
  • c>=boros
  • c!=colorless
  • -c:green
color_identity id identity : = != > >= < <=

Filter by color identity (commander deck colors). Uses same color syntax as colors. id:esper finds cards that fit within an Esper deck (identity ⊆ {W,U,B}). Useful for finding cards that fit within a commander's color identity.

Examples
  • id:grixis
  • identity=esper
  • id<=bant
  • id:c
has:indicator Not implemented

Cards that have a color indicator on the card face

Card Types

type_line t type : =

Search the type line (supertypes, types, subtypes). Searches both faces of double-faced cards.

Examples
  • t:creature
  • type:legendary
  • t:dragon
  • t:planeswalker t:elf

Card Text

oracle_text o oracle text : =

Search oracle (rules) text. Unquoted values match word-by-word across subfields. Quoted values match the exact phrase. Searches both faces of double-faced cards.

Examples
  • o:flying
  • o:"draw a card"
  • o:haste o:trample
keywords kw keyword : =

Filter by rules keyword (flying, trample, haste, etc.). Matches the keywords array field, not oracle text.

Examples
  • keywords:flying
  • kw:trample
  • keyword:deathtouch
  • kw:haste kw:flash
fo: Not implemented

Full oracle text search with reminder text excluded

o:/regex/ Not implemented

Regular expression search on oracle text

~ substitution Not implemented

Use ~ in oracle text queries to stand for the card's own name

Mana Costs

mana_value mv cmc : = != > >= < <=

Filter by mana value (formerly converted mana cost). Supports all numeric comparison operators.

Examples
  • mv=3
  • cmc>=5
  • mv<2
  • mana_value!=0
m: Not implemented

Mana cost expression using mana symbols (e.g. m:{G}{U}, m>3WU)

produces: Not implemented

Mana produced by a land or ability (e.g. produces=wu)

devotion: Not implemented

Devotion to a color (e.g. devotion:{u/b}{u/b})

manavalue:odd / manavalue:even Not implemented

Cards with odd or even mana value

Power, Toughness, and Loyalty

power pow : = != > >= < <=

Filter by power (numeric only; cards with */X/∞ power are excluded). Supports all numeric comparison operators.

Examples
  • power>=5
  • pow=2
  • power<3
  • pow!=0
toughness tou : = != > >= < <=

Filter by toughness (numeric only; cards with */X/∞ toughness are excluded). Supports all numeric comparison operators.

Examples
  • toughness>=4
  • tou=1
  • toughness<5
  • tou!=0
loyalty / loy: Not implemented

Planeswalker loyalty (e.g. loy=3, loy>=4)

pt: / powtou: Not implemented

Combined power+toughness comparison (e.g. pt=10)

pow>tou Not implemented

Cross-field power vs. toughness math comparisons

Multi-faced Cards

is:split Not implemented

Split cards (Fire // Ice)

is:flip Not implemented

Flip cards (Budoka Gardener)

is:transform Not implemented

Transform (DFC) cards

is:meld Not implemented

Meld cards

is:mdfc Not implemented

Modal double-faced cards

is:adventure Not implemented

Adventure cards

is:reversible Not implemented

Reversible cards

Spells, Permanents, and Effects

is:spell : =

Cards with major spell/permanent/battle type lines: creature, artifact, instant, sorcery, enchantment, planeswalker, or battle.

Examples
  • is:spell
not:spell : =

Exclude cards matching the is:spell type-line disjunction.

Examples
  • not:spell
is:permanent Not implemented

Permanent card types (creature, artifact, enchantment, planeswalker, land)

is:historic Not implemented

Legendary, artifact, or Saga cards

is:vanilla Not implemented

Creatures with no abilities

is:modal Not implemented

Cards with modal effects (choose one, choose two, etc.)

Extra Cards and Funny Cards

is:funny Not implemented

Un-set and acorn-stamped cards

include:extras Not implemented

Include extra cards (tokens, emblems, art cards) in results

is:oversized Not implemented

Oversized card products

Rarity

rarity r : = != > >= < <=

Filter by rarity. Ordered from lowest to highest: common < uncommon < rare < mythic < special < bonus. Supports comparison operators.

Examples
  • rarity:rare
  • r>=uncommon
  • rarity<mythic
  • r=common
new:rarity Not implemented

Cards whose rarity changed from their previous printing

Sets and Blocks

set : =

Filter by set code (3–5 letter code, lowercased). Use Scryfall set codes such as dmu, mh3, lea, m21.

Examples
  • set:dmu
  • set:mh3
  • set:lea
  • -set:m21
set_type st : =

Filter by set type. Common values: expansion, masters, commander, core, draft_innovation, memorabilia, token, funny, duel_deck, masterpiece.

Examples
  • set_type:expansion
  • st:commander
  • st:masters
  • -st:memorabilia
collector_number cn : = != > >= < <=

Filter by collector number within a set. Supports numeric comparisons and suffix variants (e.g. 123a, 123★). Combine with set: for precise lookup.

Examples
  • cn:1
  • set:dmu collector_number<=100
  • cn=250a
e: / edition: Not implemented

Alias for set: (not yet a built-in alias)

b: / block: Not implemented

Filter by block code or name (e.g. b:wwk)

Cubes

cube: Not implemented

Cards in a specific Scryfall cube (e.g. cube:vintage, cube:legacy)

Format Legality

banned : =

Filter to cards that are banned in a format (legality status is 'banned', not merely absent from the format).

Examples
  • banned:legacy
  • banned:modern
  • banned:commander
restricted : =

Filter to cards that are restricted in a format (limited to one copy). Currently only relevant to vintage.

Examples
  • restricted:vintage

USD/EUR/TIX Prices

usd : = != > >= < <=

Filter by USD price (non-foil). Prices sourced from TCGPlayer via Scryfall.

Examples
  • usd<1
  • usd>=10
  • usd=0.25
  • usd!=0
eur : = != > >= < <=

Filter by EUR price (non-foil). Prices sourced from Cardmarket via Scryfall.

Examples
  • eur<2
  • eur>=5
  • eur=1.50
tix : = != > >= < <=

Filter by MTGO ticket price. Prices sourced from Cardhoarder via Scryfall.

Examples
  • tix<1
  • tix>=5
  • tix=0.01
cheapest: Not implemented

Cheapest printing in a given currency (e.g. cheapest:usd)

Artist, Flavor Text and Watermark

flavor_text ft flavor : =

Search flavor text. Unquoted values match word-by-word. Quoted values match the exact phrase. Searches both faces of double-faced cards.

Examples
  • ft:urza
  • flavor:"Rath and Storm"
  • ft:"for the horde"
a: / artist: Not implemented

Search by artist name (e.g. a:"proce")

wm: / watermark: Not implemented

Filter by watermark guild or symbol (e.g. wm:orzhov)

artists>1 Not implemented

Cards illustrated by more than one artist

illustrations>1 Not implemented

Cards with more than one illustration

new:art / new:artist / new:flavor Not implemented

Cards with new art, new artist, or new flavor text vs. previous printing

Border, Frame, Foil and Resolution

border_color border : =

Filter by border color. Valid values: black, white, borderless, silver, gold, yellow.

Examples
  • border_color:borderless
  • border:black
  • -border:silver
frame : =

Filter by frame style or frame effect. Frame styles: 1993, 1997, 2003, 2015, future. Frame effects: legendary, showcase, extendedart, inverted, colorshifted, etched, snow, and many more.

Examples
  • frame:2015
  • frame:showcase
  • frame:legendary
  • -frame:future
is:foil : =

Cards available in foil.

Examples
  • is:foil
is:nonfoil : =

Cards available in non-foil.

Examples
  • is:nonfoil
is:hires Not implemented

Cards with high-resolution scan imagery

stamp: Not implemented

Filter by security stamp (acorn, arena, oval, triangle, etc.)

Games, Promos and Spotlights

game in : =

Filter by game environment. Valid values: paper, mtgo, arena, astral, sega. Use is:digital as a shorthand for in:mtgo or in:arena.

Examples
  • game:paper
  • in:mtgo
  • game:arena
  • -in:arena

Year

year : = > >= < <=

Filter by release year. Supports all numeric comparison operators. Note: != is not supported for year.

Examples
  • year=2024
  • year>=2020
  • year<2015
  • year:2019
date : = > >= < <=

Filter by exact release date in YYYY-MM-DD format. Supports comparison operators. Note: != is not supported; use two comparisons instead.

Examples
  • date=2024-02-09
  • date>=2020-01-01
  • date<2015-06-01

Tagger Tags

art: Not implemented

Tagger art tag (e.g. art:squirrel)

function: Not implemented

Tagger function tag (e.g. function:removal)

otag: Not implemented

Oracle tagger annotation tag

atag: Not implemented

Art tagger annotation tag

Reprints

is:reprint Not implemented

Cards that have been printed in a previous set

not:reprint Not implemented

Cards making their first printing appearance

sets>=N Not implemented

Cards printed in at least N sets (e.g. sets>=10)

papersets=N Not implemented

Cards in exactly N paper sets

Languages

lang language : =

Prefer a language when selecting a printing. Uses ISO 639-1 language codes (en, de, fr, es, it, pt, ja, ko, ru, zhs, zht, he, la, grc, ar, sa, ph).

Examples
  • lang:en
  • language:ja
  • lang:de
lang:any Not implemented

Cards printed in any non-English language

new:language Not implemented

Cards with a new-language printing vs. previous set

in:ru (language filter) Not implemented

Filter results to a specific language print only (lang: here is a sort preference, not an inclusion filter)

Shortcuts and Nicknames

is : =

Filter by card properties. Supports many token values from Scryfall (frame effects, promo types, layouts, rarities) plus semantic shortcuts: is:commander (legal commander), is:spell (cards with major spell/permanent/battle type lines), is:promo (promotional printing), is:spotlight (story spotlight), is:digital (MTGO or Arena only), is:default (standard printing).

Examples
  • is:commander
  • is:spell
  • is:promo
  • is:digital
  • is:foil
  • is:showcase
not : =

Exclude cards matching a property token. Uses the same token vocabulary as is: but negates the match, including semantic shortcuts such as not:spell.

Examples
  • not:showcase
  • not:extendedart
  • not:spell
is:dual Not implemented

Original dual lands (Tundra, Bayou, etc.)

is:fetchland Not implemented

Fetch lands

is:shockland Not implemented

Shock lands

is:checkland Not implemented

Check lands

is:companion Not implemented

Cards with the companion ability

is:reserved Not implemented

Cards on the reserved list

is:reprint Not implemented

Reprint shortcut (see Reprints section)

Negating Conditions

Supported

Supported. Prefix any term or parenthesized group with - to negate it: -t:creature, -(c:red or c:white), -o:draw.

Regular Expressions

o:/regex/ Not implemented

Regular expression search on oracle text

name:/regex/ Not implemented

Regular expression name search

t:/regex/ Not implemented

Regular expression type line search

Exact Names

name n : =

Search card name. Bare terms (without a field prefix) default to name search. Use = for exact match. Prefix with ! for exact-name bang syntax.

Examples
  • name:lightning
  • name:"Lightning Bolt"
  • n=bolt
  • !"Sift Through Sands"
!name: / !o: Not implemented

Fielded bang exact-match forms are not yet supported

Using OR

Supported

Supported. Use the or keyword (case-insensitive) between terms: c:red or c:white, (t:angel or t:demon) c:white.

Nesting Conditions

Supported

Supported. Use parentheses to group sub-expressions: (c:red or c:white) t:angel.

Display Keywords

unique : =

Control result deduplication. cards: one result per unique oracle identity (default). prints: all individual printings. art: one result per unique artwork.

Examples
  • unique:cards
  • unique:prints
  • unique:art
order : =

Sort results by a field. Valid values: name, cmc, power, toughness, set, rarity, color, usd, eur, tix, edhrec, released.

Examples
  • order:name
  • order:cmc
  • order:usd
  • order:released
prefer : =

Prefer a specific printing when deduplicating. Valid values: oldest, newest, usd-low, usd-high, promo, default, atypical, ub (Universes Beyond), notub.

Examples
  • prefer:newest
  • prefer:usd-low
  • prefer:promo
  • prefer:notub
direction : =

Control sort direction. Valid values: asc (ascending, default) or desc (descending).

Examples
  • order:usd direction:desc
  • order:cmc direction:asc