Skip to main content

Scryfall

Scryfall provides a comprehensive database and REST API for Magic: The Gathering card data, including card details, printings, prices, images, rulings, sets, and bulk data downloads. The API serves data over HTTPS as JSON and is used to search cards, resolve cards by a variety of identifiers, and retrieve reference catalogs.

Scryfall icon

Power end-to-end data operations for your Scryfall API with Nexla. Our bi-directional Scryfall connector is purpose-built for Scryfall, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Scryfall or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Scryfall workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

The Scryfall API is publicly accessible, and most endpoints can be called anonymously without an API key or token. To connect, you provide a credential in Nexla that supplies the request headers Scryfall expects and, optionally, an authorization token for methods that require one.

Before creating a Scryfall credential, review the following:

  • Authentication. Public Scryfall endpoints do not require credentials. Certain methods are restricted to registered applications and expect an Authorization: Bearer <token> header, where the token is issued to your Scryfall application. If you are calling only public endpoints, an authorization value is not required.

  • Request headers. All requests to api.scryfall.com must include a User-Agent header that accurately identifies your application and an Accept header (for example, application/json;q=0.9,*/*;q=0.8).

  • Rate limits. Scryfall asks clients to keep traffic to roughly 10 requests per second. Exceeding the limit returns an HTTP 429 response and temporarily restricts access, so schedule ingestion accordingly.

For complete details on authentication, applications, and rate limits, see the Scryfall API Documentation.

Authenticate

Credentials required

An authentication method that requires sending a unique secret token with each API request

FieldRequiredSecretDescription
API Key ValueYesYesAn encoded string value used as a secret token to authenticate API requests

Create a credential in Nexla

  1. After selecting the data source type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter your Scryfall authorization value in the API Key Value field. This value is sent in the Authorization request header. For methods restricted to registered applications, use the bearer token issued to your Scryfall application.

    Most Scryfall endpoints are public and do not require an authorization token. Provide a token only if you are calling methods that are restricted to registered applications.

    For detailed information about authentication and registered applications, see the Scryfall API Documentation.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Scryfall connector tile, then select the credential that will be used to connect to the Scryfall API, and click Next; or, create a new Scryfall credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Scryfall endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

[Rest API] Search for cards using full-text search

Search for cards using full-text search.

[Rest API] Get a card by exact or fuzzy name

Get a card by exact or fuzzy name.

[Rest API] Autocomplete a card name

Autocomplete a card name.

[Rest API] Get a random card

Get a random card.

[Rest API] Get a list of cards by identifiers

Get a list of cards by identifiers.

[Rest API] Get a card by Scryfall ID

Get a card by Scryfall ID.

[Rest API] Get a card by set code and collector number

Get a card by set code and collector number.

[Rest API] Get rulings for a card by set code and collector number

Get rulings for a card by set code and collector number.

[Rest API] Get a card by Multiverse ID

Get a card by Multiverse ID.

[Rest API] Get a card by MTGO ID

Get a card by MTGO ID.

[Rest API] Get a card by MTG Arena ID

Get a card by MTG Arena ID.

[Rest API] Get a card by TCGplayer product ID

Get a card by TCGplayer product ID.

[Rest API] Get a card by Cardmarket product ID

Get a card by Cardmarket product ID.

[Rest API] List all sets

List all sets.

[Rest API] Get a set by set code

Get a set by set code.

[Rest API] Get a set by Scryfall ID

Get a set by Scryfall ID.

[Rest API] Get a set by TCGplayer editions code

Get a set by TCGplayer editions code.

[Rest API] Get rulings for a card by set code and number (alt path)

Get rulings for a card by set code and number (alt path).

[Rest API] List all bulk data downloads

List all bulk data downloads.

[Rest API] Get a bulk data item by ID

Get a bulk data item by ID.

[Rest API] Get a bulk data item by type (e.g. oracle_cards)

Get a bulk data item by type (e.g. oracle_cards).

[Rest API] Get catalog of all card names

Get catalog of all card names.

[Rest API] Get catalog of all artist names

Get catalog of all artist names.

[Rest API] Get catalog of common English words in card text

Get catalog of common English words in card text.

[Rest API] Get catalog of all creature types

Get catalog of all creature types.

[Rest API] Get catalog of all planeswalker types

Get catalog of all planeswalker types.

[Rest API] Get catalog of all land types

Get catalog of all land types.

[Rest API] Get catalog of all artifact types

Get catalog of all artifact types.

[Rest API] Get catalog of all keyword abilities

Get catalog of all keyword abilities.

[Rest API] List all card symbols

List all card symbols.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Scryfall data sources can also be manually configured to ingest data from any valid Scryfall API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Scryfall data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.