Scryfall Migrations API

Records of card-object migrations and merges.

Operations 2

GET /migrations List Migrations #
GET /migrations/{id} Get a Migration by ID #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-card-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-card-face-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-related-card-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-image-uris-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-legalities-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-prices-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-set-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-ruling-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-card-symbol-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-catalog-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-bulk-data-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-migration-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-list-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-schema/scryfall-error-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-structure/scryfall-card-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-structure/scryfall-set-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-structure/scryfall-ruling-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-structure/scryfall-card-symbol-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-structure/scryfall-catalog-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-structure/scryfall-bulk-data-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/scryfall/refs/heads/main/json-structure/scryfall-migration-structure.json

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/scryfall-migrations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

scryfall-migrations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Scryfall Migrations API
  description: 'The Scryfall API is a REST-like interface to the most comprehensive Magic: The Gathering

    card database. It exposes Card, Set, Ruling, Symbology, Catalog, and Bulk Data resources

    used by community tools, deck builders, price trackers, and research projects.


    The API is provided free of charge as part of the Wizards of the Coast Fan Content Policy

    for the primary purpose of creating additional Magic software, performing research, or

    creating community content. It is served only over HTTPS (TLS 1.2+) and requires both a

    descriptive User-Agent and an Accept header on every request. Clients are expected to

    keep request rates under 10 per second (50–100 ms delay between calls), and to use the

    bulk-data downloads for any large-scale ingestion task instead of crawling Card endpoints.

    '
  version: '2026-05-29'
  contact:
    name: Scryfall API Support
    url: https://scryfall.com/contact
  license:
    name: Scryfall API License (Free with attribution)
    url: https://scryfall.com/docs/api
  termsOfService: https://scryfall.com/docs/api
servers:
- url: https://api.scryfall.com
  description: Production API
tags:
- name: Migrations
  description: Records of card-object migrations and merges.
paths:
  /migrations:
    get:
      tags:
      - Migrations
      summary: List Migrations
      description: Returns a List of all card-object Migration records published by Scryfall.
      operationId: listMigrations
      responses:
        '200':
          description: A list of migrations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MigrationList'
  /migrations/{id}:
    get:
      tags:
      - Migrations
      summary: Get a Migration by ID
      description: Returns a single Migration record by its Scryfall ID.
      operationId: getMigrationById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: The requested Migration.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Migration'
components:
  schemas:
    List:
      type: object
      description: A generic Scryfall List object wrapping a paginated collection of any type.
      properties:
        object:
          type: string
          enum:
          - list
        total_cards:
          type: integer
        has_more:
          type: boolean
        next_page:
          type: string
          format: uri
        data:
          type: array
          items:
            type: object
    MigrationList:
      allOf:
      - $ref: '#/components/schemas/List'
      - type: object
        properties:
          data:
            type: array
            items:
              $ref: '#/components/schemas/Migration'
    Migration:
      type: object
      description: A Scryfall Migration record indicating a card object was renamed, merged, or removed.
      properties:
        object:
          type: string
          enum:
          - migration
        id:
          type: string
          format: uuid
        uri:
          type: string
          format: uri
        performed_at:
          type: string
          format: date
        migration_strategy:
          type: string
          enum:
          - merge
          - delete
        old_scryfall_id:
          type: string
          format: uuid
        new_scryfall_id:
          type: string
          format: uuid
        note:
          type: string