Scryfall
Comprehensive Magic: The Gathering card database
A deep Magic: The Gathering API with every card, set, ruling and high-resolution scan. The /cards/random endpoint hands back a full card object; fuzzy name search and Scryfall-syntax queries are also available. Keyless, though the maintainers ask for a small delay between requests.
GET https://api.scryfall.com/cards/random
{
"object": "card",
"id": "46db3811-db1d-4f69-8143-a93f64d0297b",
"name": "Impact Tremors",
"released_at": "2023-04-21",
"layout": "normal",
"highres_image": true
}curl "https://api.scryfall.com/cards/random"const res = await fetch("https://api.scryfall.com/cards/random");
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.scryfall.com/cards/random")
print(res.json())BROWSER CALLS BLOCKED (NO CORS/HTTPS) — USE THE CURL SNIPPET
/cards/randomPROBEDComprehensive Magic: The Gathering card database
/listPaginated list of resources.
/cardsCards — documented GET route.
/cards/1Cards details by ID (example: 1).
/cards?limit=10Cards — documented GET route.
/cards/search?q=testSearch by query parameters.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.
Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.
Scryfall: common questions
Is Scryfall free to use?
Yes — Scryfall is a free games API. Free tier: Free, no API key required. Whether the free tier allows commercial use is unclear — check the provider docs.
Does Scryfall need an API key?
No — Scryfall needs no API key or signup. You can call it straight away; rate limits still apply (~10 requests/second; docs ask for 50-100 ms between requests).
Can I call Scryfall from the browser?
Not directly — Scryfall doesn't send browser-friendly CORS headers, so call it from a server or proxy instead. Copy the curl or Python snippet on this page to get started.
Is Scryfall up right now?
As of our last scheduled check, Scryfall is healthy with 94.2% uptime over 90 days and a 470 ms median response. We re-probe it every sweep — the status badge and uptime chart above always show the latest.