Authentication

The Sirius Quotes API supports developer authentication via custom API keys. To query public endpoints at high frequencies, you should generate an API key from the Dashboard.

Authentication is performed by passing your active API key in the custom HTTP header X-API-Key.

X-API-Key: sk_live_your_api_key_here
Warning: Keep your API key secret. Do not hardcode it in client-side production applications where it can be inspected.

API Endpoints

GET /api/quotes/random

Fetch Random Quote

Retrieves a single random quote from the database pool. Uses a tracking algorithm to guarantee diverse distribution by prioritizing quotes with lower selection frequency.

Response Headers:
Headers
HTTP/1.1 200 OK
Content-Type: application/json
Date: Thu, 28 May 2026 19:40:00 GMT
Response Payload:
JSON
{ "id": 42, "quote_text": "Logic is the beginning of wisdom, not the end.", "author": "Spock", "source": "zenquotes", "use_count": 4, "created_at": "2026-05-28T12:00:00", "last_served_at": "2026-05-28T19:30:00", "is_active": true }

GET /api/quotes/personal

Fetch Paginated Personal Quotes

Retrieves a paginated list of personal daily wisdom published directly by Sirius and other dashboard administrators, sorted newest first.

Query Parameters:
Parameter Type Description
page integer The page number to retrieve. Defaults to 1.
limit integer Number of results per page. Defaults to 6 (Max: 50).
author string Filter quotes by a specific author name (case-insensitive).
search string Keyword search on quote content.
Response Payload:
JSON
{ "quotes": [ { "id": 10, "quote_text": "A beautiful system is constructed step-by-step.", "author": "Sirius", "source": "personal", "use_count": 2, "created_at": "2026-05-28T10:15:30", "day_number": 2, "is_active": true } ], "total": 12, "page": 1, "limit": 1, "has_more": true }

Rate Limiting

To ensure high system availability, rate limiting policies are enforced on all quote retrieval endpoints based on your client state:

  • Anonymous Users: Subject to a strict limit of 5 requests per day per IP address. In addition, an anti-burst sliding window blocks request rates exceeding 5 requests per 60 seconds.
  • Authenticated Developers: Enjoy a substantial quota of 1,000 requests per day with no short-term sliding window limits.

If you exceed your quota, endpoints will return a 429 Too Many Requests status code.

Code Examples

Shell
curl -H "X-API-Key: sk_live_your_api_key_here" \
  https://daily-quote-is-back.onrender.com/api/quotes/random
JavaScript
const API_URL = 'https://daily-quote-is-back.onrender.com/api/quotes/random';
const apiKey = 'sk_live_your_api_key_here';

fetch(API_URL, {
  headers: {
    'X-API-Key': apiKey
  }
})
  .then(response => {
    if (!response.ok) {
      throw new Error(`Error: ${response.status}`);
    }
    return response.json();
  })
  .then(quote => console.log('Random Quote:', quote.quote_text))
  .catch(err => console.error(err));
Python
import requests

url = "https://daily-quote-is-back.onrender.com/api/quotes/random"
headers = {
    "X-API-Key": "sk_live_your_api_key_here"
}

try:
    response = requests.get(url, headers=headers)
    response.raise_for_status()
    quote = response.json()
    print(f"Quote: {quote['quote_text']} — By: {quote['author']}")
except requests.exceptions.RequestException as e:
    print(f"Request failed: {e}")

API Sandbox

Test the quote retrieval endpoints in real-time directly from this sandbox interface. Enter your developer key, configure parameters, and inspect responses.

Response Console:
Click "Run Request" to send a query to the server...