But it does have some side effects:
- You can't search for cards based off of their literal printed text. This normally doesn't matter, but it is annoying if you want to, say, only find printings that include reminder text.
- The mana value that Scryfall stores is the card's mana value in zones other than the stack (which is the correct mana value to store). This makes split cards a pain in the ass. You want to know all of the split cards that have a half that you can cast for two mana? Search for every split card and manually filter the list.
- Similarly, Scryfall doesn't store any costs other than the one in the top right corner of the card (split cards/mdfcs do get an exception here). Again, this is a sensible decision on Scryfall's part, but it means that conceptually simple searches like "I want to find every card with a cheaper flashback cost than its normal cost" or "I want to find every card that costs less than three mana to cycle" would be an absolute nightmare to actually do (I'm pretty sure that first one is effectively impossible unless you download the dataset and write your own code to search it and parse "converted mana costs", which sounds like too much work).
- Thanks to how cards store the list of cards related to them, it'd be viable for Scryfall to let you do something like token:zombie to find every card that makes a Zombie token. The catch (and probably the reason why you can't do that) is that Scryfall only includes related cards that exist, meaning that a not-insignificant number of older cards don't make tokens as far as Scryfall is concerned.
I have
such complaints about the first two on this list.
First one is a thing that WotC has already officially released in Gatherer! Better yet, it even has distinct "printed text" for each printing of the card. Why can't Scryfall scrape it literally one time, then once per main set going forward? It's not something that ever updates over time so it should require zero maintenance, just doubling their storage space and adding one search variable. Not trivial, but not exactly dificult, or so it seems to me. Perhaps they're legitimately constrained by storage space, maintainability, or coder time.
Second one is absolutely wild, since all of the following are true:
1) Scryfall has "is:split" as a search condition that already exists (returning the physical card, showing both halves, but not each half individually)
2) Individual halves of split cards correctly exist as two distinct cards in their database (see:
Fire and
Ice)
3) A split card's Oracle name is both of those cards, but if you click on
Fire // Ice it will actually take you to
a search that also finds Sword of Fire and Ice, and that also holds true for
Fire/Ice and all other formatting things I swear I didn't mess it up in that exact way
4) Searching "fire / ice" in Gatherer returns exactly two results named "Fire // Ice (Fire)" and "Fire // Ice (Ice)" so this is
also an already solved problem