So you want an MtG API

What’s an API?

An API is a service that a computer can talk to, in order to get information about a certain topic, or to operate another program remotely.

Why would you need an API for Magic: The Gathering?

If you wanted to write a mobile app which displays information about MtG cards, you either need to load all of that data (about 10MB) into your app and update it every 3 months, or use some service to provide it all, ad-hoc. There is an official site called Gatherer, which displays information about any card you want, but computers can’t read it — it’s meant for people.

What are the options?

I’ve been working on my own card API for a little while now, but today I’ve discovered quite a few other interesting services. Since I’m in the market of filling an unfilled role, I don’t have any special competitive spirit for my own product, so here’s a rundown of what you can use:


This is my product. I just released the v1.1 beta [view the super cool and funny* release notes]. It’s open source, so anyone can use, modify, and host their own. It lets you search for a card by name, and returns data structured in JSON. The returned data is in a simpler structure than the other services here. (*Lie)

Update: I now host a pretty version of magic-api called Scry (

Example query: Hopeful Eidolon on magic-api

Search the City

StC has a pretty website! It queries instead of Gatherer and allows you to search by property instead of just individual card names. The return data is just right. It’s really quite good!

Example query: Hopeful Eidolon on Search the City

Also, it supposedly shares a JSON format with the MTG JSON project…


This isn’t actually an API; it’s an up-to-date database of all cards, in JSON. Could be a useful fallback if you need your application to work offline.


This is another standard API that does what it says on the tin. It returns JSON but doesn’t set the content-type header (at time of writing), which is annoying.

Example query: Hopeful Eidolon on mtgapi

Hope you have fun developing or learning!


Announcing Open Source MTG API

Announcing Open Source MTG API

Hey, this weekend I built an API and DB solution for Magic: The Gathering cards. It’s now open source on github (where you can read the documentation), and you can use it by sending a query string like this:

OK, have a great day!


I just love graphs. Today I decided to graph the first year of my mobile phone contract. I used which is a frontend to the Google Charts API.
Here are the results:

Phone usage graph

Graph of all services


Phone usage graph

Again, with a clearer axis for just minutes and data

“Data” is what my phone bill calls “Mobile Internet”. I think that it is data requests made by third party applications. The set marked as “BB” in the legend is Blackberry Internet Services, which incorporates web browsing, BBM, and email.

Graphs are good for you!* Make a graph today.

*No study was completed to establish the health benefits of graph creation.