Scryfall Bulk Data API

Large daily exports of the entire Scryfall card database.

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-bulk-data-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 email required.

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

OpenAPI Specification

scryfall-bulk-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Scryfall Bulk Data 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: Bulk Data
  description: Large daily exports of the entire Scryfall card database.
paths:
  /bulk-data:
    get:
      tags:
      - Bulk Data
      summary: List Bulk Data Files
      description: Returns a List of all bulk-data exports currently available from Scryfall.
      operationId: listBulkData
      responses:
        '200':
          description: A list of bulk-data files.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkDataList'
  /bulk-data/{id}:
    get:
      tags:
      - Bulk Data
      summary: Get a Bulk Data File by ID
      description: Returns a single bulk-data export by its Scryfall ID.
      operationId: getBulkDataById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: The requested bulk-data file.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkData'
  /bulk-data/{type}:
    get:
      tags:
      - Bulk Data
      summary: Get a Bulk Data File by Type
      description: Returns a single bulk-data export by its type (oracle_cards, unique_artwork, default_cards, all_cards, rulings).
      operationId: getBulkDataByType
      parameters:
      - name: type
        in: path
        required: true
        schema:
          type: string
          enum:
          - oracle_cards
          - unique_artwork
          - default_cards
          - all_cards
          - rulings
      responses:
        '200':
          description: The requested bulk-data file.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkData'
components:
  schemas:
    BulkData:
      type: object
      description: A Scryfall Bulk Data object describing one downloadable export of card data.
      properties:
        object:
          type: string
          enum:
          - bulk_data
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
          - oracle_cards
          - unique_artwork
          - default_cards
          - all_cards
          - rulings
        updated_at:
          type: string
          format: date-time
        uri:
          type: string
          format: uri
        name:
          type: string
        description:
          type: string
        compressed_size:
          type: integer
        download_uri:
          type: string
          format: uri
        content_type:
          type: string
        content_encoding:
          type: string
        size:
          type: integer
    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
    BulkDataList:
      allOf:
      - $ref: '#/components/schemas/List'
      - type: object
        properties:
          data:
            type: array
            items:
              $ref: '#/components/schemas/BulkData'