author string Only quotes whose author contains this text, case-insensitive ('twain' → Mark Twain).
Public-domain quotes from authors who died before 1929 — every one traceable to a real work, filterable by author, tag and length, reproducible with a seed.
Authoritative reference data or standards computation
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
author | string | example: twain | Only quotes whose author contains this text, case-insensitive ('twain' → Mark Twain). |
tag | enum | default: any allowed: wisdom | life | courage | work | happiness | time | truth | change | success | nature | love | art | any example: courage | Only quotes tagged with this theme. |
maxLength | int | allowed: 20 – 500 example: 120 | Only quotes at most this many characters long. |
author string Only quotes whose author contains this text, case-insensitive ('twain' → Mark Twain).
tag enum Only quotes tagged with this theme.
maxLength int Only quotes at most this many characters long.
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
count | int | default: 5 allowed: 1 – 100 example: 3 | Limit the number of returned records (1–100). Defaults to 5. |
seed | int | example: 42 | Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed). |
fields | list | example: text,author | Return only these fields (comma-separated). Mutually exclusive with 'exclude'. |
exclude | list | example: tags | Return all fields except these (comma-separated). |
format | enum | default: json allowed: json | ndjson | csv example: csv | Response format: json envelope, ndjson (one record per line) or csv. |
pretty | boolean | default: false example: true | Pretty-print the JSON response. |
unwrap | boolean | default: false example: true | Drop the envelope: return the raw array/object without data/meta wrapper. |
count int Limit the number of returned records (1–100). Defaults to 5.
seed int Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed).
fields list Return only these fields (comma-separated). Mutually exclusive with 'exclude'.
exclude list Return all fields except these (comma-separated).
format enum Response format: json envelope, ndjson (one record per line) or csv.
pretty boolean Pretty-print the JSON response.
unwrap boolean Drop the envelope: return the raw array/object without data/meta wrapper.
| Field | Type | Description | Example |
|---|---|---|---|
text | string | The quote, in its classic public-domain English rendering. | When in doubt, tell the truth. |
author | string | The verified author; unattributable sayings are labelled e.g. 'Anonymous (Japanese proverb)'. | Mark Twain |
tags | string[] | Themes from the fixed set: wisdom, life, courage, work, happiness, time, truth, change, success, nature, love, art. | ["truth","wisdom"] |
text string The quote, in its classic public-domain English rendering.
example: When in doubt, tell the truth.
author string The verified author; unattributable sayings are labelled e.g. 'Anonymous (Japanese proverb)'.
example: Mark Twain
tags string[] Themes from the fixed set: wisdom, life, courage, work, happiness, time, truth, change, success, nature, love, art.
example: ["truth","wisdom"]
/api/quotes {
"data": [
{
"text": "Life can only be understood backwards; but it must be lived forwards.",
"author": "Søren Kierkegaard",
"tags": [
"life",
"time"
]
},
{
"text": "All the world's a stage, and all the men and women merely players.",
"author": "William Shakespeare",
"tags": [
"life",
"art"
]
},
{
"text": "Gratitude is not only the greatest of virtues, but the parent of all the others.",
"author": "Cicero",
"tags": [
"happiness",
"wisdom"
]
},
{
"text": "Do I contradict myself? Very well then I contradict myself, I am large, I contain multitudes.",
"author": "Walt Whitman",
"tags": [
"truth",
"life"
]
},
{
"text": "A friend in need is a friend indeed.",
"author": "Anonymous (English proverb)",
"tags": [
"love",
"truth"
…
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} /api/quotes?author=twain&count=3&seed=42 {
"data": [
{
"text": "Get your facts first, and then you can distort them as much as you please.",
"author": "Mark Twain",
"tags": [
"truth",
"work"
]
},
{
"text": "When in doubt, tell the truth.",
"author": "Mark Twain",
"tags": [
"truth",
"wisdom"
]
},
{
"text": "Wrinkles should merely indicate where smiles have been.",
"author": "Mark Twain",
"tags": [
"happiness",
"life"
]
}
],
"meta": {
"endpoint": "quotes",
"count": 3,
"seed": 42,
"params": {
"author": "twain",
"tag": "any"
},
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} /api/quotes?tag=courage&maxLength=80 {
"data": [
{
"text": "The credit belongs to the man who is actually in the arena.",
"author": "Theodore Roosevelt",
"tags": [
"courage",
"work"
]
},
{
"text": "Hope is the thing with feathers that perches in the soul.",
"author": "Emily Dickinson",
"tags": [
"happiness",
"courage"
]
},
{
"text": "Fortune favors the bold.",
"author": "Virgil",
"tags": [
"courage",
"success"
]
},
{
"text": "We are all in the gutter, but some of us are looking at the stars.",
"author": "Oscar Wilde",
"tags": [
"courage",
"happiness"
]
},
{
"text": "I am not afraid of storms, for I am learning how to sail my ship.",
"author": "Louisa May Alcott",
"tags": [
"courage",
"change"
…
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} 159 quotes you can ship without a rights headache: every named author died before 1929 (Marcus Aurelius, Seneca, Shakespeare, Austen, Thoreau, Emerson, Dickinson, Twain, Wilde, Nietzsche, …), so the originals — and the classic translations used — are public domain. Traditional sayings with no identifiable author are honestly labelled proverbs.
No apocrypha. Each quote is traceable to a specific published work, letter or speech. The famous-but-fake internet attributions are deliberately absent — no Einstein one-liners, no misattributed Wilde.
Filters genuinely filter: author is a case-insensitive contains-match, tag restricts to one of 12 curated themes, and maxLength caps the quote length in characters (handy for UI slots). The data is real, but the sampling order is seeded — request ?seed=42 and you get the same quotes in the same order forever.
Yes — every quote comes from public-domain works with verified attribution. No fabricated "Einstein said" internet apocrypha.
The quotes are public domain (authors deceased 95+ years), so quoting them in your product is generally safe — attribution ships in every record.
author matches by name, tag picks a theme, maxLength caps characters for tight UI slots, and seed makes the sample reproducible.
Fake books with genre-flavored titles, checksum-valid ISBN-13s, authors, page counts and invented publishers. Filter by genre and page range.
Fake movies with genre-flavored titles, release-year windows, genre-aware runtimes and ratings (animation is never R) and one-decimal scores.
Lorem ipsum placeholder text — one paragraph, sentence or word per record, each with a word count, optionally opening with 'Lorem ipsum dolor sit amet'.
Random English words by part of speech — nouns, verbs, adjectives or adverbs — with working length filters, seedable output and honest 400s when nothing fits.