# Инструмент обхода сайтов на основе графа с использованием Tavily Crawl.

**API:** Data API

**Endpoint:** `POST /v1/beta/tavily/crawl`

**Tags:** Web Content

Обходит сайт от корневого `url` и возвращает содержимое найденных страниц. Управляйте обходом с помощью `instructions` на естественном языке и фильтров путей и доменов на регулярных выражениях, а ограничивайте его через `max_depth`, `max_breadth` и `limit`. Возвращает `base_url` и `results[]` с `url` и `raw_content`. Используйте для широкого охвата одного сайта — документации, каталога, блога конкурента. Отвечает синхронно, в отличие от `post_firecrawl_crawl`: тот выполняется как фоновая задача и подходит для обходов, которые слишком велики, чтобы их ждать.

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

- Тарификация: тарифицируемые единицы ответа.
- Справочная оценка запроса: USD 0.024.
- Базовая стоимость единицы: USD 0.008.
- Единица ресурса: `tavily_credit`.
- Справочный множитель для клиента: 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": {
    "url": {
      "type": "string",
      "description": "Корневой URL для начала обхода.",
      "example": "docs.tavily.com"
    },
    "instructions": {
      "type": "string",
      "description": "Инструкции для краулера на естественном языке."
    },
    "chunks_per_source": {
      "type": "integer",
      "default": 3,
      "description": "Максимальное количество релевантных чанков, возвращаемых на источник.",
      "minimum": 1,
      "maximum": 5
    },
    "max_depth": {
      "type": "integer",
      "default": 1,
      "description": "Максимальная глубина обхода.",
      "minimum": 1,
      "maximum": 5
    },
    "max_breadth": {
      "type": "integer",
      "default": 20,
      "description": "Максимальное количество ссылок для перехода на каждом уровне дерева.",
      "minimum": 1,
      "maximum": 500
    },
    "limit": {
      "type": "integer",
      "default": 50,
      "description": "Общее количество ссылок, которые краулер обработает до остановки.",
      "minimum": 1
    },
    "select_paths": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Regex-шаблоны для выбора только URL с определёнными шаблонами путей."
    },
    "select_domains": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Regex-шаблоны для выбора обхода только конкретных доменов или поддоменов."
    },
    "exclude_paths": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Regex-шаблоны для исключения URL с определёнными шаблонами путей."
    },
    "exclude_domains": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Regex-шаблоны для исключения конкретных доменов или поддоменов из обхода."
    },
    "allow_external": {
      "type": "boolean",
      "default": true,
      "description": "Включать ссылки на внешние домены в итоговый список результатов."
    },
    "include_images": {
      "type": "boolean",
      "default": false,
      "description": "Включать изображения в результаты обхода."
    },
    "extract_depth": {
      "type": "string",
      "enum": [
        "basic",
        "advanced"
      ],
      "default": "basic",
      "description": "Глубина процесса извлечения."
    },
    "format": {
      "type": "string",
      "enum": [
        "markdown",
        "text"
      ],
      "default": "markdown",
      "description": "Формат извлечённого содержимого веб-страницы."
    },
    "include_favicon": {
      "type": "boolean",
      "default": false,
      "description": "Включать URL favicon для каждого результата."
    },
    "timeout": {
      "type": "number",
      "format": "float",
      "default": 150,
      "description": "Максимальное время ожидания операции обхода в секундах.",
      "minimum": 10,
      "maximum": 150
    },
    "include_usage": {
      "type": "boolean",
      "default": false,
      "description": "Включать сведения об использовании кредитов в ответ."
    }
  },
  "required": [
    "url"
  ]
}
```

## Responses

### 200 — Результаты обхода успешно возвращены.

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

**application/json**

Schema: object

```json
{
  "type": "object",
  "properties": {
    "base_url": {
      "type": "string",
      "description": "Базовый URL, который был обойдён."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "URL обойдённой страницы."
          },
          "raw_content": {
            "type": "string",
            "description": "Необработанный контент, извлечённый со страницы."
          },
          "favicon": {
            "type": "string",
            "description": "URL favicon обойдённой страницы."
          }
        }
      }
    },
    "response_time": {
      "type": "number",
      "format": "float",
      "description": "Время выполнения запроса в секундах."
    },
    "usage": {
      "type": "object",
      "properties": {
        "credits": {
          "type": "integer",
          "description": "Сведения об использовании кредитов для запроса."
        }
      }
    },
    "request_id": {
      "type": "string",
      "description": "Уникальный идентификатор запроса."
    }
  }
}
```

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

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

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

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

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

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

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

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

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

**application/json**

Schema:

```json
{}
```
