{"docs":{"name":"Shikimori API","info":"\n\u003ch2 id=\"welcome_to_shikimori_api_v1\"\u003eWelcome to Shikimori API v1\u003c/h2\u003e\n\n\u003cp\u003eThe API has three versions: \u003ca href=\"/api/doc/graphql\"\u003e\u003cstrong\u003egraphql\u003c/strong\u003e\u003c/a\u003e, outdated \u003ca href=\"/api/doc/2.0.html\"\u003e\u003cstrong\u003ev2\u003c/strong\u003e\u003c/a\u003e and outdated \u003ca href=\"/api/doc/1.0.html\"\u003e\u003cstrong\u003ev1\u003c/strong\u003e\u003c/a\u003e. Prefer using \u003ccode\u003egraphql\u003c/code\u003e over \u003ccode\u003ev2\u003c/code\u003e/\u003ccode\u003ev1\u003c/code\u003e when it is possible.\u003c/p\u003e\n\n\u003cp\u003e\u003cstrong\u003ePlease do not parse the main site\u003c/strong\u003e. Fetch all necessary data via API.\u003c/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eNOTE:\u003c/strong\u003e New anime/manga/character/person posters available only in \u003ccode\u003egraphql\u003c/code\u003e API.\u003c/p\u003e\n\n\u003cp\u003eAPI works with \u003ccode\u003eHTTPS\u003c/code\u003e protocol only. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"documentation_for_graphql\"\u003eDocumentation for GraphQL\u003c/h3\u003e\n\n\u003cp\u003e\u003ca href=\"/api/doc/graphql\"\u003eClick here\u003c/a\u003e. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"documentation_for_v1\"\u003eDocumentation for V1\u003c/h3\u003e\n\n\u003cp\u003eOn this page below. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"documentation_for_v2\"\u003eDocumentation for V2\u003c/h3\u003e\n\n\u003cp\u003e\u003ca href=\"/api/doc/2.0.html\"\u003eClick here\u003c/a\u003e. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"authentication\"\u003eAuthentication\u003c/h3\u003e\n\n\u003cp\u003eOAuth2 is used for authentication. \u003ca href=\"/oauth\"\u003eOAuth2 guide\u003c/a\u003e.\u003cbr /\u003e All other auth methods are deprecated and will be removed after 2018-07-01. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"restrictions\"\u003eRestrictions\u003c/h3\u003e\n\n\u003cp\u003eAPI access is limited by \u003ccode\u003e5rps\u003c/code\u003e and \u003ccode\u003e90rpm\u003c/code\u003e \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"requirements\"\u003eRequirements\u003c/h3\u003e\n\n\u003cp\u003eAdd your Oauth2 Application name to \u003ccode\u003eUser-Agent\u003c/code\u003e requests header.\u003c/p\u003e\n\n\u003cp\u003eDon’t mimic a browser.\u003c/p\u003e\n\n\u003cp\u003eYour IP address may be banned if you use API without properly set \u003ccode\u003eUser-Agent\u003c/code\u003e header. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"pagination_in_api\"\u003ePagination in API\u003c/h3\u003e\n\n\u003cp\u003eWhen you request \u003ccode\u003eN\u003c/code\u003e elements from paginated API, in most cases you will get \u003ccode\u003eN+1\u003c/code\u003e results if API has next page. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"third_party_implementations\"\u003eThird party implementations\u003c/h3\u003e\n\n\u003cp\u003e\u003ca href=\"https://github.com/OlegWock/PyShiki\"\u003ePython API implementation\u003c/a\u003e by OlegWock.\u003c/p\u003e\n\n\u003cp\u003e\u003ca href=\"https://github.com/Capster/node-shikimori\"\u003eNode.js API implementation\u003c/a\u003e by Capster.\u003c/p\u003e\n\n\u003cp\u003e\u003ca href=\"https://github.com/JustRoxy/ShikimoriSharp\"\u003eC# API implementation\u003c/a\u003e by JustRoxy.\u003c/p\u003e\n\n\u003cp\u003e\u003ca href=\"https://github.com/iwdt/shikikit#shikimori-api\"\u003eRuby API implementation\u003c/a\u003e by iwdt. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"feedback\"\u003eFeedback\u003c/h3\u003e\n\n\u003cp\u003e\u003ca href=\"/morr\"\u003e@morr\u003c/a\u003e, \u003ca href=\"mailto:admin@shikimori.me\"\u003eemail\u003c/a\u003e \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n","copyright":null,"doc_url":"/api/doc/1.0","api_url":"/api","resources":[{"doc_url":"/api/doc/1.0/characters","id":"characters","api_url":"/api","name":"Characters","short_description":null,"full_description":null,"version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/api/doc/1.0/characters/show","name":"show","apis":[{"api_url":"/api/characters/:id","http_method":"GET","short_description":"Show a character","deprecated":null}],"formats":null,"full_description":"","errors":[],"params":[],"returns":[],"examples":["GET /api/characters/7\n200\n{\n  \"id\": 7,\n  \"name\": \"character_7\",\n  \"russian\": \"персонаж_7\",\n  \"image\": {\n    \"original\": \"/assets/globals/missing_original.jpg\",\n    \"preview\": \"/assets/globals/missing_preview.jpg\",\n    \"x96\": \"/assets/globals/missing_x96.jpg\",\n    \"x48\": \"/assets/globals/missing_x48.jpg\"\n  },\n  \"url\": \"/characters/7-character-7\",\n  \"altname\": null,\n  \"japanese\": \"\",\n  \"description\": null,\n  \"description_html\": \"\u003cdiv class=\\\"b-text_with_paragraphs\\\"\u003e\u003c/div\u003e\",\n  \"description_source\": null,\n  \"favoured\": false,\n  \"thread_id\": 270129,\n  \"topic_id\": 270129,\n  \"updated_at\": \"2022-11-26T17:19:33.810+03:00\",\n  \"seyu\": [\n    {\n      \"id\": 11,\n      \"name\": \"person_9\",\n      \"russian\": \"человек_11\",\n      \"image\": {\n        \"original\": \"/assets/globals/missing_original.jpg\",\n        \"preview\": \"/assets/globals/missing_preview.jpg\",\n        \"x96\": \"/assets/globals/missing_x96.jpg\",\n        \"x48\": \"/assets/globals/missing_x48.jpg\"\n      },\n      \"url\": \"/people/11-person-9\"\n    }\n  ],\n  \"animes\": [\n    {\n      \"id\": 59,\n      \"name\": \"anime_56\",\n      \"russian\": \"аниме_59\",\n      \"image\": {\n        \"original\": \"/assets/globals/missing_original.jpg\",\n        \"preview\": \"/assets/globals/missing_preview.jpg\",\n        \"x96\": \"/assets/globals/missing_x96.jpg\",\n        \"x48\": \"/assets/globals/missing_x48.jpg\"\n      },\n      \"url\": \"/animes/59-anime-56\",\n      \"kind\": \"tv\",\n      \"score\": \"1.0\",\n      \"status\": \"released\",\n      \"episodes\": 0,\n      \"episodes_aired\": 0,\n      \"aired_on\": null,\n      \"released_on\": null,\n      \"roles\": [],\n      \"role\": \"\"\n    }\n  ],\n  \"mangas\": []\n}"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/api/doc/1.0/characters/search","name":"search","apis":[{"api_url":"/api/characters/search","http_method":"GET","short_description":"Search characters","deprecated":null}],"formats":null,"full_description":"","errors":[],"params":[{"name":"search","full_name":"search","description":"","required":false,"allow_nil":false,"allow_blank":true,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[]}],"returns":[],"examples":["GET /api/characters/search\n200\n[\n  {\n    \"id\": 8,\n    \"name\": \"asdf\",\n    \"russian\": \"персонаж_8\",\n    \"image\": {\n      \"original\": \"/assets/globals/missing_original.jpg\",\n      \"preview\": \"/assets/globals/missing_preview.jpg\",\n      \"x96\": \"/assets/globals/missing_x96.jpg\",\n      \"x48\": \"/assets/globals/missing_x48.jpg\"\n    },\n    \"url\": \"/characters/8-asdf\"\n  }\n]"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":null,"deprecated":null}]}}