Scryfall API

⭐ Beginner's Pick Games & Comics / No Auth Required Beginner HTTPS CORS
Free to Use Varies (check documentation)

Overview

Scryfall is a comprehensive Magic: The Gathering card database API that covers every printed card, including artwork, legality, and pricing data. It requires no API key and returns rich JSON objects with dozens of fields per card. It is an excellent beginner API for MTG players and developers building deck builders or collection trackers.

💡

Beginner Tip

No API key is required. Use the /cards/named endpoint with a ?fuzzy= parameter to find a card by approximate name, which is perfect for search-as-you-type features.

Available Data

Use case: Integrate magic: the gathering database data into web and mobile applications
Scryfall data via REST API
JSON-formatted response data
Freely accessible without authentication

Example Response

JSON Response
{
  "id": 1,
  "name": "Scryfall",
  "data": "Magic: The Gathering database",
  "source": "Scryfall"
}

Field Reference

id Scryfall UUID uniquely identifying this specific printing of the card
name Full card name as printed
mana_cost Mana cost in symbolic notation, e.g., {2}{U}{U}
type_line Full type line including supertypes, types, and subtypes
oracle_text Canonical rules text for the card ability
prices Market prices in USD and EUR as strings, including foil variants

Implementation Example

// ⚠️ Note: This URL may be a documentation page. Check official docs for actual API endpoint.
const url = "https://scryfall.com/docs/api";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

404 Not Found for card name Card name has no close match in the database
Try the /cards/search endpoint with q= parameter for broader searches, or verify spelling on the Scryfall website
429 Too Many Requests Sending requests faster than 10 per second
Add a 100ms delay between requests; Scryfall asks developers to self-rate-limit as a courtesy policy
Multiple versions returned A card name matches multiple printings from different sets
Use the id field from the card object to pin to a specific printing, or filter by set code with &set=

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 20/20
🔒 Security 15/15
🛠 Developer XP 20/20
✓ Reliability 7/15
Response Time 51ms

Fully tested on Apr 5, 2026

Technical Specifications

Auth No Auth
HTTPS REQUIRED
CORS YES
Category Games & Comics
Difficulty Beginner
Verified: 2026-04-04

Similar APIs

View All →