# Извлечение полного содержимого страниц для набора URL.

**API:** Data API

**Endpoint:** `POST /v1/beta/exa/contents`

**Tags:** Exa

Получает текст страниц и метаданные для уже известных URL. `ids` обязателен и принимает значения `id` из `post_exa_search` — это обычные URL, поэтому подойдёт любой URL. Переключайте `text`, `highlights`, `summary`, `subpages` и `livecrawl`. Возвращает `results[]` с `id`, `title`, `url`, `author` и `text`, а также **массив `statuses[]` с `status` и `source` для каждого URL** — читайте его, потому что URL, который не удалось получить, сообщается там, а не вызывает исключение. Кэшированные результаты отдаются мгновенно; при промахе выполняется живой обход. Для всего сайта, а не списка URL, используйте `post_firecrawl_crawl`.

### Справочная информация о ценах

- Тарификация: заявленная стоимость ответа.
- Справочная оценка запроса: USD 0.002.
- Справочный множитель для клиента: 1.0. Не применяйте его повторно к уже рассчитанной сумме клиента.

Только справочные метаданные, а не котировка для аккаунта, гарантированная цена или лимит расходов. Кредиты ресурсов — не кредиты Felo. Итоговые списания определяются записями биллинга Felo.

## Base URL

- `https://openapi.felo.ai`

## Authentication

- `FeloBearerAuth` (http bearer, bearer format Felo API Key)
- `FeloApiKey` (apiKey in header `X-API-Key`)

## Request body

Required: **yes**

### application/json

Schema:

```json
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "URL-адреса (или идентификаторы результатов Exa), для которых нужно получить содержимое.",
      "example": [
        "https://example.com/article"
      ]
    },
    "text": {
      "type": "boolean",
      "description": "Возвращать полный текст страницы."
    },
    "highlights": {
      "type": "boolean",
      "description": "Возвращать выделенные релевантные фрагменты."
    },
    "summary": {
      "type": "boolean",
      "description": "Возвращать сгенерированное ИИ резюме страницы."
    },
    "subpages": {
      "type": "integer",
      "description": "Количество связанных подстраниц, которые также нужно получить."
    },
    "livecrawl": {
      "type": "string",
      "enum": [
        "always",
        "fallback",
        "never"
      ],
      "description": "Политика актуальности: всегда обходить вживую, переходить к живому обходу при промахе кеша или никогда не обходить вживую."
    },
    "stream": {
      "default": false,
      "enum": [
        false
      ],
      "type": "boolean"
    }
  },
  "required": [
    "ids"
  ]
}
```

## Responses

### 200 — Содержимое успешно получено.

Headers:
- `X-Request-Id` (string) — Идентификатор запроса, который нужно указать при обращении в поддержку Felo.

**application/json**

Schema: object

```json
{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "publishedDate": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "highlights": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string"
          }
        }
      }
    }
  }
}
```

### 400 — Запрос не удалось обработать. Проверьте параметры запроса.

### 401 — Требуется действительный API-ключ Felo.

### 402 — Запрос не может быть выполнен: не выполнено требование биллинга.

### 403 — Аккаунту не разрешено выполнять эту операцию.

### 429 — Достигнут лимит запросов или расходов.

### 502 — Сервис не смог выполнить запрос.

### 503 — API или сервис биллинга временно недоступны.

### 504 — Истекло время ожидания обработки запроса.

### default — Ответ с ошибкой; сквозные ответы upstream могут использовать форматы провайдера

**application/json**

Schema:

```json
{}
```
