Tools
Searching with Scryfall: Magic at your Fingertips
Whether you’re curating a cube, putting together a new Commander deck, or brewing up the next breakthrough in your favorite constructed format, an effective way to search all 21,000 Magic cards is critical.
If you ’ve ever asked a question like “what are my options for a blink archetype?”, “what are all the black-red lands?”, or “are there any bant legends that interact with enchantments?”, Scryfall, the premier Magic database and search engine, can put the answer at your fingertips in minutes. If you’re comfortable with Scryfall’s custom search syntax, you’ll have your answer in seconds.
This is a practical introduction to Scryfall’s search syntax, a simple text format for multi-faceted queries, and the common patterns of card text that will let you take full advantage of it. For a comprehensive list of options see the comprehensive syntax guide. If you’re already comfortable with the search syntax level up your searching with regular expressions or find some inspiration in the practical examples below.
Simpler than it Sounds
When you enter text into Scryfall’s large, friendly search bar, you’ll get every card with that exact word or phrase in its name.
Unless you already know what you’re looking for, you wont make much progess searching by name alone. We can find some iconic wizards and a few wizardy spells, but if we’re looking new cards for a cube or deck, card names not usually relevant. Instead, we’re interested in attributes that have significance to gameplay and what the cards actually do.
The ‘syntax’ is a way to format a search in plain, typeable text to find cards by specific aspects. The core of it is just entering an attribute of a card, a colon, and the text you’re looking for surrounded by quotes.
When Scryfall gets a search term followed by a colon, it searches that field of the card rather than the name. type:wizard
will give you every card that’s a wizard, and type:'legendary creature'
all legendary creatures.
Most card attributes are fairly obvious — type
, color
, set
, power
, mana
, and many more. Attributes also have a shorthand, like t
for type. Shorthands are faster to type, but full attribute names are used here for clarity.
Combining Terms
Searching one term at a time is a start, but adding multiple terms narrows down searches. Searching for all legends or all wizards is fine, but if we’re looking for a creature to lead a wizard creature type commander deck, we’ll want to be more specific.
With multiple terms, separated by spaces, Scryfall will find all cards that fit all conditions. Imagine the word “and” between each term. This search will return every blue, legendary wizard.
Entering “legendary” and “wizard” is necessary because Scryfall finds exact matches within a card’s type line. type:'legendary wizard'
won’t find anything since that exact text doesn’t appear on any cards. type:'legendary creature — wizard'
will miss cards that have additional creature types, like merfolk wizard
.
Any free text not associated with an attribute is used to search card names, so mind your quotes! This query gives us all legendary wizards that also have “master” in their name.
Comparisons and Ranges
There more options for searching numeric values — mana value, power, toughness, and more. Comparison operators broaden searches of these numeric values.
For any numeric attribute, replace the colon with any of <
, >
, <=
or =>
to find cards with an value greater than or less than a particular number. The search manavalue<3
finds every card that costs less than three mana.
This is especially useful combined with other terms — for example, if we want to find a low cost commander.
Another use case is to find one-drop creatures with more than one power, to find more options to support aggro decks in a cube.
Color and Color Identity
Comparison operators can also be used for color attributes. These are treated as a set of options, abbreviated with the standard WUBRG
characters, M
for multicolor, and C
for colorless.
Using :
or >=
and one or more colors finds all cards that have that have at least those colors and possibly more.
Replace the comparator with =
to find cards that are exactly a set of colors and no more.
Use <=
to find cards that have some or all of the given colors, but exclude any other colors. This is particularly useful for finding cards you can play with a particular commander, or to fill out a guild in your cube.
Color identity, specified with identity
or id
, works similarly but takes into account colors in cards’ text boxes. By default, and conveniently for commander, :
works like <=
finding only cards within that identity and will include colorless cards.
Using identity
here will give us every Wizard that could be played in a blue-red commander deck.
If we’re looking for a commander, we can switch our identity
term to =
to find all the legendary wizards that are an exact color identity.
Besides identity
’s obvious utility for Commander, it also enables other invaluable searches. It’s particularly valuable when searching for lands.
Card Text
Searching every card attribute is useful in particular situations, but no part of the card is as important or as complex as the text box. Effectively searching card text can be a little tricky and is much easier with a little understanding of how cards are worded. Once you get the hang of it, it’s the most powerful aspect of Scryfall’s search.
Simple Text Search
The field for card text is oracle
, or o
for short. (The name is less obvious than other fields, coming from the name of an internal database of cards used by Magic’s designers.)
This finds every card ever printed with the word “counter” in it’s text, whether it counters a spell, creates a +1/+1 counter, can’t be countered, or even just references a chance encounter.
Full text search lets us be much more specific. Finding wizards is great, but typal-matters mechanics are in the text box, not the typeline. Searching with oracle
can not only find wizards, but cards that interact with wizards in some way.
Like other search criteria, oracle
queries benefit from combining multiple terms:
We’ll get some false positives, but a few keywords can dig for a big group of cards — looting and rummaging, or abilities that trigger off of casting instants. Oracle searches aren’t perfect and can be made very specific with regular expressions, but if you’re looking for particular mechanics, this is the quickest way to find cards you’ve never seen before.
Card text is designed to be uniform. The exact effect “destroy target creature” is always written the same way. As the rules and conventions of Magic continue evolving, Wizards doesn’t only create new cards. With every change to the game they also go back through the entire history of cards and update the rules text for consistency. For example, when “mill” was turned into a keyword, not only did new cards use it, but every existing card that moved cards from the library to graveyard received updated “oracle text”. This means printed cards don’t always match the official rules text exactly, but the updated rules text is reflected online on Scryfall and in Magic’s database. The benefit is searches work for cards across history regardless of when they were first printed, and we don’t need to run multiple searches with outdated terms.
Symbols and Special Text
Since most of us don’t have a tap symbol on our keyboard, symbols specific to Magic are represented in Scryfall by plain, typable text representations. These text versions of symbols help find particular mana costs, abilities, and more.
The most common symbols are mana symbols and the tap symbol. These are all written with a letter in curly braces: {W}
, {U}
, {B}
, {R}
, {G}
, and {T}
, for ‘tap’. Generic mana costs are written as a number in curly braces: {3}
.
These symbols allow us to build searches for creatures that generate mana, abilities that cost mana, cost reduction effects, specific mana costs, and much more.
Text | Name | |
---|---|---|
{W} | ||
{U} | ||
{B} | ||
{R} | ||
{G} | ||
{2} | ||
{C} | ||
{X} | ||
{S} | ||
{R/W} | ||
{2/W} | ||
{U/P} | ||
{T} | ||
{Q} | ||
{E} | ||
~ |
References to a card’s own name get another special symbol: ~
, which helps in the many common instances of Magic cards which reference themselves by name for one reason or another.
Abilities
You may have noticed Magic cards are not always written in the most natural prose. Truly, many cards are downright clunky to read. Cards are almost written in their own language, with particular words and phrases — target, destroy, counter — carrying special meaning they don’t have in Merriam-Webster. Magic’s legalese takes some getting used to, but lets the rules function in a consistent, concrete way. It also happens to make searching for specific effects much easier.
In addition to common keywords like ‘destroy’ and ‘exile’, card abilities are structured in uniform ways. Activated abilities always include a colon in the rules. Triggered abilities always include the words “when”, “whenever”, or “at”.
It looks a little funny, but searching for just cards which include a colon will find all cards with activated abilities. Combined with other search terms, we can find classes of cards like mana rocks or cards that allow us to sacrifice permanent.
Because Magic templating is consistent, if you’re looking for a particular effect on a card, you can start with a card you already know to find the general, searchable template. For example, to find cards that trigger when attacking, we can start with Krenko, Tin Street Kingpin and take the text for his triggered ability.
This query finds all cards that trigger when attacking. The ~
placeholder for the card’s name allows us to generalize the ability to any creature. Alternatively, a search for o:whenever o:attacks
will have more false positives, but captures more of the cards we may be interested in.
Even though card templating is very consistent, be aware that that functionally do the same thing can still be structured in different ways. Magda, Brazen Outlaw’s ability triggers on attack, but wont be found by the specific search above. It’s always worth taking a step back and combining searching with other tools for discovering cards.
Wildcards
Many effects include particular words or phrases with a variety of intervening conditions, types, or options in between. For example searching for “destroy target creature” will miss conditional removal spells. Wildcards, written .*
, are an advanced feature for making searches more precise and flexible. They allow any text to appear in their place within the card text.
To enable wildcards, replace the quotes around a search term with slashes. Ideal cases for wildcards are effects with a particular cost and effect, linked abilities, or effects that interact with particular zones in a certain order.
Wildcards are the most used part of a bigger set of features. For even more nuanced card text searches, read our article on searching cards with regular expressions.
Full Text
o
searches the rules text of cards but doesn’t include reminder text, the italic text used to clarify keywords or potentially confusing interactions. To search the full text including reminders, use fulloracle
or fo
. Full oracle catches things like cycling in searches for card-drawing, or prowess in searches for spell-casting. Be aware that reminder text isn’t held to the same standards for completeness or consistency.
Negation
Searching can be like sculpting. As you explore, a search can expand or become more focused. If you find you’re getting a particular pattern of false positives you can exclude them.
A search for counterspells using o:counter
will turn up a pile of +1/+1 counters. A search for a type can include results for the exact opposite. Prefix the unwanted term with ”-” to exclude all cards that match it, and save time reviewing results.
Excluding cards can save time, but be aware of the limitations. Removing ‘nonartifact’ from an ‘artifact’ search, will exclude the occasional card referencing both.
(X or Y)
Whereas negation narrows a search, you can expand a search with or
to find multiple terms at once, especially with a complex search where one term has a few options.
When combining with other terms, wrap groups of alternatives in parentheses so Scryfall knows which terms are in the set. To search removal spells, you can expand your search to allow both instants and sorceries and find cards which destroy or exile.
Beyond Mechanics
Sometimes we’re not solely interested in the game’s mechanics. We may be designing a cube or deck with non-mechanical restrictions around budget, rarity, or format legality.
This query finds all common and uncommon cards less than $5 in the Return to Ravnica block, critical for a very specific sort of cube. Like everything else, we can mix and match these queries, and use any comparison operators. Rarity is a text value, but has a particular order to it, so you can use comparison operators to search above or below a particular rarity.
If you’re just looking for cards by your favorite artist, you can do that too.
Searching for cards in a game as vast as Magic can be daunting, but finding new cards for a deck or concretely answering questions about the cards that exist is extremely rewarding. Getting comfortable with the tools can take some effort, but is well worth it.
Search Examples
For a comprehensive list of all search options and how to use each see the Scryfall syntax guide. These examples illustrate some more complex, real world examples you might encounter when building a deck or cube. This isn’t exhaustive, but just to give you some more ideas about how terms can be combined.
Note that many of these will include some number of false positives but will make it possible to find what you’re looking for without too much extra work.