API query for people details

Issue #63 resolved
thewildsun created an issue

Are there any plans to support queries such as /people/{id} to get data from pages such as http://myanimelist.net/people/9397 or http://myanimelist.net/people/131 ?

Such a query would return Voice Acting Roles, Anime Staff Positions, Published Manga, as well as the additional data on the left panel.

I'm interested in implementing this myself if there are no immediate plans to add this feature.

Comments (9)

  1. Ratan Dhawtal

    I haven't concidered to add this but I want to wait untill the API docs for API 2 are ready. The other dev is currently working on it ^^

    Feel free to add that once the docs are ready.

    Edit: @thewildsun We will first test some other things to get notified when the API breaks and will then add new features again.

  2. Michael Johnson

    thewildsun, feel free to implement the feature yourself if you want. Make sure to follow the same style we're using. I'd advise you to wait for a little bit, as I'm going to be implementing unit testing after 2.0.0 gets tagged. All future changes would need to have full coverage with tests, so it's best to see how that will work.

  3. thewildsun reporter

    I went ahead and completed this in my fork of the MAL API. It's tailored to the needs of my application, so it might not be 100% consistent with your style.

    It's at the endpoint /person/{id}. There are several valid ways one could format the object, so if you have any thoughts, we should discuss. If we come up with improvements on the current format, I can make the changes and have you pull them when you're ready. Here's a sample response with the format I currently have:

    {"id":1870,"name":"Miyazaki, Hayao","image":"http:\/\/cdn.myanimelist.net\/images\/voiceactors\/2\/38769.jpg","given_name":"\u99ff","family_name":"\u5bae\u5d0e","birthday":"1941-01-05","age":74,"website":"http:\/\/www.ghibli.jp\/","more":"Miyazaki, the second of four brothers, was born in the town of Akebono-cho, part of Tokyo's Bunky\u014d-ku. During World War II, Miyazaki's father Katsuji was director of Miyazaki Airplane, owned by his brother (Hayao Miyazaki's uncle), which made rudders for A6M Zero fighter planes. During this time, Miyazaki drew airplanes and developed a lifelong fascination with aviation, a penchant that later manifested as a recurring theme in his films.<br><br>\nMiyazaki's mother was a voracious reader who often questioned socially accepted norms. Miyazaki later said that he inherited his questioning and skeptical mind from her. His mother underwent treatment for spinal tuberculosis from 1947 until 1955, and so the family moved frequently. Miyazaki's film My Neighbor Totoro is set in that time period and features a family whose mother is similarly afflicted.<br><br>\nMiyazaki attended Toyotama High School. In his third year there, he saw the film Hakujaden, which has been described as \"the first-ever Japanese feature length color anime.\" His interest in animation began in this period; however, in order to become an animator, he had to learn to draw the human figure, since his prior work had been limited to airplanes and battleships.<br><br>\nAfter high school, Miyazaki attended Gakushuin University, from which he would graduate in 1963 with degrees in political science and economics. He was a member of the \"Children's Literature research club,\" the \"closest thing to a comics club in those days.\"<br><br>\nIn April 1963, Miyazaki got a job at Toei Animation, working as an in-between artist on the anime Watchdog Bow Wow (Wanwan Chushingura). He was a leader in a labor dispute soon after his arrival, becoming chief secretary of Toei's labor union in 1964.<br><br>\nIn October 1965, he married fellow animator Akemi Ota, who later left work to raise their two sons, Gor\u014d and Keisuke. Gor\u014d is now an animator and filmmaker, and has directed Tales from Earthsea at Studio Ghibli. Keisuke is a wood artist who has created pieces for the Ghibli Museum and who made the wood engraving shown in the Studio Ghibli film Whisper of the Heart.<br><br>\nHayao Miyazaki's dedication to his work has often been reported to have impacted negatively his relationship with his son Gor\u014d. He has expressed that he doesn't wish to create a dynasty of animators and that his son has to create a name for himself.<br><br>\n(Source: Wikipedia)","voice_acting_roles":{"269":{"id":"269","name":"Totoro","main_role":false,"image":{"large":"http:\/\/cdn.myanimelist.net\/images\/characters\/16\/81225.jpg","small":"http:\/\/cdn.myanimelist.net\/images\/characters\/16\/81225t.jpg"},"anime":[{"id":"2488","title":"Mei to Koneko Bus","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/11\/3007v.jpg","main_role":false}]},"110037":{"id":"110037","name":"Grandmother Nekobasu","main_role":false,"image":{"large":"http:\/\/cdn.myanimelist.net\/images\/characters\/7\/270013.jpg","small":"http:\/\/cdn.myanimelist.net\/images\/characters\/7\/270013t.jpg"},"anime":[{"id":"2488","title":"Mei to Koneko Bus","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/11\/3007v.jpg","main_role":false}]}},"anime_staff_positions":[{"rank":[{"title":"Storyboard"}],"anime":{"id":"11275","title":"Akadou Suzunosuke","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/9\/56397v.jpg"}},{"rank":[{"title":"Layout","detail":"ep. 1-15),"}],"anime":{"id":"283","title":"Akage no Anne","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/12\/53637v.jpg"}},{"rank":[{"title":"Key Animation"}],"anime":{"id":"3843","title":"Ali Baba to 40-hiki no Touzoku","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/3\/6861v.jpg"}},{"rank":[{"title":"Layout"}],"anime":{"id":"2225","title":"Alps no Shoujo Heidi","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/1\/2420v.jpg"}},{"rank":[{"title":"Key Animation","detail":"eps. 4-6, 10, 12-22, 24-28"}],"anime":{"id":"2576","title":"Araiguma Rascal","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/7\/3363v.jpg"}},{"rank":[{"title":"Screenplay"},{"title":"Script"},{"title":"Planning"}],"anime":{"id":"8632","title":"Chuuzumou","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/6\/23788v.jpg"}},{"rank":[{"title":"Key Animation"}],"anime":{"id":"3842","title":"Doubutsu Takarajima","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/4\/6860v.jpg"}},{"rank":[{"title":"Key Animation"}],"anime":{"id":"2553","title":"Flanders no Inu","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/2\/17492v.jpg"}},{"rank":[{"title":"Script"},{"title":"Director"},{"title":"Screenplay"},{"title":"Animation Director"},{"title":"Executive Producer","detail":"English\/Japanese versions"}],"anime":{"id":"2890","title":"Gake no Ue no Ponyo","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/7\/8970v.jpg"}},{"rank":[{"title":"Director"}],"anime":{"id":"24975","title":"Ghibli ga Ippai Special Short Short","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/4\/64003v.jpg"}},{"rank":[{"title":"In-Between Animation"}],"anime":{"id":"2833","title":"Gulliver no Uchuu Ryokou","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/13\/45358v.jpg"}},{"rank":[{"title":"Layout"}],"anime":{"id":"1663","title":"Haha wo Tazunete Sanzenri","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/8\/60823v.jpg"}},{"rank":[{"title":"Executive Producer"},{"title":"Planning"}],"anime":{"id":"1030","title":"Heisei Tanuki Gassen Ponpoko","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/5\/22539v.jpg"}},{"rank":[{"title":"Key Animation","detail":"44, 61"}],"anime":{"id":"3285","title":"Himitsu no Akko-chan","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/10\/5225v.jpg"}},{"rank":[{"title":"Director"},{"title":"Screenplay"},{"title":"Script"}],"anime":{"id":"6463","title":"Hoshi wo Katta Hi","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/10\/38233v.jpg"}},{"rank":[{"title":"Script"},{"title":"Director"},{"title":"Executive Producer"},{"title":"Screenplay"}],"anime":{"id":"431","title":"Howl no Ugoku Shiro","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/9\/42069v.jpg"}},{"rank":[{"title":"Key Animation"}],"anime":{"id":"19681","title":"Hustle Punch","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/8\/59619v.jpg"}},{"rank":[{"title":"Original Character Design"}],"anime":{"id":"10889","title":"Jungle Kurobee","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/5\/30064v.jpg"}},{"rank":[{"title":"Script","detail":"Plan & Script"},{"title":"Planning"},{"title":"Screenplay"}],"anime":{"id":"7711","title":"Karigurashi no Arrietty","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/8\/29955v.jpg"}},{"rank":[{"title":"Director"},{"title":"Character Design"},{"title":"Script"},{"title":"Screenplay"}],"anime":{"id":"572","title":"Kaze no Tani no Nausica\u00e4","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/7\/42071v.jpg"}},{"rank":[{"title":"Screenplay"},{"title":"Original Creator"},{"title":"Director"}],"anime":{"id":"16662","title":"Kaze Tachinu","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/8\/52353v.jpg"}},{"rank":[{"title":"Planning"},{"title":"Screenplay"}],"anime":{"id":"10029","title":"Kokurikozaka kara","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/8\/32547v.jpg"}},{"rank":[{"title":"Screenplay"},{"title":"Director"}],"anime":{"id":"6975","title":"Koro no Dai Sanpo","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/8\/16252v.jpg"}},{"rank":[{"title":"Storyboard"},{"title":"Director"},{"title":"Screenplay"}],"anime":{"id":"2895","title":"Kujiratori","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/10\/4067v.jpg"}},{"rank":[{"title":"Screenplay"},{"title":"Editing"},{"title":"Storyboard"},{"title":"Director"}],"anime":{"id":"416","title":"Kurenai no Buta","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/6\/2878v.jpg"}},{"rank":[{"title":"Script"},{"title":"Original Creator"},{"title":"Director"},{"title":"Screenplay"}],"anime":{"id":"19401","title":"Kuusou no Sora Tobu Kikaitachi","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/10\/52001v.jpg"}},{"rank":[{"title":"Episode Director"}],"anime":{"id":"1412","title":"Lupin III","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/10\/15625v.jpg"}},{"rank":[{"title":"Storyboard"},{"title":"Character Design"},{"title":"Director"},{"title":"Script"}],"anime":{"id":"1430","title":"Lupin III: Cagliostro no Shiro","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/5\/26182v.jpg"}},{"rank":[{"title":"Storyboard","detail":"145,155"},{"title":"Screenplay","detail":"145, 155"},{"title":"Director","detail":"145, 155"}],"anime":{"id":"1425","title":"Lupin III: Part II","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/7\/34035v.jpg"}},{"rank":[{"title":"Key Animation","detail":"77, 80"}],"anime":{"id":"3356","title":"Mahou Tsukai Sally","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/8\/67001v.jpg"}},{"rank":[{"title":"Director"},{"title":"Producer"},{"title":"Script"}],"anime":{"id":"512","title":"Majo no Takkyuubin","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/3\/42065v.jpg"}},{"rank":[{"title":"Creator"},{"title":"Screenplay"},{"title":"Director"}],"anime":{"id":"2488","title":"Mei to Koneko Bus","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/11\/3007v.jpg"}},{"rank":[{"title":"Script","detail":"3"},{"title":"Episode Director","detail":"3-5, 9-10"},{"title":"Storyboard","detail":"3-5, 9-10"},{"title":"Director"}],"anime":{"id":"1972","title":"Meitantei Holmes","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/1\/2014v.jpg"}},{"rank":[{"title":"Director"}],"anime":{"id":"15347","title":"Meitantei Holmes: Aoi Ruby no Maki \/ Kaitei no Zaihou no Maki","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/10\/42601v.jpg"}},{"rank":[{"title":"Director"}],"anime":{"id":"20441","title":"Meitantei Holmes: Mrs. Hudson Hitojichi Jiken no Maki \/ Dover Kaikyou no Daikuuchuusen no Maki","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/3\/54265v.jpg"}},{"rank":[{"title":"Creator"},{"title":"Screenplay"},{"title":"Storyboard"},{"title":"Producer"}],"anime":{"id":"585","title":"Mimi wo Sumaseba","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/11\/42077v.jpg"}},{"rank":[{"title":"Storyboard","detail":"1-4, 8, 15-19, 22-26"},{"title":"Director"},{"title":"Character Design"},{"title":"Script","detail":"3-4, 8, 12, 15, 17"},{"title":"Mechanical Design"}],"anime":{"id":"302","title":"Mirai Shounen Conan","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/6\/17529v.jpg"}},{"rank":[{"title":"Director"},{"title":"Character Design"}],"anime":{"id":"2614","title":"Mirai Shounen Conan: Tokubetsu-hen - Kyodaiki Gigant no Fukkatsu","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/4\/17369v.jpg"}},{"rank":[{"title":"Script"},{"title":"Director"}],"anime":{"id":"4306","title":"Mizugumo Monmon","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/11\/8110v.jpg"}},{"rank":[{"title":"Director"},{"title":"Theme Song Lyrics"},{"title":"Screenplay"},{"title":"Creator"}],"anime":{"id":"164","title":"Mononoke Hime","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/9\/26570v.jpg"}},{"rank":[{"title":"Key Animation","detail":"24"}],"anime":{"id":"8234","title":"Muumin","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/8\/21297v.jpg"}},{"rank":[{"title":"Storyboard"},{"title":"Key Animation"}],"anime":{"id":"2279","title":"Nagagutsu wo Haita Neko","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/7\/5415v.jpg"}},{"rank":[{"title":"Director"},{"title":"Key Animation"}],"anime":{"id":"2897","title":"Nandarou","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/6\/4068v.jpg"}},{"rank":[{"title":"Executive Producer"}],"anime":{"id":"597","title":"Neko no Ongaeshi","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/1\/597v.jpg"}},{"rank":[{"title":"Executive Producer"}],"anime":{"id":"1029","title":"Omoide Poroporo","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/6\/31247v.jpg"}},{"rank":[{"title":"Screenplay"},{"title":"Director"}],"anime":{"id":"1047","title":"On Your Mark","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/4\/2876v.jpg"}},{"rank":[{"title":"In-Between Animation"}],"anime":{"id":"17521","title":"Ookami Shounen Ken","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/12\/56389v.jpg"}},{"rank":[{"title":"Key Animation"},{"title":"Original Character Design"},{"title":"Screenplay"}],"anime":{"id":"2611","title":"Panda Kopanda","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/6\/32957v.jpg"}},{"rank":[{"title":"Director"},{"title":"Storyboard"},{"title":"Script"}],"anime":{"id":"9798","title":"Pandane to Tamago-hime","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/12\/27157v.jpg"}},{"rank":[{"title":"Key Animation","detail":"34, 38"}],"anime":{"id":"9438","title":"Rainbow Sentai Robin","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/8\/46831v.jpg"}},{"rank":[{"title":"Key Animation","detail":"1"}],"anime":{"id":"9916","title":"Samurai Giants","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/11\/27421v.jpg"}},{"rank":[{"title":"Key Animation"}],"anime":{"id":"6311","title":"Sarutobi Ecchan","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/12\/59333v.jpg"}},{"rank":[{"title":"Script"},{"title":"Storyboard"},{"title":"Director"}],"anime":{"id":"199","title":"Sen to Chihiro no Kamikakushi","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/10\/42079v.jpg"}},{"rank":[{"title":"Key Animation"}],"anime":{"id":"13307","title":"Shounen Ninja Kaze no Fujimaru","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/13\/56385v.jpg"}},{"rank":[{"title":"Script"},{"title":"Director"},{"title":"Storyboard"}],"anime":{"id":"2616","title":"Sora Iro no Tane","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/5\/3579v.jpg"}},{"rank":[{"title":"Key Animation"}],"anime":{"id":"2811","title":"Soratobu Yuureisen","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/10\/15656v.jpg"}},{"rank":[{"title":"Layout"}],"anime":{"id":"11561","title":"Sougen no Ko Tenguri","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/8\/32231v.jpg"}},{"rank":[{"title":"Key Animation"}],"anime":{"id":"2452","title":"Space Adventure Cobra","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/13\/42525v.jpg"}},{"rank":[{"title":"Key Animation"}],"anime":{"id":"1044","title":"Taiyou no Ouji: Horus no Daibouken","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/10\/3602v.jpg"}},{"rank":[{"title":"Planning"}],"anime":{"id":"12267","title":"Takara-sagashi","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/12\/34539v.jpg"}},{"rank":[{"title":"Character Design"},{"title":"Screenplay"},{"title":"Director"},{"title":"Theme Song Lyrics"}],"anime":{"id":"513","title":"Tenkuu no Shiro Laputa","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/5\/37799v.jpg"}},{"rank":[{"title":"Key Animation","detail":"8"}],"anime":{"id":"4208","title":"Tetsujin 28-gou (1980)","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/5\/46121v.jpg"}},{"rank":[{"title":"Director"},{"title":"Script"},{"title":"Storyboard"}],"anime":{"id":"523","title":"Tonari no Totoro","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/12\/42085v.jpg"}},{"rank":[{"title":"In-Between Animation"}],"anime":{"id":"9228","title":"Wan Wan Chuushingura","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/7\/25593v.jpg"}},{"rank":[{"title":"Key Animation"},{"title":"Script"},{"title":"Storyboard"},{"title":"Director"}],"anime":{"id":"3570","title":"Yadosagashi","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/5\/6006v.jpg"}},{"rank":[{"title":"Planning"}],"anime":{"id":"25291","title":"Yomiuri Shimbun","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/8\/64609v.jpg"}},{"rank":[{"title":"Director"}],"anime":{"id":"15021","title":"Yuki no Taiyou Pilot","image":"http:\/\/cdn.myanimelist.net\/images\/anime\/5\/42341v.jpg"}}],"published_manga":[{"rank":["Story","Art"],"manga":{"id":"24980","title":"Chuunen wa Kouya wo Mezasu zo","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/3\/134619v.jpg"}},{"rank":["Art"],"manga":{"id":"13971","title":"Dobutsu Takarajima","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/1\/19837v.jpg"}},{"rank":["Story","Art"],"manga":{"id":"14741","title":"Doromamire no Tora: Miyazaki Hayao Mousou Note","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/1\/115903v.jpg"}},{"rank":["Story","Art"],"manga":{"id":"12595","title":"Hansu no Kikan","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/3\/17506v.jpg"}},{"rank":["Story","Art"],"manga":{"id":"24979","title":"Hikoutei Jidai","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/1\/40249v.jpg"}},{"rank":["Story","Art"],"manga":{"id":"24978","title":"Imouto e","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/3\/40248v.jpg"}},{"rank":["Story","Art"],"manga":{"id":"651","title":"Kaze no Tani no Nausica\u00e4","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/3\/156624v.jpg"}},{"rank":["Story","Art"],"manga":{"id":"46318","title":"Kaze Tachinu","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/2\/81754v.jpg"}},{"rank":["Story","Art"],"manga":{"id":"24977","title":"Kuuchuu de Oshokuji","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/1\/40247v.jpg"}},{"rank":["Story","Art"],"manga":{"id":"71215","title":"Nagagutsu wo Haita Neko","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/2\/122611v.jpg"}},{"rank":["Story","Art"],"manga":{"id":"18293","title":"Sabaku no Tami","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/2\/27974v.jpg"}},{"rank":["Story","Art"],"manga":{"id":"3274","title":"Shuna no Tabi","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/3\/70661v.jpg"}},{"rank":["Art"],"manga":{"id":"76407","title":"Tenkuu no Shiro Laputa","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/3\/132763v.jpg"}},{"rank":["Story","Art"],"manga":{"id":"71163","title":"Westall Gensou: Tynemouth e no Tabi","image":"http:\/\/cdn.myanimelist.net\/images\/manga\/2\/151906v.jpg"}}]}
    

    See myanimelist.net/people/1870 for comparing the data.

  4. Kyle Lanchman

    I'm interested in this feature for a project I'm about to start, but I see there hasn't really been any movement on this in the better part of a year, and I didn't see any code pushed to thewildsun's fork of the project.

    So, I wrote my own implementation along with unit tests and API documentation. Here's an example response (the lines starting with // are of course not part of the response):

    {
      "id": 185,
      "image_url": "http://cdn.myanimelist.net/images/voiceactors/3/43500.jpg",
      "name": "Hanazawa, Kana",
      "alternate_names": [],
      "given_name": "香菜",
      "family_name": "花澤",
      "birthday": "1989-02-25",
      "website_url": "http://www.hanazawakana-music.net/",
      "more_details": "Hometown: Tokyo, Japan<br>\r\nHeight: 156 cm<br>\r\nBlood type: AB<br><br>\r\nInteresting facts:<br>\r\n- She was invited to AFA 2010 on stage.<br>\r\n- She used to be a junior idol in Akiba where hundreds of people came to watch her, which is how she got her breakthrough for her acting career in commercials before becoming a voice actor.<br><br>\r\nThe Office Osawa talent agency represents her. (Source: Wikipedia)<br><br>\r\nRadio page: <a href=\"http://www.joqr.co.jp/blog/hanazawa/\" target=\"_blank\" rel=\"nofollow\"></a><a href=\"http://www.joqr.co.jp/blog/hanazawa/\" target=\"_blank\" rel=\"nofollow\">http://www.joqr.co.jp/blog/hanazawa/</a><br>\r\nTwitter (staff): @<a href=\"http://twitter.com/hanazawa_staff\" target=\"_blank\" rel=\"nofollow\">hanazawa_staff</a><br>\r\nTwitter (radio): @<a href=\"http://twitter.com/hitokana_qr\" target=\"_blank\" rel=\"nofollow\">hitokana_qr</a><br>\r\nYoutube: @<a href=\"https://www.youtube.com/user/kanahanazawaSMEJ\" target=\"_blank\" rel=\"nofollow\">kanahanazawaSMEJ</a>",
      "voice_acting_roles": [
        {
          "id": 36023,
          "name": "Sakuya",
          "image_url": "http://cdn.myanimelist.net/r/21x32/images/characters/9/109641.jpg?s=3b9db3e11610657e9160c0270e0cb5dc",
          "main_role": true,
          "anime": {
            "id": 9332,
            "title": ".hack//Quantum",
            "image_url": "http://cdn.myanimelist.net/r/21x32/images/anime/5/28371.jpg?s=5b85bef770216127a52aca6b406b6ec5"
          }
        },
        // The rest...
      ],
      "anime_staff_positions": [
        {
          "position": "Theme Song Performance",
          "details": "ED2",
          "anime": {
            "id": 6166,
            "title": "Asobi ni Iku yo!",
            "image_url": "http://cdn.myanimelist.net/r/22x32/images/anime/7/75583.jpg?s=eafb5bdaad0e45c7c4099a13a6fce50d"
          }
        },
        // The rest...
      ],
      "published_manga": [
        {
          // This is an example, Kana Hanazawa hasn't had any manga published!
          "position": "Story & Art",
          "manga": {
            "id": 9999999999,
            "title": "Sample Title",
            "image_url": "http://www.example.com/image.jpg"
          }
        },
        // The rest...
      ]
    }
    

    You can check out this MAL page to compare.

    I've submitted a pull request to have this feature included!

  5. Kyle Lanchman

    I've been meaning to check in here, but life keeps getting in the way. I'm sure it's the same on your side :)

    I saw there was a merge conflict on composer.lock, I just cherry-picked your latest from master, that's reflected in the PR now.

    I noticed you've been working on API 2.1 changes. Do you think the person API could be included in that release? I'd need to make some edits since I originally set up the endpoints & docs for API 2. Please let me know if there's anything I can do to make my changes slide in as smoothly as possible when we get to that point.

    Thanks!

  6. Ratan Dhawtal

    Change route to people. Add API documentation

    Change route from person to people to match MAL URLs. Add API endpoint documentation and response documentation.

    Fixes #63

    → <<cset 2f572d433cba>>

  7. Log in to comment