Quote of the Day API
Endpoint
GET /api/v1/quote-of-the-day
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
language |
string | - | Language filter (ko, en) |
Example
curl -H "Authorization: Bearer im_live_xxxx..." \
"https://inspireme.advenoh.pe.kr/api/v1/quote-of-the-day?language=ko"
Response
{
"data": {
"id": "q-abc123",
"content": "Have a great day today",
"author": "Socrates",
"language": "en",
"topics": ["motivation"],
"tags": ["daily"],
"date": "2026-03-08"
}
}
How It Works
- A quote is deterministically selected each day using a date-based hash.
- The same quote is returned to all users on the same day.
- When
languageis not specified, the quote is selected from the entire language pool.
Response Field Descriptions
The actual response includes more fields than shown in the example above.
| Field | Type | Description |
|---|---|---|
id |
string | Unique quote ID |
content |
string | Quote text |
author |
string | Author name |
authorId |
string | Author ID |
authorInfo |
object | Author details (name, nationality, birth/death years, etc.) |
language |
string | Original language |
topics |
string[] | Topic list |
tags |
string[] | Tag list |
translations |
array | Multilingual translation list (lang, content) |
date |
string | Today's date (YYYY-MM-DD) |
backgroundImageUrl |
string? | Background image URL |
createdAt |
string | Creation timestamp |
updatedAt |
string | Last update timestamp |
Caching
The Quote of the Day is cached in Redis for 24 hours.
- Cache key:
public:qotd:{language}(separated by language) - TTL: 24 hours
- Refresh: Automatically refreshed on the first request of a new day
You can check the cache status using the X-Cache response header.
X-Cache: HIT— Served from cache (fast)X-Cache: MISS— Fetched from database and cached (first request)
Tip: Since the Quote of the Day changes only once per day, consider caching on the client side to reduce unnecessary API calls.