Still in beta. For feedback, email me at aramb@aramb.dev
Comprehensive documentation for the Madinah Books API
The Madinah Books API provides access to Arabic learning content from the Madinah book series. All endpoints return JSON responses and require no authentication.
Base URL:
https://madinah.arabic.aramb.dev/apiExample Request:
GET /api/books/api/booksGet all available books with their lessons
Response Schema:
{
"success": true,
"data": [
{
"id": "book1",
"title": {
"ar": "الكتاب الأساسي",
"en": "Book 1"
},
"description": {
"arabic": "...",
"english": "..."
},
"lessons": [...],
"available": true
}
],
"count": 3
}/api/books/{bookId}Get a specific book by ID
Parameters:
bookId (string): book1, book2, or book3/api/books/{bookId}/lessonsGet all lessons for a specific book
/api/books/{bookId}/lessons/{lessonId}Get a specific lesson from a specific book
Parameters:
bookId (string): book1, book2, or book3lessonId (string): lesson1, lesson2, etc./api/lessonsGet all lessons from all books
/api/lesson-titlesGet titles of all lessons across all books
/api/metadataGet global metadata about all books and lessons
/api/books/{bookId}/metadataGet metadata for a specific book
/api/books/{bookId}/lesson-titlesGet titles of all lessons in a specific book
/api/books/{bookId}/rule-countGet rule statistics for a specific book
{
"id": "string",
"title": {
"ar": "string",
"en": "string"
},
"description": {
"arabic": "string",
"english": "string"
},
"lessons": "Array<Lesson>",
"available": "boolean",
"comingSoon": "boolean (optional)"
}{
"id": "string",
"title": {
"ar": "string",
"en": "string"
},
"introduction": {
"arabic": "string",
"english": "string"
},
"rules": "Array<Rule>",
"vocabulary": "Array<VocabularyItem> (optional)"
}{
"name": "string",
"arabicText": "string",
"explanation": "string"
}{
"id": "string",
"word": "string",
"transliteration": "string",
"translation": {
"en": "string"
},
"type": "string (WordType enum)",
"root": "string (optional)",
"plural": "string (optional)",
"gender": "string (Gender enum, optional)",
"conjugation": "VerbConjugation (optional)",
"definition": "string",
"examples": "Array<Example>",
"notes": "string (optional)",
"difficulty": "string (DifficultyLevel enum)",
"tags": "Array<string>",
"relatedWords": "Array<string> (optional)",
"bookId": "string (optional)",
"lessonId": "string | number (optional)"
}"noun" | "verb" | "adjective" | "adverb" | "preposition" | "pronoun" | "conjunction" | "particle" | "expression" | "number" | "proper noun"
"beginner" | "intermediate" | "advanced"
"masculine" | "feminine" | "neuter" | "dual"
{
"arabic": "string",
"english": "string",
"notes": "string (optional)"
}{
"past": {
"singular": {
"first": "string",
"secondMasculine": "string",
"secondFeminine": "string",
"thirdMasculine": "string",
"thirdFeminine": "string"
},
"plural": {
"first": "string",
"second": "string",
"thirdMasculine": "string",
"thirdFeminine": "string"
}
},
"present": {
"singular": {
"first": "string",
"secondMasculine": "string",
"secondFeminine": "string",
"thirdMasculine": "string",
"thirdFeminine": "string"
},
"plural": {
"first": "string",
"second": "string",
"thirdMasculine": "string",
"thirdFeminine": "string"
}
},
"imperative": {
"singular": {
"masculine": "string",
"feminine": "string"
},
"plural": "string"
} (optional),
"verbalNoun": "string (optional)",
"activeParticiple": "string (optional)",
"passiveParticiple": "string (optional)"
}This section provides structured information for Large Language Models (LLMs) to understand and integrate with our API.
Need help or have questions about the API? Contact us for support.