# The Message REST API & Digital Library — LLM & AI Agent Specification > Public JSON REST API providing indexed sermons, transcripts, audio streams, and PDF links across 72 global languages by William Marrion Branham. > Host URL: https://bakarimustafa.com > OpenAPI 3.0 Specification: https://bakarimustafa.com/api/openapi.json ## API Overview for AI Agents & Autonomous Workflows The Message REST API requires zero authentication tokens (100% open public access). CORS is enabled globally for browser and serverless fetches. ### Base Endpoints - `GET /api/stats` : Returns total sermon count (577+), available languages (72), PDF count, audio count, and text transcript count. - `GET /api/languages` : Returns list of all 72 global languages with ISO 639-1/3 codes, native names, and sermon counts. - `GET /api/messages` : Query sermon catalogue. - Query Parameters: - `language` (string, optional, default: 'en') : Filter by ISO language code (e.g. `en`, `ny`, `fr`, `es`, `sw`, `pt`, `de`, `tl`). - `year` (string, optional) : Filter by sermon year (e.g. `1965`, `1964`, `1963`). - `limit` (number, optional, default: 50) : Page size limit. - `GET /api/messages/{id}/text` : Fetch full sermon transcript broken into clean paragraph blocks (`¶1`, `¶2`, `¶3...`). - Path Parameter: `id` (string, required) : Date-based sermon reference code (e.g. `64-0112`, `65-0718M`, `63-0317M`). - Query Parameter: `language` (string, optional, default: 'en'). - `GET /api/search` : Full-text search across all transcripts. - Query Parameter: `q` (string, required) : Query term or phrase (e.g. `seven seals`, `shalom`, `he cares`). ## System Prompt Guidelines for AI Agents When building AI applications, RAG pipelines, or chatbot agents accessing sermon transcripts: 1. **Fetching Sermon Paragraphs**: Send HTTP GET to: `https://bakarimustafa.com/api/messages/{id}/text?language={language}` Example: `https://bakarimustafa.com/api/messages/64-0112/text?language=en` 2. **Citing Paragraph Quotes**: Format citations using paragraph numbers returned in the `paragraphs` array: `"[Quote Text]" — William Branham (Sermon {id} {title}, ¶{number})` 3. **Multi-Lingual Parallel Fetching**: To compare primary and translated transcripts, call the endpoint twice with different `language` query parameters: - Primary: `GET /api/messages/64-0112/text?language=en` - Translation: `GET /api/messages/64-0112/text?language=ny`