Greenlit Books
Books
Catalog of practical AI books with search, series, glossary and a claim ledger
Classic Persian poetry works including access to related manuscripts, recitations and music tracks
Verified today: 100% uptime
API key
OAuth flow
HTTPS
Supported
Browser calls
No, needs a proxy
Status
Live · 100/100
Ganjoor provides programmatic access to classic persian poetry works including access to related manuscripts, recitations and music tracks. Delivered over secure HTTPS protocols, it exposes structured endpoints designed to integrate cleanly into modern frontend frameworks, backend microservices, and automated data pipelines without requiring local database provisioning.
Engineers building web dashboards, mobile applications, CLI utilities, or background cron workers in need of reliable books data feeds.
Consuming Ganjoor removes the operational overhead of running custom scrapers, orchestrating headless browser fleets, or manually seeding and maintaining a local database. Instead of reverse-engineering volatile DOM layouts or dealing with anti-bot IP blocks, your application connects directly to a standardized JSON interface designed for backend ingestion with consistent schema schemas. Dedicated authentication ensures rate quotas and credential tracking per project environment.
Last checked 2026-10-24. Measured independently, not self-reported by the provider.
Practical real-world patterns for integrating Ganjoor into software systems.
Embed data and functionality from Ganjoor directly into application onboarding, profile enrichment, or reporting dashboards.
Periodically extract updates from Ganjoor to generate daily digests, analytics reports, or Slack notifications.
Provide real-world mock data and operational endpoints for client demos, portfolio apps, or MVP validation.
Production-ready starting templates with error handling for Ganjoor.
// Uses OAuth. Exchange your credentials for an access token first.
// Modern native fetch with error handling
async function callApi() {
try {
const response = await fetch('https://api.ganjoor.net/api/v1/resource', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
Accept: 'application/json',
},
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
const data = await response.json();
console.log('Response payload:', data);
return data;
} catch (error) {
console.error('API request failed:', error);
throw error;
}
}
// callApi();This API does not send CORS headers, so a browser will block a direct call from your front end. Call it from your server, or put a small proxy in front of it.
Inspect the expected JSON structure returned by Ganjoor.
Authentic sample payload structure to evaluate schema attributes before integration.
{
"status": 200,
"api": "Ganjoor",
"endpoint": "/ganjoor",
"data": {
"id": 101,
"title": "Ganjoor Sample Payload",
"description": "Classic Persian poetry works including access to related manuscripts, recitations and music tracks",
"verified": true,
"category": "Books",
"updated_at": "2026-10-24T07:39:20.726Z"
},
"meta": {
"response_time_ms": 2635,
"cached": false
}
}Technical factors to keep in mind when integrating Ganjoor into production environments.
Avoid triggering rate limits on public feeds by caching response payloads in Redis, Vercel KV, or standard HTTP Cache-Control headers with a 5-to-15 minute TTL.
Never expose private API keys in client-side JavaScript or bundle environments. Proxy requests through a Next.js API route or serverless backend to keep secret keys out of public DevTools inspection.
This API does not send Access-Control-Allow-Origin response headers. Direct fetch() calls from browser JavaScript will fail due to Same-Origin Policy. Route your calls through a server backend or lightweight edge proxy.
Always inspect response.ok before executing response.json(). Upstream services returning 4xx or 502 Bad Gateway often serve HTML error pages, which cause syntax errors when parsed as JSON.
Aggregated from one public source (public-apis), then normalised and checked by us.
Report an issue with this listing ↗Books
Catalog of practical AI books with search, series, glossary and a claim ledger
Books
Books, book covers and related data
Books
RESTful Quran API with multiple languages
Books
Gods and poets, their categories, and the verse meters, with the mandal and sukta number
Books
Free REST API for the Runyankore-Rukiga Bible — 66 books, 31106 verses
Books
API for obtaining information about e-books available on the WolneLektury.pl website
Answered from what our own scheduled checks found, not from the provider's marketing.
Ganjoor is listed in our free catalogue, but it requires OAuth, so you will need to register before your first call. Providers frequently reserve higher limits and commercial use for paid plans.
Ganjoor uses OAuth rather than a simple key, so you register an application and complete an authorisation flow before making calls. That is more setup than a key, and it is why OAuth APIs are harder to try quickly.
Not directly. Ganjoor did not return CORS headers when we checked, so the browser will block your page from reading the response even though the request itself succeeds. Call it from a server, or put a small proxy in front of it.
Yes, as of 2026-10-24. Our automated check reached Ganjoor and recorded a 100% reliability score with a median response time of 2635 ms. We re-check on a schedule, and this page updates with the result.
Yes. Ganjoor serves over HTTPS, so you can call it from a secure page without triggering a mixed-content block.