# Отправка асинхронной задачи обхода.

**API:** Data API

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

**Tags:** Firecrawl

Отправляет асинхронный обход сайта. Укажите url и limit; при необходимости задокументированные параметры обхода и скрапинга. Idempotency-Key обязателен. HTTP 202 возвращает задачу; используйте её id с соответствующим эндпоинтом опроса Felo, пока она не станет completed, failed или cancelled. Поля цен задачи — это метаданные авторизации и расчётов провайдера, а не записи биллинга Felo.

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

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

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

## Base URL

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

## Authentication

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

## Parameters

| Name | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `Idempotency-Key` | header | yes | string | Длина UTF-8 после обрезки пробелов должна составлять от 1 до 191 байта. |

## Request body

Required: **yes**

### application/json

Schema:

```json
{
  "additionalProperties": false,
  "properties": {
    "allowExternalLinks": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "allowSubdomains": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "crawlEntireDomain": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "delay": {
      "maximum": 30,
      "minimum": 0,
      "type": [
        "number",
        "null"
      ]
    },
    "excludePaths": {
      "items": {
        "description": "Непустое после удаления пробелов; без CR/LF; длина в байтах UTF-8 ограничена. Максимальная длина UTF-8: 256 байт.",
        "pattern": "^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])",
        "type": "string"
      },
      "maxItems": 20,
      "type": [
        "array",
        "null"
      ]
    },
    "ignoreQueryParameters": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "includePaths": {
      "items": {
        "description": "Непустое после удаления пробелов; без CR/LF; длина в байтах UTF-8 ограничена. Максимальная длина UTF-8: 256 байт.",
        "pattern": "^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])",
        "type": "string"
      },
      "maxItems": 20,
      "type": [
        "array",
        "null"
      ]
    },
    "limit": {
      "maximum": 1000,
      "minimum": 1,
      "type": "integer"
    },
    "maxConcurrency": {
      "maximum": 20,
      "minimum": 1,
      "type": [
        "integer",
        "null"
      ]
    },
    "maxDiscoveryDepth": {
      "maximum": 10,
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "scrapeOptions": {
      "additionalProperties": false,
      "properties": {
        "excludeTags": {
          "items": {
            "description": "Непустое после удаления пробелов; без CR/LF; длина в байтах UTF-8 ограничена. Максимальная длина UTF-8: 128 байт.",
            "pattern": "^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])",
            "type": "string"
          },
          "maxItems": 50,
          "type": [
            "array",
            "null"
          ]
        },
        "includeTags": {
          "items": {
            "description": "Непустое после удаления пробелов; без CR/LF; длина в байтах UTF-8 ограничена. Максимальная длина UTF-8: 128 байт.",
            "pattern": "^[^\\r\\n]*\\S[^\\r\\n]*$(?![\\s\\S])",
            "type": "string"
          },
          "maxItems": 50,
          "type": [
            "array",
            "null"
          ]
        },
        "maxAge": {
          "maximum": 31536000000,
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "minAge": {
          "maximum": 31536000000,
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "onlyMainContent": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "timeout": {
          "maximum": 300000,
          "minimum": 1000,
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    },
    "sitemap": {
      "enum": [
        null,
        "skip",
        "include",
        "only"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "url": {
      "description": "HTTPS URL с именем хоста, без учётных данных и фрагмента. Входные данные после удаления пробелов, заканчивающиеся на .pdf (без учёта регистра), не поддерживаются.",
      "pattern": "^\\s*[hH][tT][tT][pP][sS]://",
      "type": "string"
    }
  },
  "required": [
    "url",
    "limit"
  ],
  "type": "object"
}
```

Example:

```json
{
  "url": "https://example.com",
  "limit": 1
}
```

## Responses

### 202 — Успех

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

**application/json**

Schema: object

```json
{
  "properties": {
    "completedAt": {
      "format": "date-time",
      "type": [
        "string",
        "null"
      ]
    },
    "createdAt": {
      "format": "date-time",
      "type": [
        "string",
        "null"
      ]
    },
    "endpoint": {
      "type": [
        "string",
        "null"
      ],
      "description": "Идентификатор операции провайдера; для опроса используйте документированный путь задачи Felo."
    },
    "error": {
      "properties": {
        "code": {
          "type": [
            "string",
            "null"
          ]
        },
        "message": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    },
    "id": {
      "type": [
        "string",
        "null"
      ]
    },
    "object": {
      "const": "integration_async_job",
      "type": "string"
    },
    "output": {},
    "outputExpired": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "pricing": {
      "properties": {
        "authorizedMicrosUSD": {
          "type": [
            "integer",
            "null"
          ]
        },
        "billingMode": {
          "type": [
            "string",
            "null"
          ]
        },
        "currency": {
          "type": [
            "string",
            "null"
          ]
        },
        "finalMicrosUSD": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ],
      "description": "Метаданные авторизации и расчётов провайдера в микро-USD; это не баланс Felo, не удержание и не квитанция об оплате."
    },
    "status": {
      "enum": [
        "queued",
        "running",
        "completed",
        "failed",
        "cancelled"
      ],
      "type": "string"
    }
  },
  "required": [
    "completedAt",
    "createdAt",
    "endpoint",
    "error",
    "id",
    "object",
    "output",
    "pricing",
    "status"
  ],
  "type": "object"
}
```

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

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

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

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

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

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

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

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

### default — Операция завершилась ошибкой. Сохраните ID запроса из ответа при обращении в поддержку Felo.
