Cataas (Cat as a Service) API
Free cat image API with no key: random cats, tag filtering, text overlays and on-the-fly resizing, as an image or as JSON metadata. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the Cataas (Cat as a Service) API?
Cataas (Cat as a Service) is a free, key-free API serving random cat photos and GIFs. Any request returns an image directly, or JSON metadata when you add `json=true`, and the URL can filter by tag, add caption text and resize or filter the picture on the fly.
Cataas is the cat equivalent of a placeholder image service, and it has become a staple of tutorials, demos and test fixtures because it needs nothing at all — no key, no account, no query language. Point an `img` tag at the base URL and you get a cat.
What makes it more useful than a plain placeholder is that the whole feature set lives in the URL. You can append `/says/Hello` to burn a caption into the image, add `/gif` for animations, filter by tag, and control size and image filters with query parameters. Adding `json=true` flips the response from the image itself to a metadata object with the cat's id, tags and a canonical URL — which is the form you want when you are storing a reference rather than displaying it once.
Quick facts
- Base URL
https://cataas.com- Authentication
- No API key, no account and no quota to register for. The project is open source.
- Rate limit
- No published limit. Images are cached, so repeat requests are cheap.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Cataas (Cat as a Service) API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Fetch metadata for a random cat
GET https://cataas.com/cat?json=true
curl 'https://cataas.com/cat?json=true'const res = await fetch("https://cataas.com/cat?json=true");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://cataas.com/cat?json=true", timeout=20)
res.raise_for_status()
print(res.json()){
"id": "Vrn6StQZRbXigMs8",
"tags": [],
"created_at": "2020-12-06T00:06:29.500Z",
"url": "https://cataas.com/cat/Vrn6StQZRbXigMs8?position=center",
"mimetype": "image/jpeg"
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
json | query | Optional | Return JSON metadata instead of the image bytes. This is what makes the endpoint scriptable. true |
tags | query | Optional | Filter to cats carrying a tag, such as `cute`, `orange` or `sleeping`. Fetch `/api/tags` for the full list. cute |
says | path segment | Optional | Appending `/says/Your+Text` renders a caption onto the image. Hello |
width / height | query | Optional | Resize the returned image in pixels. 400 |
filter | query | Optional | Apply an image filter such as `mono`, `sepia`, `negate` or `blur`. mono |
type | query | Optional | Size variant of the stored image: `square`, `medium`, `small` or `xsmall`. medium |
Response fields
idstring- Stable identifier for that specific cat. Use it to request the same image again via `/cat/{id}`.
urlstring- Canonical URL for the image, already including the position parameter used to crop it.
tagsarray- Tags attached to the cat. Frequently empty — most images are untagged, so do not rely on this for filtering.
mimetypestring- `image/jpeg`, `image/png` or `image/gif`, so you know what you are about to render.
created_atstring- ISO timestamp for when the image was added to the collection.
(without json=true)image- The raw image bytes, which is why the bare URL works directly in an `img` tag.
What you can build with the Cataas (Cat as a Service) API
- Fill a UI mockup or design prototype with real images instead of grey boxes
- Provide a reliable image fixture for front-end tests and tutorials
- Add a random-cat command to a Discord or Slack bot
- Generate captioned images for a meme or greeting-card feature
Common errors and how to fix them
404
No cat matches the requested tag or id.
Fix: Tags are lowercase. Fetch `/api/tags` first rather than guessing, since most images carry no tags at all.
Empty tags array
Not an error — the majority of cats are untagged.
Fix: Treat tag filtering as best-effort and always have a fallback to an untagged random cat.
Slow first response
The image is being resized or filtered on demand.
Fix: Requests without `filter` and resize parameters are served from cache and return much faster.
Cataas (Cat as a Service) API — frequently asked questions
Is the Cataas API free and does it need a key?
It is completely free with no API key, no account and no registration. The project is open source, so you can also self-host it if you want guaranteed availability.
How do I get JSON instead of an image from Cataas?
Add `json=true` to the query string. Without it the response body is the image itself, which is what lets the plain URL work inside an `img` tag; with it you get an object containing the cat's id, tags, mimetype and canonical URL.
Can I add text to a Cataas image?
Yes. Append `/says/Your+Text` to the path and the caption is rendered onto the picture. Additional query parameters control font size, colour and position.
Can I use Cataas images commercially?
Be careful here. The service is free to call, but the individual photographs are user-contributed and Cataas does not assert a licence for each one. For commercial work use a stock library with clear licensing, and treat Cataas as a development and prototyping tool.
Tools that pair with this API
Image to Base64 Converter
Convert an image to a Base64 data URL online. Get copy-ready HTML img tags and CSS background-image snippets. Free, instant and fully private.
Image Cropper
Crop images online to an exact rectangle with pixel-precise x, y, width and height inputs or aspect-ratio presets. Free, private and browser-based.
Image Size Checker
Check image dimensions, file size, aspect ratio and megapixels online for one or many images at once. Fast, free and fully private in your browser.
Cataas (Cat as a Service) is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.