
Marvel Comics API - quux
http://developer.marvel.com
======
turtle4
While having access at all is nice, the terms of use are prohibitive and
somewhat heavy handed. They basically say you can make something, but can't
charge for it in any way, you can't create a mash-up (no augmentation of data)
and if it works out, Marvel will probably implement it for themselves anyway.
Not really as 'open' as you might hope.

The following default rules apply to all Apps:

Advertising. No advertising or sponsorship of any kind may appear on or be
associated with any App (unless included in the Content made available by
Marvel).

No Charge. All Apps must be offered free of charge to download or otherwise
access and may not contain any in-App purchase features or any other method of
monetization, unless approved in writing by Marvel pursuant to a separate
written agreement as described below.

...

NO PRESS RELEASES. You may not issue any press release or make any public
statement about the Marvel API (and related Content), Tools, the inclusion of
any of the foregoing in any Apps (yours or others') or these API Terms of Use
without Marvel's prior written approval.

...

Use of our Content. You may not change or edit the Content (e.g., modify,
augment).

...

You understand and acknowledge that Marvel may be independently creating
applications, content and other products or services that may be similar to or
competitive with your App, and nothing in these API Terms of Use will be
construed as restricting or preventing Marvel from creating and fully
exploiting such applications, content and other products or services now or in
the future, without any obligation to you.

~~~
_zen
They never said it was open, so I don't see the problem, unless you readily
associate "API" with "open".

~~~
Natsu
I would not have anticipated all of those and I appreciated the heads up. If
you're offering an API to the public at large like this, yes, I would default
towards assuming it was relatively open barring notice to the contrary. When
you make it really easy to start sending requests and bury all the terms in
conditions in fine print, that's something of an anti-pattern.

Especially when talking about the kind of API most likely to be used by clever
teenagers on a fansite.

------
crabasa
For anyone who has enjoyed Timehop, I put together an app I call Marvelhop
[1]. It simply picks a random comic that was issued on this week in the past
20 years.

I am surely biased, but it's a pretty fun way to rediscover comics you might
have forgotten about.

[1]: [http://marvelhop.jit.su/](http://marvelhop.jit.su/)

 _UPDATE:_ The code that queries the API (while messy) is entirely written in
client-side JQuery, so feel free to view the source.

~~~
M_J_P
I hate to be "that guy", but what about turtle4's observation [1] of some TOS
items? Seems like your post may be crossing some lines?

~~

NO PRESS RELEASES. You may not issue any press release or make any public
statement about the Marvel API (and related Content), Tools, the inclusion of
any of the foregoing in any Apps (yours or others') or these API Terms of Use
without Marvel's prior written approval.

[1]:
[https://news.ycombinator.com/item?id=7649077](https://news.ycombinator.com/item?id=7649077)

~~~
spoiler
I'm _hoping_ you're just kidding. Would making a forum post really violate
their TOS? I would consider this a "public statement," but I am not a lawyer.

------
jbarrow
This is really cool, however I found one major flaw that will prevent me from
using this: I have a marvel.com account and forgot my password, so I went to
"Forgot my Password" to get a new one.

I was emailed with my email _and_ password in plain text, meaning that Marvel
stores the passwords in plain text. Knowing that, I'm not sure how comfortable
I would be building something on top of this API.

~~~
nly
While concerning with regard to their stance on security, you should really
assume all web services store their passwords in plaintext. Passwords have
always been kept in confidence on the web, without any guarantee of secrecy.
Until web standards improve and address this with client side hashing this is
an uphill battle, like trying to get people to use prepared queries instead of
escaping. Use a password manager with a random per-site generator and just
accept it.

------
bueno
I'm currently developing a website, Longboxed
([http://www.longboxed.com](http://www.longboxed.com)), that helps users build
virtual pull lists, keeping them up to date with the latest releases.

The comic industry needs more of this. There is a wealth of information out
there, nearly all of which is user created. Its nice to see Marvel offering
this.

I'm very interested in seeing what people make with this. Now let's pester DC,
Image, Dark Horse, etc to get on the bandwagon!

~~~
bscofield
Good luck! I traveled that road for a few years with a site called MyPullList
(2007-2010, RIP), and had a heck of a time with ... basically all of it. I did
have a lot of fun talking about the data model and its challenges during the
height of the NoSQL hype, though.

------
rdwallis
Looks like they're putting in place infrastructure for an API affiliate plan.

To use the API you must display a copyright link whose href points at a url
included in the API's response.

Ignoring the nice boost this gives to Google rank, the urls change based on
the request and so can point to a place where the viewer can buy the API
response's content from Marvel.

Plus each url includes a tag so Marvel can know which app sent them the
customer.

Not sure why they're putting such a powerful linkback/affiliate scheme in the
copyright notice though. If they're sending back custom urls it's no extra
effort to include call to action text for the link as well eg: Buy 'Avengers:
The Quest For Profit'.

More info in the linking section of
[http://developer.marvel.com/documentation/attribution](http://developer.marvel.com/documentation/attribution)

------
cridenour
I don't know what I'll use this for, but I'm happier knowing it exists.

------
canvia
Don't forget what Disney has done to corrupt copyright law and government:
[http://en.wikipedia.org/wiki/Copyright_Term_Extension_Act](http://en.wikipedia.org/wiki/Copyright_Term_Extension_Act)

------
quux
Via John Carmack's twitter feed:

[https://twitter.com/ID_AA_Carmack/status/459728407169728512](https://twitter.com/ID_AA_Carmack/status/459728407169728512)

~~~
saraid216
Amusingly, you basically won the HN lottery on uptake:

[https://hn.algolia.com/#!/story/forever/0/developer.marvel.c...](https://hn.algolia.com/#!/story/forever/0/developer.marvel.com)

~~~
quux
I think the difference is that I used the word API in my submissions title,
which immediately makes the developer part of my brain say "Comic book API?
What's that about?" and want to know more.

------
adia
Maybe a bit off-topic, but the Grand Comics Database
([http://www.comics.org](http://www.comics.org)) is an fan non-profit effort
to index all comic books worldwide. We don't have an API, although we'd like
to - it's mostly that we have no clear requirements yet, and since all data is
available as a DB dump under CC-BY, there's not much push for one.

The project is now in its 20th year and this shows in that the database schema
isn't as canonicalized as could be (for example, creator credits and character
fields are just text fields and not DB references. Yet slowly but surely
improvements are being made, faster in the last couple of years.

We could use some help if anybody is interested - our code is GPL
([https://github.com/GrandComicsDatabase/gcd-
django](https://github.com/GrandComicsDatabase/gcd-django)) and since the dev
team is limited and everything happens on our free time, all kinds of help are
appreciated.

Further links: our wiki: [http://docs.comics.org/](http://docs.comics.org/)
our tech mailing list: [http://groups.google.com/group/gcd-
tech](http://groups.google.com/group/gcd-tech)

------
cccsss
I built something small to try the API out a couple months ago:
[http://cesnotseth.com/marvel/](http://cesnotseth.com/marvel/) Type in an
event to see characters and covers from that event. Click individual
characters to see covers throughout their history.

------
minimaxir
A cool thing about the API is that it returns both normalized and denormalized
foreign entities. (E.g if I query a character, it will return a reference to
an endpoint to query all that character's comics _AND_ it will return the
total number of comics). It saves a lot of time for aggregation.

I used that data a few months ago to create a chart of the most popular Marvel
characters: [http://i.imgur.com/KVAT3Xn.png](http://i.imgur.com/KVAT3Xn.png)

Code for retrieving the data here: [https://github.com/minimaxir/all-marvel-
comics-characters](https://github.com/minimaxir/all-marvel-comics-characters)
(I have absolutely no idea if this still works)

~~~
dethtron5000
Thanks - we tried to make discoverability of related entities easy.

------
ImJasonH
Started hacking on a Go client: [https://github.com/ImJasonH/go-
marvel/](https://github.com/ImJasonH/go-marvel/)

Feedback/contributions welcome if you feel like it

edit: I might just break down and write a Go client generator for Swagger...

------
DevKoala
POST v1/public/fanfiction

~~~
TronPaul_
Needs a crossover endpoint that takes a url (and schema) for another
universe's API

------
vinaykola
I find that the ComicVine API is really good.
[https://www.comicvine.com/api/](https://www.comicvine.com/api/)

Has both Marvel and DC characters, so that's a huge plus.

------
brianbreslin
So effectively someone could build a marvel wiki entirely off this api.

HOWEVER the geek in me wants to see the "comic graph" and someone map the hell
out of all the cross appearances and so forth.

~~~
jaredsohn
Already exists (2011):
[http://exposedata.com/marvel/](http://exposedata.com/marvel/)

------
cfjedimaster
Back when this was announced, I blogged about it and built a demo. This demo
simply finds a random cover over the past 50 years. It updates every - 30
seconds - I think. Anyway, here it is:

[http://marvel.raymondcamden.com/](http://marvel.raymondcamden.com/)

And the code: [http://www.raymondcamden.com/index.cfm/2014/2/2/Examples-
of-...](http://www.raymondcamden.com/index.cfm/2014/2/2/Examples-of-the-
Marvel-API)

------
cinquemb
One would think you could sign up using ones github/bitbucket account. Would
probably make it easier for them to showcase what devs have made using the api
over time.

------
Dotnaught
Bah. Create your own IP. If you piggyback on the work of others you'll just
get taken for a ride.

~~~
egypturnash
Good luck spreading the word about your own IP. You'll have to either be that
one in a million viral hit, or sink a lot of money into advertising.

------
davidgrenier
Here's a small script to access the Marvel Comics API from F# Interactive
using the FSharp.Data JSON Type Provider:

[http://fssnip.net/mC](http://fssnip.net/mC)

------
Jabe
This looks a lot like the Riot Games developer portal. I wonder if they used
it as reference.

[http://developer.riotgames.com/](http://developer.riotgames.com/)

------
jayd16
Anyone know what they're using to generate this page?
[http://developer.marvel.com/docs](http://developer.marvel.com/docs)

~~~
nacs
Source of that page seems to point to "Swagger UI":

[https://github.com/wordnik/swagger-ui](https://github.com/wordnik/swagger-ui)

[http://swagger.wordnik.com/](http://swagger.wordnik.com/)

------
pjonesdotca
Fail - to create an account you have to enter a postal code and they limit the
length to 5. Just as the limit of a zip code. Canadian postal codes are
invalid. :/

------
lfrequency
This would be pretty nice combined with the Open Gaming System to produce a
marvel + d&d mashup. Think dungeon crawls with Iron man

------
tiquorsj
Its nice but strict non commercial license means if you built something cool
you would have no way to support it.

------
kitwalker12
would be great if a proper search parameter was provided. Right now you can
only search characters by the exact name or 'namestartswith'. It would be nice
if the searches had a priority associated with them (Iron man shows up way in
the bottom for a search for 'iron')

~~~
dethtron5000
We get this request a lot and we're evaluating adding it.

------
balls187
The `v1/public` namespace is interesting

That seems to imply there is might be a `v1/private` namespace as well.

------
pincubator
what kind of information you can pull? is it possible to pull content of the
comics?

~~~
r00fus
Looks like just metadata - characters, series, events - I was just a tad
disappointed that event didn't have a "event date" which constituted a date
that the event occurred in. Such a date would allow construction of a marvel-
verse wide timeline.

~~~
relaxatorium
Does it have "issue release date"? That's what you'd need to make a timeline
that made any sense at all. An in-universe "event date" doesn't really make
sense because of the whole sliding timescale thing where continuity makes no
sense and we (comic fans) pretend it does.

------
camus2
I build a node client,never used it,

[https://github.com/Mparaiso/mpm.marvel](https://github.com/Mparaiso/mpm.marvel)

if anybody has an idea of app he is welcome.

