API Changelog

Recent changes to Scryfall that affect API development.

Illustration identifiers

We’ve started rolling out unique illustration identifiers as part of card JSON data. You can now reference the illustration_id field to identify card artwork across printing editions. Cards with the same illustration_id have the same artwork.

Note that assigning unique identifiers isn’t a fully automated process, so there may be some delay in this information for new sets.

Versions can now be specified with the image format

When using API endpoints that support the image format mode, you can now also pass a version parameter naming the image version to return.

For example, this request returns a redirect to the small version of Strip Mine:

https://api.scryfall.com/cards/multiverse/409574?format=image&version=small

The default is still large:

https://api.scryfall.com/cards/multiverse/409574?format=image

The art_crop and border_crop are not currently supported here, because they are not yet widely deployed.

For more information, see the Request Formats page.

Improvements to color/color identity operators

Magic’s relationship with colors is…complicated. The color pie is ever-changing and inconsistent, rules for colors and color identities are complex, and mana bases require a PhD in mathematics to accurately craft.

Today, we’re happy to announce changes to how we handle colors and color identity that might make it easier to search about color:

  • You can use nicknames for color groupings from lore, such as color:esper.
  • For color range comparison, you can use <, >, <=, >=, =, and !=.
  • You can still use the color and identity operators as you have previously.

Some examples of searches you can now make:

Enjoy!

New API documentation and September 2017 update

Our API documentation pages have been redesigned and split into multiple pages for easy linking and reading. We hope you like it. ❤️

Of particular interest, we now have image guidelines and a full list of colors and symbol formatting we support.

Object Updates

  • Set objects now include their uri linking to themselves and a scryfall_uri linking to that set on Scryfall’s website.
  • Card objects now have a color_indicator field describing the contents of their color indicators.
  • Cards that transform now have a correctly-scoped colors fields in their particular card_face objects.
  • Cards that transform now have a correctly-scoped color_indicator field in their particular card_face objects if that face of the card has a color indicator.
  • It’s now possible for double-faced cards to have multiple Multiverse IDs. These are made available in the new multiverse_ids property.
  • Card objects now include information about their future (Future Standard) legality.
  • Card objects now include a prints_search_uri which links where you can begin paginating all re/prints for this card on Scryfall’s API

Method Updates

  • New catalog: /catalog/artifact-types
  • New catalog: /catalog/spell-types
  • The /cards/autocomplete now returns up to 20 items (down from 25) but it is more accurate. It’s more likely to return a full list of 20 items and it favors results that start with your term (also known as “anchoring front”)
  • The /cards and /cards/search endpoint now returns 175 items per page (up from 150), to match the checklist pages on the main website.
  • /catalog/word-bank now includes words of length 2, so it covers some of our favorite words like Ob

Deprecated Features

  • The multiverse_id field on cards is now deprecated. It will be removed on December 1, 2017. Use the new multiverse_ids field instead.

Removed Features

  • The deprecated (and long-hidden) methods /catalogs/banned-formats, /catalogs/restricted-formats, and /catalogs/legal-formats have been removed. A list of all supported formats are available on every card object.
  • The foil property on Card objects has been disabled. The value of this property was misleading and inaccurate for many cards. It will return when we can better support foil card data.

API: Recent double-sided card and image updates

Mirroring the previous update made to flip and split cards, we have merged each side of transforming cards into a single record.

Transforming card objects now include two card_face objects describing their distinct face. Each card_face object will have its own image_uris property linking to the images for that face.

In addition, a new layout double_faced_token has been added to handle the new promotional double-sided token cards available with Ixalan. These card objects will have the same two-image system as transforming cards.

New Images

We’re rolling out two new image types:

  • border_crop is a 480×680 JPEG image where the borders of the card are cut close and the rounded corners removed.
  • art_crop will attempt to isolate the card’s artwork into its own rectangular image file. This will likely not be perfect for outlier card designs. Art crops for different frames and layouts may be different rectangular sizes. As this image is the first where we don’t include the copyright line and artist credit, you are heavily encouraged to show a copyright, disclaimer, and artist credit wherever you display this image.

