ZenQuotes API
Free quotes API with no key: random, daily and bulk inspirational quotes with author attribution and pre-formatted HTML. Tested curl example and live JSON.
Endpoint tested and returned HTTP 200 on 2026-08-19
What is the ZenQuotes API?
ZenQuotes is a free, key-free API serving inspirational quotes with author attribution, offering random quotes, a quote of the day, and bulk requests of up to 50 quotes at a time.
With Quotable's public instance now offline, ZenQuotes has become the most reliable free quotes API. It returns the quote text, the author, and a pre-rendered HTML blockquote if you want it.
The field names are unusually terse — `q` for quote, `a` for author, `h` for HTML — which keeps responses small but makes code less readable. Map them to meaningful names at your boundary rather than scattering `item.q` through a codebase.
Quick facts
- Base URL
https://zenquotes.io/api- Authentication
- No API key for the public endpoints. A paid key removes attribution requirements and raises limits.
- Rate limit
- About 5 requests per 30 seconds per IP on the free tier.
- Pricing
- Free with attribution required; paid plans remove the attribution requirement.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the ZenQuotes API
Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.
1. Fetch a random quote
GET https://zenquotes.io/api/random
curl 'https://zenquotes.io/api/random'const res = await fetch("https://zenquotes.io/api/random");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://zenquotes.io/api/random", timeout=20)
res.raise_for_status()
print(res.json())[
{
"q": "You don't get in life what you want; you get in life what you are.",
"a": "Les Brown",
"h": "<blockquote>“You don't get in life what you want; you get in life what you are.” — <footer>Les Brown</footer></blockquote>"
}
]Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
random | path | Optional | One random quote. random |
today | path | Optional | The quote of the day. today |
quotes | path | Optional | A batch of up to 50 quotes. quotes |
author/<name> | path | Optional | Quotes by a specific author. author/einstein |
Response fields
qstring- The quote text.
astring- Author name.
hstring- Pre-formatted HTML blockquote.
cstring- Character count of the quote.
What you can build with the ZenQuotes API
- Show a quote of the day on a homepage or dashboard
- Add an inspirational quote to a daily email or Slack post
- Build a quotes widget for a wellbeing or productivity app
- Practise fetch with a small, friendly JSON payload
Common errors and how to fix them
Rate limit message in the response body
More than about 5 requests per 30 seconds.
Fix: Cache the daily quote; there is no reason to fetch it more than once per day.
Confusing field names
Fields are single letters: q, a, h, c.
Fix: Map them to readable names immediately rather than using item.q throughout your code.
ZenQuotes API — frequently asked questions
Is ZenQuotes free?
Yes, the public endpoints need no API key. Attribution is required on the free tier; a paid plan removes that and raises the rate limit.
What happened to the Quotable API?
Its public instance went offline, which is why ZenQuotes is now the more reliable free option. Quotable's source remains available for self-hosting.
What do the q, a and h fields mean?
Quote text, author and pre-formatted HTML respectively. The short names keep payloads small but are worth mapping to readable names in your code.
Can I get quotes by a specific author?
Yes, use /api/author/{name} with a lowercase author slug, though coverage varies by author.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Word Counter
Count words, characters, sentences, paragraphs and estimated reading time instantly. Free online word counter for essays, blogs and social media.
Character Counter
Count characters with and without spaces in real time and check limits for Twitter/X, Instagram captions, meta descriptions and SMS messages.
ZenQuotes is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.