Getting Started
Authentication
Learn how to authenticate with the Quote Gallery API using API keys.
Every request to the Quote Gallery API must include a valid API key. Authentication is done with a single X-API-Key header — no OAuth flows, no token exchange.
Getting your API key
- Sign in to your Quote Gallery account
- Go to Dashboard → API Keys
- Click Generate New Key
- Copy the key somewhere safe
Your API key is only shown once. If you lose it, generate a new one from the dashboard.
Making authenticated requests
Pass the key in the X-API-Key header on every request.
curl -H "X-API-Key: your_api_key_here" \
https://quotegallery.nl/api/v1/quotes
const response = await fetch('https://quotegallery.nl/api/v1/quotes', {
headers: {
'X-API-Key': process.env.QUOTE_GALLERY_API_KEY,
},
})
const data = await response.json()
import requests, os
response = requests.get(
'https://quotegallery.nl/api/v1/quotes',
headers={'X-API-Key': os.environ['QUOTE_GALLERY_API_KEY']}
)
data = response.json()
Security
Keep your API key out of client-side code. Store it as an environment variable and only use it in server-side requests. If you need to show quotes on a public page without exposing the key, use the Iframe Embed instead — the key stays on the server.
Rotate your keys periodically. You can generate a new key and revoke the old one from the dashboard at any time.
Tiers and rate limits
Your API key is tied to a subscription tier, which sets your hourly request limit.
| Tier | Requests per hour | Price |
|---|---|---|
| Free | 100 | Free |
| Hobby | 500 | €4.99/mo |
| Premium | 2,000 | €14.99/mo |
Active Supporter subscribers on the Quote Gallery website receive a 25% discount on all paid API tiers.
Authentication errors
| Status | Message | Cause |
|---|---|---|
401 | API key required | The X-API-Key header is missing |
401 | Invalid API key | The key does not exist or has been revoked |
429 | Rate limit exceeded | You've used up your hourly quota |
{
"error": "Invalid API key",
"status": 401
}
For more on rate limits and how to handle them, see Rate Limits & Pricing.