URIs to both of these images will be part of the image_uris field for card objects when available. Recent sets already have these images, and older sets will receive them progressively over the coming weeks.

image_uri is Deprecated

The image_uri property on card objects is now deprecated. We will be removing this field from objects on November 1, 2017. Instead, you should choose an image that works best for your project from the keys in the image_uris (plural) property on card or card_face objects.

Questions?

If you have any questions or feedback about these changes, you can always DM us on Twitter or submit an issue on GitHub. Thanks so much for using our API!

High-resolution PNG images

When available, card profiles now include a link to download a full-resolution PNG image with rounded corners and transparent edges. These images are designed for tasks that need the best quality assets, such as videos and promotional art.

In the toolbox section of card profile pages, click the “Download PNG image” link. Examples:

These image files are also now returned via the API, in the image_uris object.

"Appeared in" set filter

You can now use the in: or wasin: keyword to filter cards based on a set they “appeared in”, but not otherwise require that set in results.

Examples of interesting searches you can make with this keyword:

Previously this functionality was available using the e:set+set or e:set,* syntaxes. Use the in: keyword instead for official support.

High resolution images

Scryfall is rolling out support for high resolution card images. We currently have all of Standard available, and new sets are being added daily.

For developers: Card objects in the API now have an image_uris property, which will be populated with different image sizes if the card in question has high-res imaging available. Note that many cards (especially promos) will not have these fields available immediately. You should handle both situations in your code.

We hope you really enjoy this update. We want to support content creators, app builders, and anyone else that needs high-resolution images to do their work. Please let us know what you think! 🚀

Feedback and ticketing

We wanted to streamline the process of collecting your feedback, and to give you the opportunity to participate in any conversation that follows your report. So, we’ve added a feedback form to the site that will open a new ticket in our official feedback tracker.

Once you’ve submitted a feedback report, you’ll be provided with a link to your newly opened ticket. Check that link at any time to follow your ticket status, or better yet, sign up for a free GitHub account so that you can subscribe to notifications and leave additional comments.

We thank you all for the feedback you’ve sent us to date concerning card issues and the website itself. Keep it coming!

Split & flip cards updated

Split and flip cards have been updated. Each half of the card has been combined into a single page. Information for split cards has been updated to adhere to the Amonkhet rules update. Notably:

Split/Flip Card Search Updates

The search system now understands that a split/flip card has one combined name like Beck//Call but also two distinct names, Beck and Call. You can now search for one or both halves of a split card using any of these formats.

Split/Flip Card Changes for Bots

