(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{6505:function(e,s,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/api-introduction",function(){return n(5504)}])},5504:function(e,s,n){"use strict";n.r(s),n.d(s,{__toc:function(){return l}});var a=n(1527),t=n(7178),r=n(6889),i=n(462);n(3824);var o=n(2783);let l=[{depth:2,value:"Rate limits",id:"rate-limits"},{depth:2,value:"Pagination",id:"pagination"},{depth:2,value:"Errors",id:"errors"},{depth:2,value:"Array Query Parameters",id:"array-query-parameters"}];function c(e){let s=Object.assign({h1:"h1",p:"p",code:"code",h2:"h2",pre:"pre",span:"span"},(0,o.a)(),e.components);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.h1,{children:"Introduction"}),"\n",(0,a.jsxs)(s.p,{children:["Base URL: ",(0,a.jsx)(s.code,{children:"https://api.nekosapi.com/v4"})]}),"\n",(0,a.jsx)(s.p,{children:"This page will help you understand how to use the JSON API. We highly recommend reading this before starting to use the API."}),"\n",(0,a.jsx)(s.h2,{id:"rate-limits",children:"Rate limits"}),"\n",(0,a.jsx)(s.p,{children:"The API has no rate limits at the moment. Can this be a problem in the future? Yes. In case that this becomes an issue, a rate limit will be set."}),"\n",(0,a.jsx)(s.h2,{id:"pagination",children:"Pagination"}),"\n",(0,a.jsx)(s.p,{children:"The API uses limit and offset parameters to paginate the results."}),"\n",(0,a.jsx)(s.pre,{"data-language":"jsonc","data-theme":"default",filename:"GET /v4/images?limit=100&offset=10",hasCopyCode:!0,children:(0,a.jsxs)(s.code,{"data-language":"jsonc","data-theme":"default",children:[(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:'"items"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ["})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"        { ... }"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"        { ... }"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"        ..."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    ]"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:'"count"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"4038"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// Total number of items, not only those returned in the page"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,a.jsxs)(s.p,{children:["The ",(0,a.jsx)(s.code,{children:"limit"})," parameter has a maximum of 100 items. The ",(0,a.jsx)(s.code,{children:"offset"})," parameter is not limited."]}),"\n",(0,a.jsx)(s.h2,{id:"errors",children:"Errors"}),"\n",(0,a.jsx)(s.p,{children:"Though we try to make error formats as consistent as possible, we cannot guarantee that all errors will return the same json format (due to different libraries having their own error formats). You can try to read the following error format and use the status code in case it fails:"}),"\n",(0,a.jsx)(s.pre,{"data-language":"jsonc","data-theme":"default",filename:"GET /v4/images?limit=101",hasCopyCode:!0,children:(0,a.jsxs)(s.code,{"data-language":"jsonc","data-theme":"default",children:[(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:'"detail"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ["})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"        {"})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"            "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:'"loc"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ["})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"                "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"query"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"                "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"limit"'})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"            ]"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"            "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:'"msg"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ensure this value is less than or equal to 100"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"            "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:'"type"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"value_error.number.not_le"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"            "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:'"ctx"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"                "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:'"limit_value"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"100"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"            }"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"        }"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    ]"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,a.jsx)(s.h2,{id:"array-query-parameters",children:"Array Query Parameters"}),"\n",(0,a.jsx)(s.p,{children:"Array query parameters are always a comma-delimited list."}),"\n",(0,a.jsx)(s.pre,{"data-language":"text","data-theme":"default",hasCopyCode:!0,children:(0,a.jsx)(s.code,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"/images?tag=girl,blue_hair"})})})})]})}let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:s}=Object.assign({},(0,o.a)(),e.components);return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(c,{...e})}):c(e)},pageOpts:{filePath:"src/pages/docs/api-introduction.mdx",route:"/docs/api-introduction",timestamp:173656708e4,pageMap:[{kind:"Meta",data:{index:{title:"Home",type:"page",theme:{layout:"raw"}},docs:{title:"Documentation",type:"page"},about:{title:"About",type:"page",theme:{typesetting:"article",breadcrumb:!1,footer:!0,sidebar:!1,toc:!1,pagination:!1}},partners:{title:"Partners",type:"page",theme:{typesetting:"article",breadcrumb:!1,footer:!0,sidebar:!1,toc:!1,pagination:!1}},donate:{display:"hidden",theme:{sidebar:!1}}}},{kind:"MdxPage",name:"about",route:"/about"},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"Introduction","getting-started":"Getting Started",libraries:"Libraries","--- Reference ---":{type:"separator",title:"Reference"},"api-introduction":"Introduction",images:"Images","--- More ---":{type:"separator",title:"More"},contributing:"Contributing",branding:"Branding","terms-of-use":"Terms of Use",about:{title:"About",href:"/about",newWindow:!1},changelog:"Changelog","other-projects":"Other Projects"}},{kind:"MdxPage",name:"api-introduction",route:"/docs/api-introduction"},{kind:"MdxPage",name:"branding",route:"/docs/branding"},{kind:"MdxPage",name:"changelog",route:"/docs/changelog"},{kind:"MdxPage",name:"contributing",route:"/docs/contributing"},{kind:"MdxPage",name:"getting-started",route:"/docs/getting-started"},{kind:"Folder",name:"images",route:"/docs/images",children:[{kind:"Meta",data:{search:"Search for an Image",details:"Get an Image by ID",random:"Get Random Images","random-file":"Get a Random Image File"}},{kind:"MdxPage",name:"details",route:"/docs/images/details"},{kind:"MdxPage",name:"random-file",route:"/docs/images/random-file"},{kind:"MdxPage",name:"random",route:"/docs/images/random"},{kind:"MdxPage",name:"search",route:"/docs/images/search"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"libraries",route:"/docs/libraries",children:[{kind:"Meta",data:{python:"Python",javascript:"JavaScript"}},{kind:"MdxPage",name:"javascript",route:"/docs/libraries/javascript"},{kind:"MdxPage",name:"python",route:"/docs/libraries/python"}]},{kind:"MdxPage",name:"libraries",route:"/docs/libraries"},{kind:"Folder",name:"other-projects",route:"/docs/other-projects",children:[{kind:"Meta",data:{"Nekos.Land":{title:"Nekos.Land",href:"https://land.nekosapi.com"},NekoSauce:{title:"NekoSauce",href:"https://nekosauce.org"},AniCard:{title:"AniCard",href:"https://card.nyeki.dev"},Naoka:{title:"Naoka",href:"https://github.com/Nekidev/Naoka"}}}]},{kind:"MdxPage",name:"terms-of-use",route:"/docs/terms-of-use"}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"MdxPage",name:"partners",route:"/partners"}],flexsearch:{codeblocks:!0},title:"Introduction",headings:l},pageNextRoute:"/docs/api-introduction",nextraLayout:r.ZP,themeConfig:i.Z};s.default=(0,t.j)(d)}},function(e){e.O(0,[709,462,774,888,179],function(){return e(e.s=6505)}),_N_E=e.O()}]);