Discover/Moxfield API
live

Moxfield APImoxfield.com

Search Magic: The Gathering cards, retrieve pricing, legalities, and edition data, and fetch public decklists from Moxfield via a structured JSON API.

This API takes change requests — .
Endpoint health
verified 3d ago
get_card_details
discover_images
get_user_decks
get_startup_card_images
search_card_images
5/5 passing latest checkself-healing
Endpoints
5
Updated
24d ago

What is the Moxfield API?

This API exposes 5 endpoints for retrieving Magic: The Gathering card and deck data from Moxfield. Use search_card_images to query cards by name or Scryfall syntax and get paginated image URLs for each card face, or call get_card_details with a Moxfield card ID to pull full metadata including prices across editions, format legalities, artist credits, and set information.

This call costs1 credit / call— charged only on success
Try it

No input parameters required.

api.parse.bot/scraper/55189296-4a3a-4cd2-a006-802b22cd2b73/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/55189296-4a3a-4cd2-a006-802b22cd2b73/get_startup_card_images' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace moxfield-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Moxfield Card Data API — search cards, get details, browse user decks."""
from parse_apis.Moxfield_Card_Data_API import Moxfield, CardNotFound

client = Moxfield()

# Search for cards by name — limit caps total items fetched across pages.
for card in client.card_images.search(query="Lightning Bolt", limit=3):
    print(card.card_name, card.image_link, card.dimensions)

# Drill into one search result to get full card details.
result = client.card_images.search(query="Black Lotus", limit=1).first()
if result:
    card_id = result.image_link.split("card-")[1].split("-normal")[0]
    try:
        detail = client.card_details.get(card_id=card_id)
        print(detail.card.name, detail.card.type_line, detail.card.rarity)
        for edition in detail.editions[:3]:
            print(f"  Edition: {edition.name} ({edition.abbreviation})")
    except CardNotFound as exc:
        print(f"Card not found: {exc.card_id}")

# Browse a user's public decklists.
user = client.user(username="Aspiringspike")
for deck in user.list_decks(limit=3):
    print(deck.name, deck.format, deck.mainboard_count, deck.view_count)

# Get startup card images — a quick bootstrap source.
for img in client.discovered_images.list_startup(limit=3):
    print(img.link, img.source)

print("exercised: card_images.search / card_details.get / user.list_decks / discovered_images.list_startup")
All endpoints · 5 totalmissing one? ·

Retrieves card image URLs from the Moxfield startup card list. Returns all standard-resolution (488x680 webp) card images available in the anonymous startup payload. No parameters required; useful for bootstrapping a card image collection without a search query.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "count": "integer total number of images discovered",
    "images": "array of objects with link (URL string), source (discovery method string), and dimensions (string)"
  },
  "sample": {
    "data": {
      "count": 558,
      "images": [
        {
          "link": "https://assets.moxfield.net/cards/card-E02VW-normal.webp",
          "source": "startup",
          "dimensions": "488x680"
        }
      ]
    },
    "status": "success"
  }
}

About the Moxfield API

Card Search and Image Retrieval

search_card_images accepts a query string supporting Scryfall search syntax — type filters like t:creature, color filters like c:blue, or plain card names — alongside page and page_size (up to 175 per page) parameters. Each result in image_links includes card_name, image_link, dimensions (488×680 px WebP), and face_name for multi-faced cards, which get separate entries per face. The total_cards field lets you compute page counts client-side without an extra request.

Full Card Metadata and Pricing

get_card_details takes a card_id — extractable from image_link URLs returned by search — and returns a card object with fields including id, name, set, type_line, rarity, cmc, legalities, prices, and artist. The editions array lists every printing with its own cardId, abbreviation, releasedAt, and per-edition prices object, making cross-edition price comparison straightforward.

Bulk Image Discovery and Startup Collections

