[{"data":1,"prerenderedAt":375},["ShallowReactive",2],{"project-8704472":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":43,"post_text":45,"what":46,"said":103,"maker_in_thread":188,"shape":200,"grid":203,"attempts":337,"same_week":338,"maker_shows":41,"maker_hidden":367,"reader_version":368,"card":369},"8704472","SWAPI","A Star Wars API","title","Show HN: SWAPI – A Star Wars API","http:\u002F\u002Fswapi.co","swapi.co","paulhallett",1417787940,2014,79,56,377,2272,17,"notable","learning_science","star wars dataset api","api",[24,25,26,27],"star wars api","star wars data","rest api","json api","curious",0.255,{"positive":31,"neutral":32,"mixed":33,"critical":34},7,12,0,2,21,{"idea":37,"design":39,"docs":40,"execution":42},{"positive":38,"critical":33},5,{"positive":33,"critical":33},{"positive":33,"critical":41},1,{"positive":41,"critical":41},[44,44,33,33,44,33,33,44,33,44,33,44,41,44,44,33,44,33,33,41,33,33,38,38,38,38,38,33,33,38,44,33,33,33,33,38,33,44,44,33],3,null,{"problem":47,"audience":57,"pricing":72,"motivation":79,"time_to_build":45,"stack":90,"openness":101,"stage":102,"team_size":101},{"value":48,"source":49,"evidence":50},"Gives developers structured Star Wars data via an API instead of scattered web pages","inferred",[51,54],{"id":52,"by":11,"text":53},"8704741","I guess the main reason is that data dumps are sometimes hard to sift through, can become inconsistent (if there are multiple copies) and because from my experience, if you…",{"id":55,"by":11,"text":56},"8705077","Good ol' scraping from websites like wookiepedia. 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…",{"value":58,"source":49,"evidence":59},"Developers who want Star Wars data for demos, teaching and projects",[60,64,68],{"id":61,"by":62,"text":63},"8704925","1kevgriff","Signed up. This is going to be great for conference demos.",{"id":65,"by":66,"text":67},"8704616","SvenAndersson","Hah! I'm in need of just this sort of API come January, what are the odds? Awesome, hope you launch soon!",{"id":69,"by":70,"text":71},"8704619","ukmadlz","Yeah I know, I'be even used PokeAPI at a hack before. It's MusicHackDay soon, I may have to use it again as a reference for poke chiptunes",{"value":73,"source":74,"evidence":75},"Free; maker says data won't be charged for or kept","maker",[76],{"id":77,"by":11,"text":78},"8704941","The data is being scraped from sources online and by watching the films about a thousand times. As the data is already available freely elsewhere, I won't be charging or keeping…",{"value":80,"source":74,"evidence":81},"Data is easy to consume via APIs; maker built a similar Pokémon API",[82,86,87],{"id":83,"by":84,"text":85},"8704695","Adrock","Check out the author's blog post where he explains his motivation: http:\u002F\u002Fphalt.co\u002Fif-you-have-data-they-will-consume-it\u002F",{"id":52,"by":11,"text":53},{"id":88,"by":11,"text":89},"8704947",":D My other API for Pokémon is also great for demos and teaching APIs - http:\u002F\u002Fpokeapi.co",[91,97],{"value":92,"source":74,"evidence":93},"Django (Pokémon API backend, mentioned for SWAPI)",[94],{"id":95,"by":11,"text":96},"8704505","Hey! Thanks. I made the Pokémon API as well - http:\u002F\u002Fpokeapi.co The backend on that is Django. I might stick with what I know, or build SWAPI in Go. At the moment, we're still…",{"value":98,"source":74,"evidence":99},"Go, considered for SWAPI backend",[100],{"id":95,"by":11,"text":96},"unknown","prototype",{"praise":104,"objections":115,"requests":141,"questions":159,"alternatives":173},[105],{"value":106,"source":107,"evidence":108},"Fun, awesome idea for demos and teaching APIs","commenter",[109,110,114],{"id":61,"by":62,"text":63},{"id":111,"by":112,"text":113},"8704487","acomjean","Totally ridiculous, but awesome at the same time. Make that API great! Whats the backend?",{"id":65,"by":66,"text":67},[116,123,134],{"value":117,"source":107,"evidence":118},"Landing page only at launch, API not yet online",[119],{"id":120,"by":121,"text":122},"8704554","anonfunction","I was so excited and then equally let down when I realized it wasn't online and this is just a coming soon page. Oh well, I signed up.",{"value":124,"source":107,"evidence":125},"Missing license on the data",[126,130],{"id":127,"by":128,"text":129},"8704921","emillon","Under which license is this data available?",{"id":131,"by":132,"text":133},"8705868","rakoo","Thank you for what you're doing, that's awesome! I'd like to enlighten why choosing a license is important. Many people can be picky about the license, because even though you…",{"value":135,"source":107,"evidence":136},"Film coverage error on front page",[137],{"id":138,"by":139,"text":140},"8704935","reubenswartz","Not encouraging to see a basic error right on the front page: \"From all six Star Wars films\" Couldn't resist... ;-)",[142,148,155],{"value":143,"source":107,"evidence":144},"Add a list endpoint returning all resources",[145],{"id":146,"by":121,"text":147},"8705050","I think it would be nice to also provide an endpoint that lists all the resources as an array of objects where the key is the id and the value is the name. Maybe something like…",{"value":149,"source":107,"evidence":150},"Use numeric IDs in JSON output",[151],{"id":152,"by":153,"text":154},"8705235","idlewan","Is there a reason you're not using numbers in the json output? ``` \"vehicle_id\": \"1\" ``` is better represented as: ``` \"vehicle_id\": 1 ```",{"value":156,"source":107,"evidence":157},"Add a license to the data",[158],{"id":131,"by":132,"text":133},[160,166],{"value":161,"source":107,"evidence":162},"Where is the data sourced from",[163],{"id":164,"by":121,"text":165},"8705067","Where are your getting the data?",{"value":167,"source":107,"evidence":168},"How fuzzy URL matching works",[169],{"id":170,"by":171,"text":172},"8705296","svsaraf","Do you mind discussing how you did the fuzzy matching? My initial guess would've been dynamic programming (levenstein distance), but if this is API-wide, did you make a suffix…",[174,181],{"value":175,"source":74,"evidence":176},"PokeAPI",[177,178],{"id":95,"by":11,"text":96},{"id":179,"by":70,"text":180},"8704557","This is amazing, all I need is a reason to mash http:\u002F\u002Fpokeapi.co into this",{"value":182,"source":107,"evidence":183},"Virtualized Star Wars API by CA (vapi)",[184],{"id":185,"by":186,"text":187},"8705331","ianakelly","I Virtualized this API just for kicks - https:\u002F\u002Fvapi.ca.com\u002Fvapi\u002Fapi\u002FVapidemouser\u002FStar_Wars\u002Fplanets\u002F7 and https:\u002F\u002Fvapi.ca.com\u002Fvapi\u002Fapi\u002FVapidemouser\u002FStar_Wars\u002Fvehicles\u002F1 Would…",{"comments":189,"answered":31,"key":190},19,[191,194,197],{"id":192,"text":193},"8705269","This is mostly just a typo in the examples I put, but I will consider using only strings for this type of stuff, to avoid issues.",{"id":195,"text":196},"8704662","As well as ID, we'll do some fuzzy matching on the URLs as well, so GET \u002Fapi\u002Fvehicle\u002Ft-65-x-wing and GET \u002Fapi\u002Fplanets\u002Fmustafar will also work",{"id":198,"text":199},"8705066","PokeAPI is getting an update - http:\u002F\u002Fphalt.co\u002Fif-you-have-data-they-will-consume-it\u002F and it will have better fuzzy matching.",{"commenters":201,"max_depth":38,"maker_replies":189,"first_comment_mins":38,"lifespan_hours":202},30,14,[204,206,208,212,215,217,219,222,225,227,231,232,236,237,238,240,242,244,247,249,252,256,258,261,264,268,271,273,276,280,282,285,288,291,292,293,296,298,300,301,303,305,308,310,311,314,316,319,322,325,327,328,329,330,331,335],[83,33,44,205,84,33],"project\u002Fneutral\u002Fidea",[152,41,44,207,153,33],"project\u002Fneutral\u002Fdesign",[209,41,33,210,211,33],"8705247","commenter\u002Fneutral\u002Fdesign","wise_young_man",[213,41,33,210,214,33],"8705268","djtriptych",[192,41,33,216,11,41],"maker\u002Fneutral\u002Fdesign",[218,41,33,210,153,33],"8705292",[220,41,44,207,221,33],"8705750","erydo",[223,41,33,210,224,33],"8706913","Igglyboo",[226,41,33,210,221,33],"8708285",[228,34,44,229,230,33],"8704642","project\u002Fneutral\u002Fdocs","mcphage",[195,34,33,207,11,41],[233,34,33,234,235,33],"8705047","other\u002Fneutral\u002Fnone","lttlrck",[198,34,33,234,11,41],[146,34,44,207,121,33],[239,34,33,207,11,41],"8705072",[170,34,44,241,171,33],"project\u002Fneutral\u002Fexecution",[120,44,41,243,121,33],"project\u002Fcritical\u002Fexecution",[245,44,33,246,11,41],"8704567","maker\u002Fneutral\u002Fnone",[248,44,44,207,121,33],"8704598",[250,44,33,251,11,41],"8704612","maker\u002Fneutral\u002Fexecution",[253,254,44,205,255,33],"8704728",4,"kcbanner",[52,254,33,257,11,41],"maker\u002Fneutral\u002Fidea",[259,254,44,205,260,33],"8704775","antihero",[262,254,33,263,11,41],"8705278","maker\u002Fneutral\u002Fperformance",[265,254,33,266,267,33],"8707033","commenter\u002Fneutral\u002Fperformance","slapresta",[269,254,33,266,270,33],"8707808","TD-Linux",[138,38,41,272,139,33],"project\u002Fcritical\u002Fdocs",[274,38,33,275,11,41],"8704943","maker\u002Fneutral\u002Fdocs",[277,38,33,278,279,33],"8705005","commenter\u002Fneutral\u002Fnone","simonsayscode",[281,38,33,278,11,41],"8705010",[283,38,33,278,284,33],"8705999","joshdotsmith",[286,38,38,287,139,33],"8708339","maker\u002Fpositive\u002Fnone",[61,289,38,290,62,33],6,"project\u002Fpositive\u002Fidea",[88,289,33,246,11,41],[185,31,38,290,186,33],[294,31,38,295,186,33],"8705442","project\u002Fpositive\u002Fexecution",[179,297,38,290,70,33],8,[299,297,33,234,11,41],"8704562",[69,297,33,234,70,33],[302,297,33,234,11,41],"8704682",[65,304,38,290,66,33],9,[306,304,33,307,11,41],"8704657","project\u002Fneutral\u002Fnone",[164,309,44,229,121,33],10,[55,309,33,229,11,41],[312,309,33,234,313,33],"8705110","slayed0",[315,309,33,246,11,41],"8705148",[317,309,33,278,318,33],"8705182","delinka",[320,309,33,234,321,33],"8705219","afterburner",[323,309,33,234,324,33],"8705256","happyscrappy",[111,326,38,290,112,33],11,[95,326,33,251,11,41],[127,32,44,229,128,33],[77,32,33,229,11,41],[131,32,44,229,132,33],[332,333,33,234,334,33],"8704560",13,"gegtik",[336,333,33,246,11,41],"8704574",[],[339,344,349,353,358,363],{"id":340,"name":341,"points":342,"category":343},"8699167","Flakes",438,"dev_tools",{"id":345,"name":346,"points":347,"category":348},"8723120","artfulmac.com",229,"creative",{"id":350,"name":351,"points":352,"category":20},"8707583","Code Words",181,{"id":354,"name":355,"points":356,"category":357},"8699339","Piste.io",164,"consumer_social",{"id":359,"name":360,"points":361,"category":362},"8711621","Rant",155,"languages",{"id":364,"name":365,"points":366,"category":357},"8706496","Collapse HN Comments",141,false,"v2",{"id":370,"name":5,"line":6,"ai":367,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":371,"top":18,"kw":372,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":373,"url":9,"mix":374,"praise":106,"objection":117,"sub":21},8704472,0.26,[24,25,26,27],"3300300303031330300100555550053000050330",[31,32,33,34],1794036525774]