Urantia Papers API
Free, open REST API for structured access to all 197 papers, 1,626 sections, and 14,500+ paragraphs of the Urantia Book — with full-text search and multi-voice audio narration.Base URL
Capabilities
- Search the full text of the Urantia Book with ranked results
- Retrieve any paragraph by reference in three auto-detected ID formats
- Browse the table of contents, papers, and sections
- Get context around a paragraph for RAG applications
- Access audio narration with multiple TTS models and voices
- Generate typed clients from the OpenAPI spec at
/openapi.json
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /toc | Full table of contents (parts and papers) |
| GET | /papers | List all 197 papers with metadata |
| GET | /papers/:id | Single paper with all paragraphs |
| GET | /papers/:id/sections | Sections within a paper |
| GET | /paragraphs/random | Random paragraph |
| GET | /paragraphs/:ref | Paragraph by any ID format |
| GET | /paragraphs/:ref/context?window=3 | Paragraph with surrounding context (window: 1-10) |
| POST | /search | Full-text search with pagination |
| POST | /search/semantic | Semantic similarity search using vector embeddings |
| GET | /audio/:paragraphId | Audio URLs for a paragraph |
Paragraph Reference Formats
The API accepts three reference formats — auto-detected from the string:| Format | Example | Structure |
|---|---|---|
| globalId | 1:2.0.1 | partId:paperId.sectionId.paragraphId |
| standardReferenceId | 2:0.1 | paperId:sectionId.paragraphId |
| paperSectionParagraphId | 2.0.1 | paperId.sectionId.paragraphId |
Workflows
Search and retrieve passages
POST /searchwith{"q": "your query", "type": "and", "limit": 10}- Use
standardReferenceIdfrom each result to fetch context GET /paragraphs/:ref/context?window=3for surrounding paragraphs
RAG pipeline (recommended)
GET /toc— understand the book structurePOST /search— find relevant passages for the user’s questionGET /paragraphs/:ref/context?window=3— expand each result with surrounding paragraphs- Feed the collected passages as context to your LLM
Browse and read
GET /toc— get the full table of contentsGET /papers/:id— read an entire paperGET /papers/:id/sections— get sections within a paper
Get audio for a passage
- Look up a paragraph via
GET /paragraphs/:ref - The response includes an
audiofield with URLs keyed by model and voice - Or use
GET /audio/:paragraphIdfor just the audio data
Search
Request body forPOST /search:
and(default) — all words must appear. Best for specific queries.or— any word can appear. Best for broad exploration.phrase— exact phrase match. Best for quoting specific text.
paperId (0-196) and partId (1-5) narrow the scope.
Audio
Every paragraph has audio narration. Theaudio field is a nested object keyed by model and voice:
tts-1-hd, tts-1. Voices: nova, echo, onyx, alloy, fable, shimmer. Full coverage with tts-1-hd/nova.
Book Structure
The Urantia Book contains 197 papers organized in four parts plus a Foreword:- Foreword — Paper 0
- Part I: The Central and Superuniverses — Papers 1-31
- Part II: The Local Universe — Papers 32-56
- Part III: The History of Urantia — Papers 57-119
- Part IV: The Life and Teachings of Jesus — Papers 120-196
Constraints
- Rate limit: 100 requests/minute per IP (429 response if exceeded)
- All responses are JSON
- The
/paragraphs/randomendpoint is never cached; all other endpoints are CDN-cached - Response envelope:
{ data, meta: { page, limit, total, totalPages } }for paginated endpoints
Documentation
- Interactive docs: https://api.urantia.dev/docs (Swagger UI)
- Full documentation: https://urantia.dev
- OpenAPI 3.1 spec: https://api.urantia.dev/openapi.json