Docs / Quotes Data API / Endpoints / Quote of the day

Quote of the day

Deterministic for a given UTC date and filter set: the same request returns the same quotation all day, so it is safe to cache and every one of your users sees the same line. There is no stored pick and no midnight job -- the date seeds the ordering, so two servers answering on the same day agree without talking to each other.

GET https://api.softon.dev/v1/quotes/random Copy

Query parameters

ParameterTypeDescription
date date ISO-8601 date in UTC. The same date and filters always return the same quotation, so it is safe to cache for the day. Defaults to today.
category string Restrict the pool to one category.

Request

curl https://api.softon.dev/v1/quotes/random \
  -H "Authorization: Bearer $SOFTON_KEY"

Response

The envelope is identical on every softon.dev API: data, meta, error. Only the shape inside data changes per dataset — see the response envelope.

{
  "data": {
    "id": "birjob:1981",
    "source": "birjob",
    "text": "Believe in your infinite potential.",
    "author": "Roy T. Bennett",
    "category": "Believe In Yourself",
    "origin": "passiton",
    "ingested_at": "2026-08-06T07:29:46.646799Z"
  },
  "meta": { "request_id": "req_9Fv3" },
  "error": null
}

Fields of data

FieldTypeDescription
id string Stable identifier, "<source>:<source id>".
source string Which scraper delivered this quotation.
text string The quotation.
author string · nullable Attributed author. null where the collection does not name one.
category string · nullable The upstream's own label. A folksonomy, not an enum -- tens of thousands of distinct values -- so treat it as a tag rather than a fixed set.
origin string · nullable Where the quotation was collected from, e.g. "passiton". Distinct from source, which is the scraper that delivered it.
ingested_at timestamp When this version was stored.

Try it

v1 · stable
Send the request to see a response.