---
title: "Semantic search across the world religions texts"
method: POST
path: "/scriptures/search/semantic"
tags: ["Scriptures"]
---

# Semantic search across the world religions texts

`POST /scriptures/search/semantic`

## Request

- Base URL: `https://api.urantia.dev`
- URL: `https://api.urantia.dev/scriptures/search/semantic`
- Auth: none required

Natural-language search across every scripture chunk, or one corpus with `corpus`. Each result carries its top Urantia paragraphs (`urantiaParallelLimit`, 0 to 10, default 3). The query is embedded with `text-embedding-3-small` and matched with a pgvector HNSW index.

**These are semantic parallels, not curated ones.** They show the passages closest in meaning by embedding similarity. They do not claim that two teachings are the same.

## Request body

- object
  - `q` string, required
  - `corpus` string: Corpus id, slug, or ref prefix, e.g. `bhagavad-gita`, `bg`, or `dhammapada`
  - `page` integer
  - `limit` integer
  - `urantiaParallelLimit` integer

## Response `200`

Search results

- object
  - `data` object[], required
    - `chunkId` string, required
    - `reference` string, required
    - `corpus` object, required
      - `id` string, required
      - `slug` string, required
      - `religion` string, required
      - `title` string, required
      - `translator` string, required
      - `year` integer, required
      - `refPrefix` string, required
      - `urantiaSection` string, nullable, required: The Paper 131 section headed with this religion, or null when Paper 131 has no such heading
    - `text` string, required
    - `similarity` number, required
    - `urantiaParallels` object[], required
      - `id` string, required
      - `standardReferenceId` string, required
      - `paperId` string, required
      - `paperTitle` string, required
      - `sectionTitle` string, nullable, required
      - `text` string, required
      - `similarity` number, required
      - `rank` integer, required
  - `meta` object, required
    - `page` integer, required
    - `limit` integer, required
    - `total` integer, required
    - `totalPages` integer, required

## Other responses

- `400`: Invalid request
- `429`: Too many requests
- `500`: Internal server error

## Changes

- **2026-10-07** `802a1007bb68`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/urantia/apis/urantia-papers-api/changes/scriptures/search/semantic/post.md)

---

[API](https://skmtc.dev/urantia/apis/urantia-papers-api.md) - [All operations](https://skmtc.dev/urantia/apis/urantia-papers-api/llms.txt) - [OpenAPI document](https://skmtc.dev/urantia/apis/urantia-papers-api/revisions/d046ecd9b449?raw)
