Entertainment — entry 008 of 9
Random Useless Facts
Random Useless Facts is a free, keyless API that returns one trivia snippet at a time — random, "fact of the day", or lookup by ID — each with its own permalink and a source URL crediting the site it was pulled from (largely djtech.net). Responses come back as JSON by default, but requesting with an `Accept: text/plain` header returns the same fact formatted as plain Markdown-style text instead. There's no rate limiting, authentication, or paid tier — it's a small side project by its Polish maintainer.
Random Useless Facts is a keyless trivia API with two live picks — a live GET to `/facts/random` and to `/facts/today` both returned HTTP 200 with a JSON fact object — plus a second response format: sending `Accept: text/plain` on the same `/facts/random` endpoint returned the identical fact re-formatted as a Markdown-style blockquote with source links, confirmed on a live probe this run.
GreatAPIs Score
Auth quickstart
- No API key or signup required — the live probes above returned facts with no auth header sent at all.
- Set `Accept: text/plain` (not a `format` query param) to get the plain-text rendering — confirmed live; the default `Accept` gets JSON.
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Get a random fact as JSON
GEThttps://uselessfacts.jsph.pl/api/v2/facts/random
{"id":"d5a6c7d7b9817de0e90cb0da490957f0","text":"The only domestic animal not mentioned in the Bible is the cat. ","source":"djtech.net","source_url":"https://www.djtech.net/humor/shorty_useless_facts.htm","language":"en","permalink":"https://uselessfacts.jsph.pl/api/v2/facts/d5a6c7d7b9817de0e90cb0da490957f0"}Captured byte-for-byte from this run's live probe — the `id`/`text` are whichever fact the endpoint happened to return that request, not a fixed example; a repeat call returns a different fact.
Developer reference
https://uselessfacts.jsph.pl/api/v2Gotchas & limits
- `Accept: text/plain` changes both the content type and the body shape, not just formatting: a live probe of `/facts/random` with that header returned `content-type: text/plain; charset=UTF-8` and a body of `"> The Nullarbor Plain of Australia covers 100,000 square miles (160,900 km) without a tree.\n\nSource: [djtech.net](...)\nVia: [uselessfacts](...)"` — a Markdown blockquote plus link lines, not the JSON field values as plain text.
- `HEAD` is not supported even though `GET` is: a live `HEAD /facts/random` returned HTTP 405, while the equivalent `GET` on the same path returned HTTP 200 in the same run — don't use `HEAD` to health-check this API.
- An unknown fact id doesn't return the API's own JSON error shape: a live GET to `/facts/not-a-real-id` returned HTTP 404 with `content-type: text/plain; charset=utf-8` and the literal body `404 page not found` — a bare Go-style router 404, not a JSON envelope, even though every successful call on this API returns JSON by default.
- No rate-limit headers were observed on any probe this run (`/facts/random`, `/facts/today`, the `text/plain` variant, or the bad-id 404) — there's nothing in the response to signal a cap if one exists server-side.