Est. 2026 · A JSON API for quotations
Words worth keeping,
served with manners.
59,925 curated quotes in 14 languages, filtered by category and length. One request, no key, no ceremony.
Le succès est la somme de petits efforts, répétés jour après jour.
59,925Quotes
14Languages
255Categories
0Keys required
The collection
What is on the shelf, language by language.
| Language | Code | Categories | Quotes |
|---|---|---|---|
| Deutsch German | de | 255 | 11,012 |
| Español Spanish | es | 254 | 9,888 |
| Français French | fr | 251 | 9,459 |
| Italiano Italian | it | 253 | 7,514 |
| English | en | 253 | 5,701 |
| 한국어 Korean | ko | 35 | 3,418 |
| 日本語 Japanese | ja | 35 | 2,192 |
| Português Portuguese | pt | 36 | 2,065 |
| 中文 Chinese | zh | 35 | 2,031 |
| Русский Russian | ru | 35 | 2,014 |
| العربية Arabic | ar | 35 | 1,190 |
| Nederlands Dutch | nl | 35 | 1,171 |
| Türkçe Turkish | tr | 35 | 1,136 |
| 中文(台灣) Chinese (Taiwan) | zh-tw | 34 | 1,134 |
How it works
Three steps, and the quote is yours.
Choose a language
Pass an ISO code such as
fr,enorja. English is the default.Refine the selection
Narrow by category, or by length so the quote fits a widget, a mirror or a tweet.
Call the endpoint
A plain
GETreturns JSON. No account, no key, no rate card.
Request
curl "https://quote-ouns.vercel.app/api/quotes/random?lang=fr&category=motivation&maxLength=120" Response
{
"data": [
{
"language": "fr",
"text": "Impossible n'est qu'une opinion.",
"categorie": ["motivation", "positivity"],
"text_length": 32
}
],
"meta": { "lang": "fr", "pool_size": 812, "count_returned": 1 }
}Endpoints
Everything the house has to offer.
- GET
/api/languagesEvery language available, by ISO code.
- GET
/api/categories?lang=frThe categories offered in one language.
- GET
/api/quotes?lang=en&category=life&sort=length_ascA filtered, sorted selection of quotes.
- GET
/api/quotes/random?lang=es&count=5One or several quotes drawn at random.
Parameters
lang- Language code. Defaults to en.
category- One or several categories, comma-separated. Picked at random if omitted.
minLength · maxLength- Bounds on the length of the text, in characters.
length- An exact length, in characters.
count- Number of quotes returned, from 1 to 10.
sort- length_asc, length_desc or random. On /api/quotes only.
Leave your mark
Propose a quote. Each one is read by hand before it joins the collection.