# URL 집합의 전체 페이지 콘텐츠를 추출합니다.

**API:** Data API

**Endpoint:** `POST /v1/beta/exa/contents`

**Tags:** Exa

이미 보유한 URL의 페이지 텍스트와 메타데이터를 가져옵니다. `ids`는 필수이며 `post_exa_search`의 `id` 값을 받습니다. 이 값은 일반 URL이므로 어떤 URL이든 작동합니다. `text`, `highlights`, `summary`, `subpages`, `livecrawl`을 토글하세요. `id`, `title`, `url`, `author`, `text`가 포함된 `results[]`와 함께 **URL별 `status`와 `source`를 제공하는 `statuses[]` 배열**을 반환합니다. 가져오지 못한 URL은 예외를 발생시키지 않고 여기에 보고되므로 반드시 확인하세요. 캐시된 결과는 즉시 제공되며, 캐시에 없으면 실시간 크롤링으로 대체됩니다. URL 목록이 아니라 사이트 전체가 필요하면 `post_firecrawl_crawl`을 사용하세요.

### 가격 참고

- 과금 기준: 보고된 응답 비용.
- 참고 요청 추정치: USD 0.002.
- 참고 고객 배수: 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": {
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "콘텐츠를 가져올 URL(또는 Exa 결과 ID)입니다.",
      "example": [
        "https://example.com/article"
      ]
    },
    "text": {
      "type": "boolean",
      "description": "전체 페이지 텍스트를 반환합니다."
    },
    "highlights": {
      "type": "boolean",
      "description": "관련성 높은 스니펫을 강조 표시하여 반환합니다."
    },
    "summary": {
      "type": "boolean",
      "description": "AI가 생성한 페이지 요약을 반환합니다."
    },
    "subpages": {
      "type": "integer",
      "description": "함께 가져올 연결된 하위 페이지 수입니다."
    },
    "livecrawl": {
      "type": "string",
      "enum": [
        "always",
        "fallback",
        "never"
      ],
      "description": "신선도 정책: 항상 라이브 크롤링, 캐시 미스 시 라이브 크롤링으로 폴백, 또는 라이브 크롤링 안 함."
    },
    "stream": {
      "default": false,
      "enum": [
        false
      ],
      "type": "boolean"
    }
  },
  "required": [
    "ids"
  ]
}
```

## Responses

### 200 — 콘텐츠를 가져왔습니다.

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

**application/json**

Schema: object

```json
{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "publishedDate": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "highlights": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string"
          }
        }
      }
    }
  }
}
```

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

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

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

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

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

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

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

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

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

**application/json**

Schema:

```json
{}
```
