Card Migrations

For the vast majority of Scryfall’s database, Magic card entries are additive. We add new and upcoming cards as we learn about them and obtain images.

In rare instances, Scryfall may discover that a card in our database does not really exist, or it has been deleted from a digital game permanently. In these situations, we provide endpoints to help you reconcile downstream data you may have synced or imported from Scryfall.

Migration Plans

Each migration has a provided migration_strategy:

Strategy Description


You should update your records to replace the given old Scryfall ID with the new ID. The old ID is being discarded, and an existing record should be used to replace all instances of it.


The given UUID is being discarded, and no replacement data is being provided. This likely means the old records are fully invalid. This migration exists to provide evidence that cards were removed from Scryfall’s database.

Card Migrations have the following properties:

Property Type Atn Details
object String A content type for this object, always migration.
uri URI A link to the current object on Scryfall’s API.
id UUID This migration’s unique UUID.
performed_at Date The date this migration was performed.
migration_strategy String A computer-readable indicator of the migration strategy. See above.
old_scryfall_id UUID The id of the affected API Card object.
new_scryfall_id UUID Nullable The replacement id of the API Card object if this is a merge.
note String Nullable A note left by the Scryfall team about this migration.
metadata Object Nullable Additional context Scryfall has provided for this migration, designed to be human-read only.

Example Request

Retrieve the most recent migrations