A FOSS Search Engine For MTG.

Powerful search engine, search for anything:

🔍 set:m18 or set:m19

Written in C, with a NextJS frontend with a completely unlocked API. The search engine can be embedded into apps, used in the web, and is licensed under the unlicence. MTG Json is used as the primary data source, another free and open source service.

This search engine is not currently feature compliant with Scryfall yet, however this on the roadmap along with bindings for other programming languages and support for none-english cards.

You can view the API here

Supported Queries

Query Composition

The syntax is designed to mimic that of Scryfall.

You can use brackets as normal with negation.

The below query gets all mutally exclusive cards in m20 and m19.

(set:m19 or set:m20) and -(set:m20 and set:m19)

Operations

  • and
  • or
  • -
  • (The not operator goes before a set generator i.e: -set:m18)

Set Generators

Queries are in the format <property><operator><value>, i.e: "set:m20".

Operators

  • : (includes)
  • = (equals)
  • < (less than)
  • <= (less than or equal)
  • > (greater than)
  • >= (greater than or equal)

Properties

  • name (n) (supports regex)
  • oracle (o) (supports regex)
  • power (p)
  • toughness (t)
  • cmc (manacost)
  • colour (color c) (wubrg)
  • commander (wubrg)
  • set (set code only i.e: m18)
  • type (types) (Card types - super types, sub types, etc...)
  • legal
  • banned
  • unplayable (not legal i.e: un-cards)
  • restricted

Regex

A regex query looks like this:

/I am a re(gex)?/

Supported Formats

  • alchemy
  • brawl
  • commander
  • duel
  • explorer
  • future
  • gladiator
  • historic
  • legacy
  • modern
  • oathbreaker
  • oldschool
  • pauper
  • paupercommander
  • penny
  • pioneer
  • predh
  • premodern
  • standard
  • standardbrawl
  • timeless
  • vintage