nekos.best
App · Images & Design · 9 actions
Safe-for-work anime images and reaction GIFs, every one credited to its artist or the anime it is from: four image categories and about sixty reactions such as hug, pat, wave and facepalm. Free and keyless.
Actions
| Action | What it does |
|---|---|
| Check service status | Check whether nekos.best is answering and how quickly, without failing the step when it is not, and read how many requests are left in the current rate-limit window. |
| Download an image or GIF | Download a file so a later step can attach it to an email, upload it to a chat or put it in storage. |
| Get a random image | Get one random safe-for-work anime image with the artist's name and a link to the original artwork, ready to post with credit. |
| Get a reaction GIF | Get one random anime reaction GIF for a feeling or gesture, such as hug, pat, wave, facepalm or thumbsup, with the name of the anime it is taken from. |
| Get several random images | Get up to twenty random anime images from one category in a single request, each with its artist's name and a link to the original artwork. |
| Get several reaction GIFs | Get up to twenty random reaction GIFs for one feeling or gesture in a single request, each with the anime it is taken from. |
| List categories | List every category the service offers, split into the image categories and the reaction GIF categories, each with the file format it serves and its address. |
| Look up a file by URL | Get the credit for a file you already have the address of: the artist and a link to the original for an image, the anime for a GIF, plus the file's media type and size. |
| Search images and GIFs | Find files by who made them: images are matched on the artist's name and GIFs on the title of the anime they are from, so 'Toradora' finds GIFs cut from Toradora! |
Check service status
Check whether nekos.best is answering and how quickly, without failing the step when it is not, and read how many requests are left in the current rate-limit window. Put this in front of a workflow and branch on 'ok', or use 'rate_limit_remaining' to slow a loop down before it is throttled rather than after.
Inputs
None.
Outputs
latency_msnumbermessagetextoktrue/falserate_limit_remainingnumberrate_limit_resettextrate_limit_windowtextrate_limitedtrue/falsestatus_codenumber
Example output
{
"latency_ms": 118.0,
"message": null,
"ok": true,
"rate_limit_remaining": 199,
"rate_limit_reset": "2026-09-16T12:01:00.000Z",
"rate_limit_window": "1m",
"rate_limited": false,
"status_code": 200
}Download an image or GIF
Download a file so a later step can attach it to an email, upload it to a chat or put it in storage. Pass the address of a file from an earlier step for that exact one, or name a category to draw one at random and download it in the same step. The credit comes back with the file either way. The address alone is enough wherever a link will do; this is for the steps that need the bytes.
Inputs
- File URL
urltext - Optional. The address of a nekos.best file from an earlier step, to download that exact one. Only the service's own files are downloaded. Leave empty and give a category instead to draw one at random.
- Or a random one from
categorytext - Optional. A category to draw a random file from when no URL is given, such as 'neko' for an image or 'hug' for a GIF. Ignored when a URL is given.
Outputs
assetobjectasset_urltextbyte_sizenumbercontent_typetextcredittextdocument_reftextdocumentslistfilenametexturltext
Example output
{
"asset": {
"anime_name": null,
"artist_href": "https://www.pixiv.net/en/users/1234567",
"artist_name": "Rin Aoi",
"category": "neko",
"credit": "Art by Rin Aoi",
"filename": "0b3a2d0e-6f6e-4d4b-9c3e-8f1a2b3c4d5e",
"format": "png",
"height": 1600,
"kind": "image",
"source_url": "https://www.pixiv.net/en/artworks/98765432",
"url": "https://nekos.best/api/v2/neko/0b3a2d0e-6f6e-4d4b-9c3e-8f1a2b3c4d5e.png",
"width": 1200
},
"asset_url": "https://nekos.best/api/v2/neko/0b3a2d0e-6f6e-4d4b-9c3e-8f1a2b3c4d5e.png",
"byte_size": 842113,
"content_type": "image/png",
"credit": "Art by Rin Aoi",
"document_ref": "doc_nekos_best_0b3a2d0e",
"documents": [
{
"content_type": "image/png",
"document_ref": "doc_nekos_best_0b3a2d0e",
"filename": "nekos-best-neko-0b3a2d0e.png",
"size_bytes": 842113,
"url": "/actions/core/serve-document/doc_nekos_best_0b3a2d0e"
}
],
"filename": "nekos-best-neko-0b3a2d0e.png",
"url": "/actions/core/serve-document/doc_nekos_best_0b3a2d0e"
}Get a random image
Get one random safe-for-work anime image with the artist's name and a link to the original artwork, ready to post with credit. Pick one of the image categories, or leave it empty for a neko. The address it returns is a direct link to the PNG, so it can go straight into a message or a web page.
Inputs
- Category
categorytext - Which kind of picture to draw. The image categories are husbando, kitsune, neko and waifu; the list is read from the service when the connection is made, so anything added upstream appears here too. A GIF category such as 'hug' is refused, because it is not an image.
Outputs
categorytextcredittextimageobjecturltext
Example output
{
"category": "neko",
"credit": "Art by Rin Aoi",
"image": {
"anime_name": null,
"artist_href": "https://www.pixiv.net/en/users/1234567",
"artist_name": "Rin Aoi",
"category": "neko",
"credit": "Art by Rin Aoi",
"filename": "0b3a2d0e-6f6e-4d4b-9c3e-8f1a2b3c4d5e",
"format": "png",
"height": 1600,
"kind": "image",
"source_url": "https://www.pixiv.net/en/artworks/98765432",
"url": "https://nekos.best/api/v2/neko/0b3a2d0e-6f6e-4d4b-9c3e-8f1a2b3c4d5e.png",
"width": 1200
},
"url": "https://nekos.best/api/v2/neko/0b3a2d0e-6f6e-4d4b-9c3e-8f1a2b3c4d5e.png"
}Get a reaction GIF
Get one random anime reaction GIF for a feeling or gesture, such as hug, pat, wave, facepalm or thumbsup, with the name of the anime it is taken from. There are about sixty reactions to choose from. The address it returns is a direct link to the GIF, so it can go straight into a chat message.
Inputs
- Reaction
categorytextRequired - The reaction to draw a GIF for, such as hug, pat, wave or facepalm. The list is read from the service when the connection is made, so anything added upstream appears here too. An image category such as 'neko' is refused, because it is not a GIF.
Outputs
anime_nametextcategorytextgifobjecturltext
Example output
{
"anime_name": "Toradora!",
"category": "hug",
"gif": {
"anime_name": "Toradora!",
"artist_href": null,
"artist_name": null,
"category": "hug",
"credit": "From Toradora!",
"filename": "3e8f2a1b-9c4d-4f7e-8a2b-6d5c4e3f2a1b",
"format": "gif",
"height": 280,
"kind": "gif",
"source_url": null,
"url": "https://nekos.best/api/v2/hug/3e8f2a1b-9c4d-4f7e-8a2b-6d5c4e3f2a1b.gif",
"width": 498
},
"url": "https://nekos.best/api/v2/hug/3e8f2a1b-9c4d-4f7e-8a2b-6d5c4e3f2a1b.gif"
}Get several random images
Get up to twenty random anime images from one category in a single request, each with its artist's name and a link to the original artwork. Use this over drawing one at a time when a step needs a set: it costs one request against the per-category limit rather than one per image.
Inputs
- Category
categorytext - Which kind of picture to draw. The image categories are husbando, kitsune, neko and waifu; the list is read from the service when the connection is made, so anything added upstream appears here too. A GIF category such as 'hug' is refused, because it is not an image.
- Number of images
amountnumber - How many files to return, from 1 to 20, which is the most the API returns in one request. Defaults to 1. Every file is a separate random draw, so the same one can appear twice in a large batch.From 1 to 20.
Outputs
categorytextimage_countnumberimageslistrequested_countnumber
Example output
{
"category": "neko",
"image_count": 2,
"images": [
{
"anime_name": null,
"artist_href": "https://www.pixiv.net/en/users/1234567",
"artist_name": "Rin Aoi",
"category": "neko",
"credit": "Art by Rin Aoi",
"filename": "0b3a2d0e-6f6e-4d4b-9c3e-8f1a2b3c4d5e",
"format": "png",
"height": 1600,
"kind": "image",
"source_url": "https://www.pixiv.net/en/artworks/98765432",
"url": "https://nekos.best/api/v2/neko/0b3a2d0e-6f6e-4d4b-9c3e-8f1a2b3c4d5e.png",
"width": 1200
},
{
"anime_name": null,
"artist_href": "https://www.pixiv.net/en/users/7654321",
"artist_name": "Haru Mizuki",
"category": "neko",
"credit": "Art by Haru Mizuki",
"filename": "7c1d9a4f-2b8e-4e61-a5d3-1f0c9b2e8d77",
"format": "png",
"height": 1414,
"kind": "image",
"source_url": "https://www.pixiv.net/en/artworks/12345678",
"url": "https://nekos.best/api/v2/neko/7c1d9a4f-2b8e-4e61-a5d3-1f0c9b2e8d77.png",
"width": 1000
}
],
"requested_count": 2
}Get several reaction GIFs
Get up to twenty random reaction GIFs for one feeling or gesture in a single request, each with the anime it is taken from. Use this to offer a choice, or to fill a week of scheduled posts from one step rather than one request each.
Inputs
- Reaction
categorytextRequired - The reaction to draw a GIF for, such as hug, pat, wave or facepalm. The list is read from the service when the connection is made, so anything added upstream appears here too. An image category such as 'neko' is refused, because it is not a GIF.
- Number of GIFs
amountnumber - How many files to return, from 1 to 20, which is the most the API returns in one request. Defaults to 1. Every file is a separate random draw, so the same one can appear twice in a large batch.From 1 to 20.
Outputs
categorytextgif_countnumbergifslistrequested_countnumber
Example output
{
"category": "hug",
"gif_count": 2,
"gifs": [
{
"anime_name": "Toradora!",
"artist_href": null,
"artist_name": null,
"category": "hug",
"credit": "From Toradora!",
"filename": "3e8f2a1b-9c4d-4f7e-8a2b-6d5c4e3f2a1b",
"format": "gif",
"height": 280,
"kind": "gif",
"source_url": null,
"url": "https://nekos.best/api/v2/hug/3e8f2a1b-9c4d-4f7e-8a2b-6d5c4e3f2a1b.gif",
"width": 498
},
{
"anime_name": "Clannad",
"artist_href": null,
"artist_name": null,
"category": "hug",
"credit": "From Clannad",
"filename": "9a7b6c5d-4e3f-4a2b-9c8d-7e6f5a4b3c2d",
"format": "gif",
"height": 281,
"kind": "gif",
"source_url": null,
"url": "https://nekos.best/api/v2/hug/9a7b6c5d-4e3f-4a2b-9c8d-7e6f5a4b3c2d.gif",
"width": 500
}
],
"requested_count": 2
}List categories
List every category the service offers, split into the image categories and the reaction GIF categories, each with the file format it serves and its address. This is the list the API asks callers to read rather than hard-code, so use it to pick a reaction at run time or to check one exists before asking for it.
Inputs
None.
Outputs
categorieslistcategory_countnumbergif_categorieslistgif_category_countnumberimage_categorieslistimage_category_countnumber
Example output
{
"categories": [
{
"format": "gif",
"kind": "gif",
"name": "hug",
"url": "https://nekos.best/api/v2/hug"
},
{
"format": "png",
"kind": "image",
"name": "neko",
"url": "https://nekos.best/api/v2/neko"
},
{
"format": "gif",
"kind": "gif",
"name": "pat",
"url": "https://nekos.best/api/v2/pat"
},
{
"format": "png",
"kind": "image",
"name": "waifu",
"url": "https://nekos.best/api/v2/waifu"
}
],
"category_count": 4,
"gif_categories": [
"hug",
"pat"
],
"gif_category_count": 2,
"image_categories": [
"neko",
"waifu"
],
"image_category_count": 2
}Look up a file by URL
Get the credit for a file you already have the address of: the artist and a link to the original for an image, the anime for a GIF, plus the file's media type and size. The service keeps this in the file's own response headers, so the file is opened and closed without downloading it. For a workflow that stored an address earlier and wants to credit the artist when it posts.
Inputs
- File URL
urltextRequired - The address of a nekos.best file, as returned by any step here: https://nekos.best/api/v2/<category>/<id>.png or .gif. Only the service's own files are looked up.
Outputs
assetobjectcategorytextcontent_typetextcredittextkindtextsize_bytesnumberurltext
Example output
{
"asset": {
"anime_name": null,
"artist_href": "https://www.pixiv.net/en/users/1234567",
"artist_name": "Rin Aoi",
"category": "neko",
"credit": "Art by Rin Aoi",
"filename": "0b3a2d0e-6f6e-4d4b-9c3e-8f1a2b3c4d5e",
"format": "png",
"height": null,
"kind": "image",
"source_url": "https://www.pixiv.net/en/artworks/98765432",
"url": "https://nekos.best/api/v2/neko/0b3a2d0e-6f6e-4d4b-9c3e-8f1a2b3c4d5e.png",
"width": null
},
"category": "neko",
"content_type": "image/png",
"credit": "Art by Rin Aoi",
"kind": "image",
"size_bytes": 842113,
"url": "https://nekos.best/api/v2/neko/0b3a2d0e-6f6e-4d4b-9c3e-8f1a2b3c4d5e.png"
}Search images and GIFs
Find files by who made them: images are matched on the artist's name and GIFs on the title of the anime they are from, so 'Toradora' finds GIFs cut from Toradora! and an artist's name finds their drawings. Say which of the two you want, narrow to a category if you like, and take up to twenty at once. Nothing matching is an empty result, not a failed step. Search is the tightest-limited route the service has, at 7 requests per 5 seconds.
Inputs
- Search for
querytextRequired - An artist's name when searching images, or an anime's title when searching GIFs. Part of a name is enough.
- Search
search_typetextRequired - Whether to search images, which are matched on their artist, or GIFs, which are matched on their anime. The API requires one or the other.One of:
gifs(GIFs, by anime title),images(Images, by artist name). - Only in this category
categorytext - Optional. Keep only files from one category, such as 'hug' for GIFs or 'neko' for images. The category has to serve the kind of file being searched for: 'hug' with images selected is refused rather than sent.
- Maximum results
amountnumber - How many files to return, from 1 to 20, which is the most the API returns in one request. Defaults to 1. Every file is a separate random draw, so the same one can appear twice in a large batch.From 1 to 20.
Outputs
categorytextkindtextquerytextrequested_countnumberresult_countnumberresultslist
Example output
{
"category": "hug",
"kind": "gif",
"query": "Toradora",
"requested_count": 2,
"result_count": 1,
"results": [
{
"anime_name": "Toradora!",
"artist_href": null,
"artist_name": null,
"category": "hug",
"credit": "From Toradora!",
"filename": "3e8f2a1b-9c4d-4f7e-8a2b-6d5c4e3f2a1b",
"format": "gif",
"height": 280,
"kind": "gif",
"source_url": null,
"url": "https://nekos.best/api/v2/hug/3e8f2a1b-9c4d-4f7e-8a2b-6d5c4e3f2a1b.gif",
"width": 498
}
]
}