# URL의 깔끔한 구조적 콘텐츠를 가져옵니다.

**API:** Data API

**Endpoint:** `POST /v1/beta/byteplus/fetch`

**Tags:** BytePlus

단일 URL을 가져와 제목, 본문 텍스트, 게시 시간이 포함된 깔끔한 구조적 페이지 콘텐츠를 반환합니다. `Url`은 필수입니다. 응답은 `ResponseMetadata.RequestId`와 파싱된 콘텐츠를 담은 `Result` 객체를 감쌉니다. 이미 보유한 URL의 전체 페이지 콘텐츠를 추출할 때 사용하며, 일반적으로 `post_byteplus_web_search` 결과와 함께 사용합니다.

### 가격 참고

- 과금 방식: 성공한 요청당 고정 원가 기준.
- 참조 요청 추정치: USD 0.0008.
- 참조 고객 배수: 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": "https://example.com"
    }
  },
  "required": [
    "Url"
  ]
}
```

Example:

```json
{
  "Url": "https://example.com"
}
```

## Responses

### 200 — 가져오기에 성공했습니다. `Result`에 구조화된 페이지 콘텐츠가 들어 있습니다.

Headers:
- `X-Request-Id` (string) — Felo 지원팀에 문의할 때 포함할 요청 식별자입니다.

**application/json**

Schema: object

```json
{
  "type": "object",
  "properties": {
    "ResponseMetadata": {
      "type": "object",
      "description": "업스트림 요청 메타데이터입니다.",
      "properties": {
        "RequestId": {
          "type": "string",
          "description": "이 요청의 고유 식별자입니다."
        },
        "Action": {
          "type": "string"
        },
        "Version": {
          "type": "string"
        },
        "Service": {
          "type": "string"
        },
        "Region": {
          "type": "string"
        }
      }
    },
    "Result": {
      "type": "object",
      "description": "가져오기 결과 페이로드입니다.",
      "properties": {
        "Data": {
          "type": "object",
          "description": "구조화된 페이지 콘텐츠입니다.",
          "properties": {
            "StatusCode": {
              "type": "integer",
              "description": "가져온 페이지의 HTTP 상태 코드입니다."
            },
            "Url": {
              "type": "string",
              "description": "가져온 URL입니다."
            },
            "Title": {
              "type": "string",
              "description": "페이지 제목입니다."
            },
            "PublishTime": {
              "type": "integer",
              "description": "감지된 게시 시간입니다(Unix 초, 알 수 없으면 0)."
            },
            "ContentText": {
              "type": "string",
              "description": "페이지에서 추출한 정제된 본문 텍스트입니다."
            }
          }
        },
        "LogId": {
          "type": "string",
          "description": "업스트림 로그 id입니다(ResponseMetadata.RequestId와 동일)."
        }
      }
    }
  }
}
```

Example:

```json
{
  "ResponseMetadata": {
    "RequestId": "20260904155514D7EA140BFD77348BC3FC",
    "Action": "",
    "Version": "",
    "Service": "",
    "Region": ""
  },
  "Result": {
    "Data": {
      "StatusCode": 200,
      "Url": "https://example.com",
      "Title": "Example Domain",
      "PublishTime": 0,
      "ContentText": "This domain is for use in documentation examples without needing permission. Avoid use in operations.\nLearn more"
    },
    "LogId": "20260904155514D7EA140BFD77348BC3FC"
  }
}
```

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

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

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

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

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

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

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

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

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

**application/json**

Schema:

```json
{}
```
