Show HN: SWAPI – A Star Wars API
swapi.co
swapi.co
"vehicle_id": "1"
is better represented as: "vehicle_id": 1There's absolutely no justification to send ints when you have any reasonable chance of needing to change it to a string later. Besides, IDs in a public API fundamentally are not numbers. You don't add them, subtract them, multiply them, shift them, inspect any property of them besides equality, or anything. They're opaque tokens used to identify things with the server.
GET /api/vehicle/t-65-x-wing
and
GET /api/planets/mustafar
will also work
and it will have better fuzzy matching.
GET /resources/ships
[
{ 1 : "Tantive IV" },
]It will have this style of lookup.
My initial guess would've been dynamic programming (levenstein distance), but if this is API-wide, did you make a suffix tree?
Once things die down I'll push up an update. Getting a heavy bit of traffic right now.
And of course, you can easily get a data dump from this by just cURLing all the resources and storing them :)
All resources will have a "date_updated" or similar attribute which you can check against.
Couldn't resist... ;-)
We'll have episode VII details as and when it gets released.
As @simonsayscode points out, some folks aren't big fans of Episodes I, II, and III. Here's hoping for a fun VII.
Would love more details and I can make a Virtual Copy of the whole thing.
Built it here https://vapi.ca.com
And watching lots and lots of Star Wars.
I have the blurays, so I should be in for a fun experience whilst collecting the nitty gritty data.
http://originaltrilogy.com/forum/topic.cfm/Harmys-STAR-WARS-...
EDIT: And a donate button so I can reward you.
Make that API great!
Whats the backend?
The backend on that is Django. I might stick with what I know, or build SWAPI in Go. At the moment, we're still very early stage, so we can choose soon.
As the data is already available freely elsewhere, I won't be charging or keeping the data, I'll provide it just like I do on http://pokeapi.co
Many people can be picky about the license, because even though you may be full of good intentions, the data you provide is non-free as-is in that it can't be reused elsewhere. Having a license is the clean, boring way to tell everyone "do whatever you want with this data".
That's even a problem for Github, or more precisely Github users, because many people push some code without any explicit license, making this code hardly usable by default: it may be available but you don't know if you have the right to reuse it, even if the developer said "yeah, use this as you want". That's not enough. Just because the developer didn't take a few minutes to select and put a LICENSE file.
It is also important to think about it in the other direction: If you're going to take content from Wookieepedia, their license is CC-BY-SA (http://starwars.wikia.com/wiki/Wookieepedia:Copyrights), which means that you MUST say it comes (at least partially) from them (not that you wouldn't anyway) and that you MUST redistribute your content with a "similar" license. Even though you may think that everything is fine, there are some actions to do on this side.
Now, I'd understand that if only "amateurs" come and play with the data, we're all among good behaving adults and all is fine. But you may not be able to predict what will happen with how data is used, so unfortunately this step is important.
Personally I don't like restricting people, so I try to use CC0 as much as possible. Be aware that Creative Commons licenses may not be best suited for data (they were designed for work of art primarily), as can be seen by OSM's decision on the matter (http://www.osmfoundation.org/wiki/License/We_Are_Changing_Th...) so you may want to avoid them.
Note: I'm not even talking about money, which is an orthogonal problem.