get_startup_card_images returns the full anonymous startup payload — a ready-made set of card image URLs with no query required, useful for seeding a UI before any user input. discover_images combines that startup list with broad type searches (creature, artifact, enchantment) to return over 1,000 unique images in one call. Each image object includes link, source, and dimensions.

Public Deck Browsing

get_user_decks fetches paginated public decklists for any Moxfield username (case-insensitive). Deck objects include name, format, colors, color_identity, like_count, view_count, comment_count, public_url, and timestamps. Results are sorted by last-updated descending. page_size caps at 100 decks per page, and total_pages and total_results are returned for pagination control.

Reliability & maintenanceVerified

The Moxfield API is a managed, monitored endpoint for moxfield.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when moxfield.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official moxfield.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a card image gallery seeded by discover_images for a deck-building tool without requiring user input.
  • Compare card prices across all printings using the editions array from get_card_details.
  • Check format legalities (e.g. Standard, Commander) for any card via the legalities field in get_card_details.
  • Paginate through a player's public Moxfield decklists using get_user_decks to analyze format and color preferences.
  • Search for cards by type or color using Scryfall syntax in search_card_images to populate filtered card lists.
  • Display per-face images for double-faced or transform cards using the face_name field in search_card_images results.
  • Aggregate artist credits and set data across editions for a card catalog or collection tracker.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Moxfield have an official public developer API?+
Moxfield does not publish an official public developer API or documented REST endpoints for third-party use. This Parse API provides structured access to card and deck data from the platform.
What does `get_card_details` return beyond basic card info?+
get_card_details returns a card object with type_line, rarity, cmc, artist, legalities, and prices, plus an editions array. Each edition entry includes its own cardId, abbreviation, releasedAt, and prices object, so you get pricing history across all known printings in a single response.
Can I retrieve the full card list inside a specific deck?+
get_user_decks returns deck metadata — name, format, colors, counts, and a public_url — but does not currently return the individual cards within each deck. You can fork this API on Parse and revise it to add an endpoint that fetches the card list for a given deck ID.
How does pagination work across the search endpoint?+
search_card_images returns total_cards in every response alongside the current page. Divide total_cards by your chosen page_size (max 175) to determine how many pages to request. There is no cursor-based pagination; all navigation is integer page numbers.
Does the API cover private or unlisted Moxfield decks?+
get_user_decks only returns decks a user has set to public on Moxfield. Private and unlisted decks are not accessible. You can fork this API on Parse if you need to revise the scope or add filtering by format or color.
Page content last updated . Spec covers 5 endpoints from moxfield.com.
Related APIs in EntertainmentSee all →
cardkingdom.com API
Search and browse Magic: The Gathering cards with real-time pricing and availability from Card Kingdom, including buylist prices and current deals. Find card details across all editions and filter by format to discover the best prices across the full catalog.
pokemontcg.io API
Search and retrieve detailed information about Pokémon Trading Card Game cards, including card stats, types, attacks, abilities, rarity, set information, images, and pricing data.
ygoprodeck.com API
Search and retrieve detailed Yu-Gi-Oh! card information including attributes, effects, and images from the comprehensive YGOProDeck database. Browse the complete card catalog or look up specific cards to find everything you need about their stats and abilities.
sportscardspro.com API
Access data from sportscardspro.com.
mtggoldfish.com API
Access Magic: The Gathering metagame data from MTGGoldfish, including popular deck archetypes with popularity metrics, mana composition, and complete card lists. Retrieve metagame breakdowns by format and look up full deck lists by archetype or deck ID.
cardmarket.com API
Search and browse trading cards across Europe's largest marketplace, accessing detailed card information, listings, seller profiles, and finding the best bargains all in one place. Explore games and expansions to discover available singles and compare prices from multiple sellers.
tcgplayer.com API
Search for trading cards across all games and sets on TCGPlayer, and instantly access detailed pricing information by condition plus current seller listings with prices, shipping costs, and seller ratings. Compare card values and find the best deals from multiple sellers all in one place.
sportscarddatabase.com API
Access data from sportscarddatabase.com.