Animals — entry 011 of 20

MeowFacts

Verified Jul 2026

meowfacts is a free, keyless REST API that returns one or more random cat facts as JSON, with count and id query parameters for multiple or specific facts. A lang parameter serves community-translated fact sets in around 15 languages (English, Spanish, French, German, Korean, Russian, and others, by browser-style ISO 639 code). It's an open-source (GPL) side project hosted on Heroku and documented via SwaggerHub, with no signup, key, or pricing tier.

MeowFacts is a free, keyless API that returns random cat facts as JSON. Query parameters set the number of facts, pick a fact by id, or change the language. It is an open-source side project hosted on Heroku, with no signup or pricing tier.

cat-factstriviai18nkeyless
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.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score88out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs14/20Documentation URL provided
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 88 on greatapis.com
<a href="https://greatapis.com/api/meowfacts/"><img src="https://greatapis.com/badge/meowfacts.svg" alt="Scored 88 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.

Get a random cat fact

GEThttps://meowfacts.herokuapp.com/

200 application/json; charset=utf-8

{"data":["Adult cats only meow to communicate with humans."]}

Developer reference

Gotchas & limits

  • Every response puts its facts in a single data array, even for one fact. The example above shows a one-element array.
  • Add ?count=N to get more than one fact per call. Confirmed live: ?count=3 returned three facts. ?count=0 returned an empty array, not an error.
  • ?lang= needs a 3-letter code, not a 2-letter one. Confirmed live: ?lang=es returned HTTP 400 with a list of valid codes. The list includes eng, esp, fil, fra, ger, and regional forms such as esp-mx. ?lang=esp returned a fact in Spanish.
  • An out-of-range ?id= does not return an error. Confirmed live: ?id=99999 returned HTTP 200 with {"data":[null]}. Check data[0] for null before you use it as a string.