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.
Query parameters
| Parameter | Type | Description |
|---|---|---|
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"
req, _ := http.NewRequestWithContext(ctx, "GET", "https://api.softon.dev/v1/quotes/random", nil) req.Header.Set("Authorization", "Bearer "+os.Getenv("SOFTON_KEY")) res, err := http.DefaultClient.Do(req) if err != nil { log.Fatal(err) } defer res.Body.Close() var page struct { Data Random `json:"data"` Meta struct{ Next *string `json:"next"` } `json:"meta"` } if err := json.NewDecoder(res.Body).Decode(&page); err != nil { log.Fatal(err) }
import json, os, urllib.parse, urllib.request url = "https://api.softon.dev/v1/quotes/random" req = urllib.request.Request(url, headers={ "Authorization": "Bearer " + os.environ["SOFTON_KEY"], }) page = json.load(urllib.request.urlopen(req)) # page["data"] is the object; page["error"] is None on success
const url = new URL("https://api.softon.dev/v1/quotes/random"); const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.SOFTON_KEY}` }, }); if (!res.ok) throw new Error(`${res.status} ${await res.text()}`); const { data, meta } = await res.json();
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
| Field | Type | Description |
|---|---|---|
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
Send the request to see a response.