# Tavily Crawl을 사용하는 그래프 기반 웹사이트 탐색 도구입니다.

**API:** Data API

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

**Tags:** Web Content

루트 `url`에서 사이트를 탐색하고 발견한 페이지의 콘텐츠를 반환합니다. 자연어 `instructions`와 정규식 경로 및 도메인 필터로 방향을 지정하고, `max_depth`, `max_breadth`, `limit`으로 범위를 제한합니다. `base_url`과 `url`, `raw_content`가 포함된 `results[]`를 반환합니다. 문서, 카탈로그, 경쟁사 블로그 등 한 사이트를 폭넓게 다룰 때 사용하세요. 이 엔드포인트는 동기적으로 응답하며, `post_firecrawl_crawl`은 그렇지 않습니다. 후자는 백그라운드 작업으로 실행되며 기다리기에는 너무 큰 크롤링에 적합합니다.

### 가격 참고

- 과금 기준: 측정된 응답 단위.
- 참고 요청 추정치: USD 0.024.
- 단위 원가 기준: USD 0.008.
- 리소스 단위: `tavily_credit`.
- 참고 고객 배수: 1.0. 정산된 고객 금액에 다시 적용하지 마세요.
- 원가 기준은 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": "특정 경로 패턴이 있는 URL만 선택할 정규식 패턴입니다."
    },
    "select_domains": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "특정 도메인이나 하위 도메인으로 크롤링하도록 선택할 정규식 패턴입니다."
    },
    "exclude_paths": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "특정 경로 패턴이 있는 URL을 제외할 정규식 패턴입니다."
    },
    "exclude_domains": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "크롤링에서 특정 도메인이나 하위 도메인을 제외할 정규식 패턴입니다."
    },
    "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을 포함합니다."
    },
    "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입니다."
          }
        }
      }
    },
    "response_time": {
      "type": "number",
      "format": "float",
      "description": "요청을 완료하는 데 걸린 시간(초)입니다."
    },
    "usage": {
      "type": "object",
      "properties": {
        "credits": {
          "type": "integer",
          "description": "요청의 크레딧 사용 세부 정보입니다."
        }
      }
    },
    "request_id": {
      "type": "string",
      "description": "고유 요청 식별자입니다."
    }
  }
}
```

### 400 — 요청을 처리할 수 없습니다. 요청 매개변수를 확인하세요.

### 401 — 유효한 Felo API 키가 필요합니다.

### 402 — 청구 요건이 충족되지 않아 요청을 진행할 수 없습니다.

### 403 — 이 계정에는 이 작업을 수행할 권한이 없습니다.

### 429 — 요청 또는 지출 한도에 도달했습니다.

### 502 — 서비스가 요청을 완료할 수 없습니다.

### 503 — API 또는 청구 서비스를 일시적으로 사용할 수 없습니다.

### 504 — 요청을 처리하는 동안 서비스 시간이 초과되었습니다.

### default — 오류 응답. 업스트림 패스스루 응답은 공급자 형식을 사용할 수 있습니다.

**application/json**

Schema:

```json
{}
```
