Cat Facts API

Beginner's Pick Animals / No Auth Required Beginner HTTPS
Free to Use 100 per window (99 remaining at test time)
85 A
Measured Score 0 50 100 Speed 18/30 Consistency 17/20 Security 20/20 Browser access 15/15 Transparency 15/15 TESTED 2026-08-10

Overview

Cat Facts delivers random, verified facts about cats via a simple REST API. No authentication required—ideal for beginners learning how to call an API and display text responses.

Beginner Tip

Call /fact for a single random fact. The /facts endpoint returns a paginated list—set max=5 to avoid huge payloads on first try.

Measurement Record

What actually happened when we called this API from our own infrastructure. Every value below was recorded by the request, not copied from the provider's documentation.

Request
GET https://catfact.ninja/fact
Result
HTTP 200 · application/json · 141 bytes · compressed
Response time
204 ms (median of 3) · fastest 193 ms
Transport
TLSv1.3 · TLS_AES_256_GCM_SHA384 · certificate issued by Google Trust Services
Browser CORS
Allowed — Access-Control-Allow-Origin: *
Rate limit
100 per window (99 remaining at test time)
Served by
cloudflare
Recorded
2026-08-10

Fields Returned

Top-level fields present in the response we captured, with the type and value we actually received.

Field Type Value received
fact string In Ancient Egypt, when a person's house cat p…
length integer 117

Captured Response

Captured from a real request to https://catfact.ninja/fact on 2026-08-10. Long arrays and nested objects are truncated to keep the shape readable.

JSON Response · Captured
{
  "fact": "In Ancient Egypt, when a person's house cat passed away, the owner would shave their eyebrows to reflect their grief.",
  "length": 117
}

Field Reference

fact The cat fact text to display to users
length Character count of the fact string

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "https://catfact.ninja/fact";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

How This API Fails

We deliberately sent this API a broken request and recorded exactly what came back on 2026-08-10. Knowing the shape of an error before you hit it makes error handling much easier to write.

HTTP 404 Requesting a path that does not exist application/json
{
  "message": "Not Found",
  "code": 404
}

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

404 on /random Old tutorials reference /random which is deprecated
Use /fact instead: https://catfact.ninja/fact
Unexpected paginated response Calling /facts without knowing it returns an array with metadata
Access response.data[0].fact to get the first fact text
SSL certificate error Some environments have outdated CA certificates
Use curl --cacert or update your system CA bundle

Measured Score Breakdown

Live HTTP request to the API endpoint

Speed 18/30
Consistency 17/20
Security 20/20
Browser access 15/15
Transparency 15/15
Endpoint Response Time 204ms

Fully tested on Aug 10, 2026

Technical Specifications

Auth No Auth
HTTPS REQUIRED
CORS NO
Category Animals
Difficulty Beginner
Endpoint last called: 2026-08-10

Related Tags

Similar APIs

View All →