Animals — entry 003 of 20

Cataas

Verified Sep 2026

Cataas ("Cat as a Service") is a free, open-source REST API that returns random cat images and animated GIFs, filterable by tag, with options to overlay custom text or crop a specific position. A JSON mode (?json=true) returns the image's metadata — id, tags, and direct URL — instead of the binary file itself. It's maintained on GitHub under the cataas org with no signup or pricing tier; a Donate link is the site's only monetization.

Cataas serves random cat images and GIFs from a simple GET request. You can filter by an optional tag. The plain route returns the image file itself. Add ?json=true to get metadata instead: an id, tags, and a direct URL. It needs no signup or key, and the project runs on donations.

cat-imagesgifsmemesopen-source
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSON, JPEG, PNG, GIF, WebP, AVIFResponses can be requested as JSON or JPEG or PNG or GIF or WebP or AVIF.

GreatAPIs Score

Score100out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs20/20Machine-readable spec file bundled
Formats15/15Supports 6 response formats
Freshness20/20Verified within 6 months

Embed this badge

Scored 100 on greatapis.com
<a href="https://greatapis.com/api/cataas/"><img src="https://greatapis.com/badge/cataas.svg" alt="Scored 100 on greatapis.com"></a>

Auth quickstart

  1. No API key required — requests are public and keyless.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Cats6

Cataas API

GET/cat
Parameters
NameInRequiredType
typequerynostring
filterquerynostring
fitquerynostring
positionquerynostring
widthquerynonumber
heightquerynonumber
blurquerynonumber
rquerynonumber
gquerynonumber
bquerynonumber
brightnessquerynonumber
saturationquerynonumber
huequerynonumber
lightnessquerynonumber
htmlquerynoboolean
jsonquerynoboolean
Responses
StatusDescriptionSchema
200Cat returned—
GET/cat/says/{text}
Parameters
NameInRequiredType
textpathyesstring
typequerynostring
filterquerynostring
fitquerynostring
positionquerynostring
widthquerynonumber
heightquerynonumber
blurquerynonumber
rquerynonumber
gquerynonumber
bquerynonumber
brightnessquerynonumber
saturationquerynonumber
huequerynonumber
lightnessquerynonumber
htmlquerynoboolean
jsonquerynoboolean
fontquerynostring
fontSizequerynonumber
fontColorquerynostring
fontBackgroundquerynostring
Responses
StatusDescriptionSchema
200Cat returned—
GET/cat/{id}
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Cat returned—
404Cat not found—
GET/cat/{id}/says/{text}
Parameters
NameInRequiredType
idpathyesstring
textpathyesstring
typequerynostring
filterquerynostring
fitquerynostring
positionquerynostring
widthquerynonumber
heightquerynonumber
blurquerynonumber
rquerynonumber
gquerynonumber
bquerynonumber
brightnessquerynonumber
saturationquerynonumber
huequerynonumber
lightnessquerynonumber
htmlquerynoboolean
jsonquerynoboolean
fontquerynostring
fontSizequerynonumber
fontColorquerynostring
fontBackgroundquerynostring
Responses
StatusDescriptionSchema
200Cat returned—
404Cat not found—
GET/cat/{tag}
Parameters
NameInRequiredType
tagpathyesstring
typequerynostring
filterquerynostring
fitquerynostring
positionquerynostring
widthquerynonumber
heightquerynonumber
blurquerynonumber
rquerynonumber
gquerynonumber
bquerynonumber
brightnessquerynonumber
saturationquerynonumber
huequerynonumber
lightnessquerynonumber
htmlquerynoboolean
jsonquerynoboolean
Responses
StatusDescriptionSchema
200Cat returned—
GET/cat/{tag}/says/{text}
Parameters
NameInRequiredType
tagpathyesstring
textpathyesstring
typequerynostring
filterquerynostring
fitquerynostring
positionquerynostring
widthquerynonumber
heightquerynonumber
blurquerynonumber
rquerynonumber
gquerynonumber
bquerynonumber
brightnessquerynonumber
saturationquerynonumber
huequerynonumber
lightnessquerynonumber
htmlquerynoboolean
jsonquerynoboolean
fontquerynostring
fontSizequerynonumber
fontColorquerynostring
fontBackgroundquerynostring
Responses
StatusDescriptionSchema
200Cat returned—
API3

Public API

GET/api/cats
Parameters
NameInRequiredType
limitquerynonumber
skipquerynonumber
tagsquerynostring
Responses
StatusDescriptionSchema
200List of cats—
GET/api/count
Responses
StatusDescriptionSchema
200List of tags—
GET/api/tags
Responses
StatusDescriptionSchema
200List of tags—

Try it

Developer reference

Base URLhttps://cataas.com
Key endpoints
  • GET/cat
  • GET/cat/{tag}
  • GET/api/tags

Gotchas & limits

  • GET /cat with no query string returns the image file itself (confirmed live: image/jpeg). Add ?json=true to get the JSON metadata shown above.
  • A tag filters the image, not the JSON shape. GET /cat/{tag}?json=true returns the same fields for an image with that tag. Confirmed live: /cat/black?json=true returned tags ["box","cute","pink","nose","black","white"].
  • GET /api/tags returns every tag you can filter on, as a plain JSON array of strings (confirmed live). Use it to build a tag picker.
  • The tags field can be an empty array. Not every stored image has tags, as the example response above shows.

Availability

Uptime100%
Median latency561 ms
Last checkUp · 200 · Sep 2026

17 checks since Aug 2026. A person runs this check by hand, not an automated monitor.

Changelog

Spec version1.0.0
Tracked paths9
  • Aug 2026gained an OpenAPI spec

Tracking since Sep 2026. See every tracked change ↗ ·Subscribe with RSS ↗