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.
c:redcolor=wuc>=borosc!=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.
id:grixisidentity=esperid<=bantid: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.
t:creaturetype:legendaryt:dragont: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.
o:flyingo:"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.
keywords:flyingkw:tramplekeyword:deathtouchkw: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.
mv=3cmc>=5mv<2mana_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.
power>=5pow=2power<3pow!=0
toughness tou
: = != > >= < <=
Filter by toughness (numeric only; cards with */X/∞ toughness are excluded). Supports all numeric comparison operators.
toughness>=4tou=1toughness<5tou!=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.
is:spell
not:spell
: =
Exclude cards matching the is:spell type-line disjunction.
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.
rarity:rarer>=uncommonrarity<mythicr=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.
set:dmuset:mh3set:lea-set:m21
set_type st
: =
Filter by set type. Common values: expansion, masters, commander, core, draft_innovation, memorabilia, token, funny, duel_deck, masterpiece.
set_type:expansionst:commanderst: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.
cn:1set:dmu collector_number<=100cn=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
legal f format
: =
Filter to cards legal in a format. Common formats: standard, pioneer, modern, legacy, vintage, commander, pauper, brawl, historic.
legal:commanderf:modernformat:standardlegal:pauper
banned
: =
Filter to cards that are banned in a format (legality status is 'banned', not merely absent from the format).
banned:legacybanned:modernbanned:commander
restricted
: =
Filter to cards that are restricted in a format (limited to one copy). Currently only relevant to vintage.
restricted:vintage
USD/EUR/TIX Prices
usd
: = != > >= < <=
Filter by USD price (non-foil). Prices sourced from TCGPlayer via Scryfall.
usd<1usd>=10usd=0.25usd!=0
eur
: = != > >= < <=
Filter by EUR price (non-foil). Prices sourced from Cardmarket via Scryfall.
eur<2eur>=5eur=1.50
tix
: = != > >= < <=
Filter by MTGO ticket price. Prices sourced from Cardhoarder via Scryfall.
tix<1tix>=5tix=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.
ft:urzaflavor:"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.
border_color:borderlessborder: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.
frame:2015frame:showcaseframe:legendary-frame:future
is:foil
: =
Cards available in foil.
is:foil
is:nonfoil
: =
Cards available in non-foil.
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.
game:paperin:mtgogame:arena-in:arena
Year
year
: = > >= < <=
Filter by release year. Supports all numeric comparison operators. Note: != is not supported for year.
year=2024year>=2020year<2015year:2019
date
: = > >= < <=
Filter by exact release date in YYYY-MM-DD format. Supports comparison operators. Note: != is not supported; use two comparisons instead.
date=2024-02-09date>=2020-01-01date<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).
lang:enlanguage:jalang: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).
is:commanderis:spellis:promois:digitalis:foilis: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.
not:showcasenot:extendedartnot: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. 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.
name:lightningname:"Lightning Bolt"n=bolt!"Sift Through Sands"
!name: / !o:
Not implemented
Fielded bang exact-match forms are not yet supported
Using OR
Supported. Use the or keyword (case-insensitive) between terms: c:red or c:white, (t:angel or t:demon) c:white.
Nesting Conditions
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.
unique:cardsunique:printsunique:art
order
: =
Sort results by a field. Valid values: name, cmc, power, toughness, set, rarity, color, usd, eur, tix, edhrec, released.
order:nameorder:cmcorder:usdorder:released
prefer
: =
Prefer a specific printing when deduplicating. Valid values: oldest, newest, usd-low, usd-high, promo, default, atypical, ub (Universes Beyond), notub.
prefer:newestprefer:usd-lowprefer:promoprefer:notub
direction
: =
Control sort direction. Valid values: asc (ascending, default) or desc (descending).
order:usd direction:descorder:cmc direction:asc