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.
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
<a href="https://greatapis.com/api/cataas/"><img src="https://greatapis.com/badge/cataas.svg" alt="Scored 100 on greatapis.com"></a>
Auth quickstart
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
Name
In
Required
Type
type
query
no
string
filter
query
no
string
fit
query
no
string
position
query
no
string
width
query
no
number
height
query
no
number
blur
query
no
number
r
query
no
number
g
query
no
number
b
query
no
number
brightness
query
no
number
saturation
query
no
number
hue
query
no
number
lightness
query
no
number
html
query
no
boolean
json
query
no
boolean
Responses
Status
Description
Schema
200
Cat returned
—
GET/cat/says/{text}
Parameters
Name
In
Required
Type
text
path
yes
string
type
query
no
string
filter
query
no
string
fit
query
no
string
position
query
no
string
width
query
no
number
height
query
no
number
blur
query
no
number
r
query
no
number
g
query
no
number
b
query
no
number
brightness
query
no
number
saturation
query
no
number
hue
query
no
number
lightness
query
no
number
html
query
no
boolean
json
query
no
boolean
font
query
no
string
fontSize
query
no
number
fontColor
query
no
string
fontBackground
query
no
string
Responses
Status
Description
Schema
200
Cat returned
—
GET/cat/{id}
Parameters
Name
In
Required
Type
id
path
yes
string
Responses
Status
Description
Schema
200
Cat returned
—
404
Cat not found
—
GET/cat/{id}/says/{text}
Parameters
Name
In
Required
Type
id
path
yes
string
text
path
yes
string
type
query
no
string
filter
query
no
string
fit
query
no
string
position
query
no
string
width
query
no
number
height
query
no
number
blur
query
no
number
r
query
no
number
g
query
no
number
b
query
no
number
brightness
query
no
number
saturation
query
no
number
hue
query
no
number
lightness
query
no
number
html
query
no
boolean
json
query
no
boolean
font
query
no
string
fontSize
query
no
number
fontColor
query
no
string
fontBackground
query
no
string
Responses
Status
Description
Schema
200
Cat returned
—
404
Cat not found
—
GET/cat/{tag}
Parameters
Name
In
Required
Type
tag
path
yes
string
type
query
no
string
filter
query
no
string
fit
query
no
string
position
query
no
string
width
query
no
number
height
query
no
number
blur
query
no
number
r
query
no
number
g
query
no
number
b
query
no
number
brightness
query
no
number
saturation
query
no
number
hue
query
no
number
lightness
query
no
number
html
query
no
boolean
json
query
no
boolean
Responses
Status
Description
Schema
200
Cat returned
—
GET/cat/{tag}/says/{text}
Parameters
Name
In
Required
Type
tag
path
yes
string
text
path
yes
string
type
query
no
string
filter
query
no
string
fit
query
no
string
position
query
no
string
width
query
no
number
height
query
no
number
blur
query
no
number
r
query
no
number
g
query
no
number
b
query
no
number
brightness
query
no
number
saturation
query
no
number
hue
query
no
number
lightness
query
no
number
html
query
no
boolean
json
query
no
boolean
font
query
no
string
fontSize
query
no
number
fontColor
query
no
string
fontBackground
query
no
string
Responses
Status
Description
Schema
200
Cat returned
—
API3
Public API
GET/api/cats
Parameters
Name
In
Required
Type
limit
query
no
number
skip
query
no
number
tags
query
no
string
Responses
Status
Description
Schema
200
List of cats
—
GET/api/count
Responses
Status
Description
Schema
200
List of tags
—
GET/api/tags
Responses
Status
Description
Schema
200
List 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.