Skip to content
RandNext
Esc

RandNext API

Free, read-only random jokes, quotes, questions and words as JSON. No API key needed for normal use. Version 1 is served from /api/v1.

Quick start

curl https://randnext.com/api/v1/jokes/random
const res = await fetch("https://randnext.com/api/v1/quotes/random?category=wisdom");
const quote = await res.json();
console.log(`“${quote.text}” — ${quote.author}`);

Endpoints

Each content type has the same three endpoints. Types: jokes, quotes, questions, words.

RequestReturns
GET /api/v1/{type}/randomOne random item
GET /api/v1/{type}?limit=1..20{ data: Item[], count } — distinct random items (default 10)
GET /api/v1/{type}/{id}One item by ID (cacheable)
GET /api/v1/healthService status
GET /api/v1/openapi.jsonOpenAPI 3.1 description

Query parameters

  • category — jokes: general, programming, dad, pun, animal; quotes: inspirational, life, work, humor, wisdom; questions: icebreaker, classroom, friends, deep, would-you-rather; words: noun, verb, adjective, adverb.
  • safety — family (family-level only) or general (default: family and general). Adult content is never served.
  • Words only: min_length, max_length (1–30), starts_with (one letter).

Response

{
  "id": "qt_000001",
  "type": "quote",
  "text": "Well done is better than well said.",
  "author": "Benjamin Franklin",
  "category": "wisdom",
  "tags": [],
  "language": "en",
  "safety_level": "family",
  "source_url": null,
  "license": "public-domain",
  "attribution": "Poor Richard’s Almanack (1737)",
  "permalink": "https://randnext.com/random-quote?id=qt_000001"
}

When attribution is not null you must show it next to the content.

Errors

{ "error": { "code": "RATE_LIMITED", "message": "Too many requests. Please try again later." } }
400INVALID_PARAMETERA parameter is invalid, e.g. an unknown category or a limit out of range.
404NOT_FOUNDUnknown type, unknown ID, removed item, or nothing matches your filters.
429RATE_LIMITEDToo many requests. Wait for the number of seconds in Retry-After.
500INTERNAL_ERRORSomething went wrong on our side.
503SERVICE_UNAVAILABLETemporarily unavailable or under maintenance.

Limits and caching

  • 60 requests per minute and 1,000 per day, per IP. Every response includes X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset.
  • Random endpoints are never cached; by-ID responses may be cached for up to an hour.
  • CORS is open for GET requests from any origin.

Terms of use

  • Free use requires a visible “Powered by RandNext” link to randnext.com.
  • Show the attribution field whenever it’s present.
  • Don’t download the whole content library to republish or resell it.
  • There is no SLA. We may change limits or block abusive traffic.

Support

The public API currently covers jokes, quotes, questions and words; other RandNext generators do not have public endpoints. For API questions or to report a problem, email support@randnext.com and include the endpoint and response status.