The Slack and Discord bots now understand requests for split card names, such as [[Wear//Tear]].

API Changes for Split/Flip Cards

Each split and flip card is now represented as a single object via the API instead of two. A new card_faces property has been added that contains information for each half of the split/flip card. See the updated API documentation for details.

Notice of upcoming changes to images, split cards, and flip cards

This post is to provide advance warning to developers that Scryfall’s data model will soon change how we present split cards, flip cards, and card images. The changes will unfortunately be backwards-incompatible with the previous API.

High-Resolution Images

We will be slowly rolling out higher resolution images for cards!

👇 Click to ENHANCE.

  • Our current cards are available at 336×469px.
  • New images will be double that size, at 672×938px. 😱😍

A new field images will be added to the card object with normal and large properties with URIs to each version.

The image property will continue pointing to the normal version of the image, but is now deprecated.

Not all cards will have high-res images immediately. This change will likely creep out to newer sets and expansion sets first, then to all supplemental sets. When a card doesn’t have a high-res image, its images.large property will be null.

The system we’re building to make this change opens up a bunch of future possibilities with card images: art crops, square crops, consistently rounded corners, and more. Let us know what you want to see out of this. Stay tuned!

Split Cards and Flip Cards

Because users so often search for the combined name of split cards or search “across” the two halves of split cards (to discover casting loopholes, etc) we will be combining split cards and flip cards into a single object representing both halves of the card.

  • The name field for a split/flip card object will contain both names of the card. For example Wear // Tear
  • The mana_cost field for a split/flip card object will contain both values on the card. For example {1}{R} // {W}
  • A new faces field will contain two card_face objects that will have the distinct name, mana_cost, type_line, oracle_text, power, and toughness information for each face of the split/flip card.
  • The parent-level fields type_line, oracle_text, power, and toughness will be null for split/flip cards.
  • Other parent fields such as multiverse_id, prices, set information, etc will be unchanged.

These new combined card objects will replace the previous left-side/top-side object in our results. The object for the other side will be deleted.

  • For example, our current object for DGM Wear has ID d169a3b2… and the object for DGM Tear has ID bd0f7a22…. When this update occurs there will be only one object with ID d169a3b2… called Wear // Tear.

We will be updating split cards to adhere to the new Magic rules update:

  • The converted_mana_cost will now be the sum of the converted mana cost of both halves.
  • The color will now be the union of the colors of both halves.
  • The color_identity will now be the union of the color identity of both halves.

When searching for split/flip cards, API endpoints that use either part of the name or the combined // name will work:

  • Searching for a card named exactly Wear will find Wear // Tear.
  • Searching for a card named exactly Tear will find Wear // Tear.
  • Searching for cards named Wear/Tear, Wear // Tear, or Wear //\\/\/ Tear will find Wear // Tear.
  • Partial name searches will now match either side of the card or both. For example searching for we tea will now include Wear // Tear.

In addition, our chat bots will now return both halves of a split/flip card when you search for one or both sizes. For example [[Wear]] and [[Wear//Tear]] will now find Wear // Tear.

Transform and meld cards are unaffected by this update. They will remain distinct cards with an all_parts field as usual.

Thank you!

Thank you so much from the bottom of our hearts for using our API. We’ve been delighted by the things we’re seeing people build. If you have any questions or feedback about these changes, please send us a message.

Advanced search enhancements

The advanced search card type field now supports negation and is enhanced with an auto-complete helper. A new field has been added to support “is” search criteria.

Search Future Standard

We’ve added a new “format”: future. Using the f:future keyword or picking “Future Standard” on the advanced search will let you search over what Standard will be once the next set is released or a rotation occurs. Whenever we start spoiling a new Standard set, we will update f:future to let you brew for the coming season.

Try it out with f:future to brew with Amonkhet.

Early sets renumbered

Many older sets have been renumbered to more closely match the standardized color/name order that newer sets usually have.

Note that none of the following sets have official collector numbers, so our re-assigned numbers continue to be chosen “arbitrarily” and/or not from WOTC:

In addition, the following sets were renumbered to match either the partial or full list of collector numbers we have for that set from Magic Online. The rest of the set numbers were assigned “arbitrarily” as with the above list.

Euro Pricing

Scryfall now has card prices in Euros (€), and links Euro prices to our European affiliate, MagicCardMarket.

Similar to other currencies, you can sort by Euro price, and filter results by Euro value with eur and a comparison. Try out ++eur>15 t:land.

Color identity searches now check coverage

Color identity searches are now “coverage”-type searches instead of a match filter. Searching for id:wug will find all cards that you can put in a white/blue/green commander deck. The old version of this search would find cards that had at least white/blue/green in their color identity, which was not very useful. Try id:wug t:instant

October bugfix update

We fixed a lot of bugs and small omissions thanks to everyone who reported issues on release day, including:

  • Searches for t:assembly-worker now work correctly
  • Fixed incorrect Vintage legality results
  • Fixed incorrect Clash Pack images
  • Repaired a few URL format inconsistencies in API results
  • Fixed lots of spelling errors