# 웹 검색

웹 페이지를 찾아 제목, 링크, 스니펫을 반환합니다.

웹을 검색하고 애플리케이션이 처리할 수 있는 소스 페이지를 받으세요. 소스가 포함된 생성형 답변이 필요하면 [Chat](https://openapi.felo.ai/ko/docs/data-api/guides/felo-chat.md)을 사용하세요.

모든 예시는 [개요](https://openapi.felo.ai/ko/docs/data-api/guides/felo-overview.md)의 `FELO_API_KEY`를 사용합니다. 호출은 Felo Pro 크레딧이 아니라 **플랫폼 잔액**을 사용합니다. 응답 예시는 설명용이며, 실제 콘텐츠와 선택적 필드는 달라질 수 있습니다.

## 엔드포인트

`POST /api/v1/data/web/search`

## 요청

| 필드 | 유형 | 필수 | 의미 |
|---|---|---|---|
| `query` | string | 예 | 검색 쿼리, 1–4,000자 |
| `count` | integer | 아니오 | 요청된 결과 수, 1–50; 기본값 10 |

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/web/search" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"retrieval augmented generation","count":3}'
```

## 응답

HTTP 200은 JSON 루트에서 결과를 반환합니다:

```json
{
  "resources": [
    {"title":"Example guide","link":"https://example.com/guide","snippet":"An introduction to retrieval augmented generation."}
  ],
  "total": 1
}
```

| 필드 | 의미 |
|---|---|
| `resources` | 반환된 페이지; 각 항목에는 `title`, `link`, `snippet`이 있음 |
| `total` | 반환된 리소스 수이며, 인터넷 전체의 페이지 수가 아님 |

`count`는 요청한 수일 뿐, 일치하는 결과가 충분히 존재한다는 보장은 아닙니다. 이 엔드포인트에는 cursor 매개변수가 없습니다. 소스를 전체로 읽으려면 그 `link`를 [웹 읽기](https://openapi.felo.ai/ko/docs/data-api/guides/felo-web-read.md)에 전달하세요.

## 청구 및 실패

청구 단위는 반환된 페이지 1개가 아니라 요청 1건(`web.search`)입니다. [현재 가격](https://openapi.felo.ai/api/v1/data/prices)을 확인하세요. 잔액 또는 할당량 오류는 빈 성공 결과와 별도로 처리해야 합니다. [청구 및 오류](https://openapi.felo.ai/ko/docs/data-api/guides/felo-billing.md)를 참조하세요.
