TL;DR
What it does: Returns random cat facts via a simple REST API. Also provides paginated cat breed information with details like origin, temperament, and lifespan.
Quick start: curl "https://catfact.ninja/fact"
No API key needed - just get a fact
Overview
Cat Facts is the most popular free cat facts API on the internet. With a single GET request you get a random cat fact. The API also provides a paginated breed database with origin, coat type, temperament, and lifespan for each breed. No API key needed - just make requests and enjoy the facts.
Live Example
Here's the exact URL to call and the real response you'll get:
The actual response you get:
{
"fact": "The cat appears to be the only domestic companion animal not mentioned in the Bible.",
"length": 84
}
What does this data mean?
A random cat fact: cats are notable enough to be left out of religious texts!
- fact
- The cat fact text - a unique, interesting trivia statement about cats
- length
- Character count of the fact. Useful for displaying in constrained UI elements
How to use this API
JavaScript Example
// Single fact
fetch('https://catfact.ninja/fact')
.then(res => res.json())
.then(data => console.log(data.fact));
// Multiple facts
fetch('https://catfact.ninja/facts?limit=5')
.then(res => res.json())
.then(data => {
data.data.forEach(f => console.log(f.fact));
});
Python Example
import requests
# Single fact
response = requests.get('https://catfact.ninja/fact')
print(response.json()['fact'])
# 5 facts at once
response = requests.get(
'https://catfact.ninja/facts',
params={'limit': 5}
)
for fact in response.json()['data']:
print(fact['fact'])
# Browse breeds
response = requests.get('https://catfact.ninja/breeds',
params={'page': 1})
print(response.json())
cURL Example
# Random fact
curl "https://catfact.ninja/fact"
# 3 random facts
curl "https://catfact.ninja/facts?limit=3"
# Short facts only (max 80 chars)
curl "https://catfact.ninja/facts?max_length=80"
# Paginated breeds
curl "https://catfact.ninja/breeds?page=1"
Frequently Asked Questions
- How many cat facts are available?
- Hundreds of unique facts. Use
/facts?limit=100to get a large batch at once. - Is there a rate limit?
- No documented rate limit. The API is free and publicly available. Be respectful with high-frequency calls.
- What breed information is available?
- Breed name, origin country, coat type, pattern, temperament, and lifespan. Paginated via
?page=X. - Can I filter facts by length?
- Yes. Use
?max_length=50to get short facts only. - Is it available in other formats?
- Pure JSON. Single fact returns
{"fact": "...", "length": N}, multiple facts returns{"data": [...], "current_page": 1}. - Can I use this in a commercial app?
- Yes, the API is free for personal and commercial use with no restrictions.
API Details
- Base URL
https://catfact.ninja- Documentation
- https://catfact.ninja/
- Category
- Fun
- Authentication
- None required - completely free
- Endpoints
/fact,/facts,/breeds- Parameters
limit,max_length,page- CORS
- Yes