Self-hosted multilingual quote API built with Laravel + MySQL. No external APIs, no third-party data services.
Admin Login.env (DB_CONNECTION=mysql, host, db, user, password).php artisan migrate --seed.php artisan serve.https://quotes.gamesnag.com/admin/login.Default seeded users: [email protected] / password123, [email protected] / password123.
lang is optional (defaults to English).en.GET https://quotes.gamesnag.com/api/quote-of-the-day?lang=taGET https://quotes.gamesnag.com/api/random-quote?lang=enGET https://quotes.gamesnag.com/api/quotes?lang=enGET https://quotes.gamesnag.com/api/quotes?lang=ta&category=motivationcurl "https://quotes.gamesnag.com/api/quote-of-the-day?lang=ta" curl "https://quotes.gamesnag.com/api/random-quote?lang=en" curl "https://quotes.gamesnag.com/api/quotes?lang=en&per_page=20" curl "https://quotes.gamesnag.com/api/quotes?lang=ta&category=business"
const baseUrl = "https://quotes.gamesnag.com/api";
async function getQuoteOfTheDay(lang = "en") {
const res = await fetch(`${baseUrl}/quote-of-the-day?lang=${lang}`);
if (!res.ok) throw new Error("API error");
return res.json();
}
getQuoteOfTheDay("ta").then(console.log).catch(console.error);
<?php $endpoint = "https://quotes.gamesnag.com/api/random-quote?lang=en"; $response = file_get_contents($endpoint); $data = json_decode($response, true); print_r($data);
{
"data": {
"id": 12,
"category": "motivation",
"is_active": true,
"language": "ta",
"text": "தொடர்ச்சியான முயற்சி நம்பிக்கையை உருவாக்குகிறது.",
"author": "Inspiration",
"created_at": "2026-02-20T12:00:00+00:00"
}
}