---
search:
  tags:
    - Passages
    - GET
seo:
  description: >-
    Returns a passage by ID, with up to radius neighbouring passages on each
    side, in reading order. Neighbours carry their own IDs, so you can keep
    reading from…
sidebar:
  label: Read a passage
  badge: GET
title: Read a passage
type: openapi-operation
---
Returns a passage by ID, with up to `radius` neighbouring passages on each side, in reading order. Neighbours carry their own IDs, so you can keep reading from either end.

`GET /passages/{id}`

URL: `https://api.qaf.ai/v1/passages/{id}`

**Parameters**

- `id` (path, string<uuid>, required) — A passage ID from search results or from another passage's neighbours.
- `radius` (query, integer, 0–5, default `0`) — Neighbouring passages to include on each side.
- `locale` (query, string, one of `ar`, `en`, default `en`) — Language for book and author names; Arabic names are always included.

**Responses**

- `200` — The passage and its neighbours.
- `401` — The API key is missing, invalid or revoked.
- `403` — The key's account can't use the API.
- `404` — No passage has this ID.
- `422` — A field is invalid. data.fieldErrors lists the problems by field.
- `429` — Too many requests; data.reason says which limit was reached. For minute, the account's requests per minute, retry after Retry-After seconds. For day, the account's daily search cap, Retry-After is the time until the cap resets. For invalid\_keys, the key doesn't exist or was revoked and this address has sent too many such keys, so fix the key rather than retrying. The X-RateLimit headers describe the account's minute window, so an invalid\_keys refusal, which comes before any key is known, has none.
- `500` — Something went wrong on our side.
- `503` — Qaf could not complete the request in time, or a service it relies on is unavailable. Retry shortly.

Response example, 200:

```json
{
  "id": "d9335f69-e54b-59ae-a78c-50db734b8d50",
  "title": "Fayd al-Qadir — Abd al-Rauf al-Munawi, vol. 4, p. 233",
  "url": "https://app.turath.io/book/21660?print_page=4%2C233",
  "text": "… ٥١٣٤ - (الصبر) الكثير الثواب: الصبر (عند أول صدمة) أي عند فورة المصيبة …",
  "pages": [
    {
      "vol": "4",
      "page": 233
    },
    {
      "vol": "4",
      "page": 234
    }
  ],
  "book": {
    "id": "31f522f9-b85c-5c78-a8ff-dc48ebce183c",
    "title": "Fayd al-Qadir",
    "titleArabic": "فيض القدير"
  },
  "author": {
    "id": 423,
    "name": "Abd al-Rauf al-Munawi",
    "nameArabic": "عبد الرؤوف المناوي"
  },
  "versionId": 21660,
  "sequenceNumber": 4929,
  "before": [
    {
      "id": "0d4b07f3-22a9-596d-8c73-9cd01630967f",
      "title": "Fayd al-Qadir — Abd al-Rauf al-Munawi, vol. 4, p. 233",
      "url": "https://app.turath.io/book/21660?print_page=4%2C233",
      "text": "… وبالصبر يفتح كل باب مغلق …",
      "pages": [
        {
          "vol": "4",
          "page": 233
        }
      ],
      "book": {
        "id": "31f522f9-b85c-5c78-a8ff-dc48ebce183c",
        "title": "Fayd al-Qadir",
        "titleArabic": "فيض القدير"
      },
      "author": {
        "id": 423,
        "name": "Abd al-Rauf al-Munawi",
        "nameArabic": "عبد الرؤوف المناوي"
      },
      "versionId": 21660,
      "sequenceNumber": 4928
    }
  ],
  "after": [
    {
      "id": "e16a944f-0af5-51d8-9c75-6ac535d3c92a",
      "title": "Fayd al-Qadir — Abd al-Rauf al-Munawi, vol. 4, p. 234",
      "url": "https://app.turath.io/book/21660?print_page=4%2C234",
      "text": "… لأن الصبر يدخل في كل باب بل في كل مسألة من مسائل الدين …",
      "pages": [
        {
          "vol": "4",
          "page": 234
        }
      ],
      "book": {
        "id": "31f522f9-b85c-5c78-a8ff-dc48ebce183c",
        "title": "Fayd al-Qadir",
        "titleArabic": "فيض القدير"
      },
      "author": {
        "id": 423,
        "name": "Abd al-Rauf al-Munawi",
        "nameArabic": "عبد الرؤوف المناوي"
      },
      "versionId": 21660,
      "sequenceNumber": 4930
    }
  ]
}
```
