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 aformatquery param) to get the plain-text rendering — confirmed live; the defaultAcceptgets 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/plainchanges both the content type and the body shape, not just formatting: a live probe of/facts/randomwith that header returnedcontent-type: text/plain; charset=UTF-8and 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.HEADis not supported even thoughGETis: a liveHEAD /facts/randomreturned HTTP 405, while the equivalentGETon the same path returned HTTP 200 in the same run — don't useHEADto 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-idreturned HTTP 404 withcontent-type: text/plain; charset=utf-8and the literal body404 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, thetext/plainvariant, or the bad-id 404) — there's nothing in the response to signal a cap if one exists server-side.