# OnPage API 콘텐츠 파싱

**API:** Data API

**Endpoint:** `POST /v1/beta/dataforseo/on_page/content_parsing`

**Tags:** DataForSEO

크롤링된 `url` 하나를 구조화된 콘텐츠로 파싱하며, Markdown 렌더링을 위한 `markdown_view`도 제공합니다. 완료된 크롤을 읽으므로 `post_dataforseo_on_page_submit`의 `id`가 필요하며, `crawl_progress`와 `max_crawl_pages`, `pages_in_queue`, `pages_crawled` 값의 `crawl_status`를 반환합니다. 결과가 적을 때 신뢰하기 전에 이를 확인하세요. 아직 실행 중인 크롤은 보고할 내용이 그만큼 적을 뿐입니다. 독립형 쌍둥이 `post_dataforseo_on_page_content_parsing_live`는 크롤 없이 모든 URL을 파싱하므로, 페이지가 이미 크롤에 속해 있지 않다면 그쪽을 사용하세요.

### 가격 참고

- 과금 기준: 보고된 응답 비용.
- 참고 요청 추정치: USD 0.012.
- 참고 고객 배수: 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: **no**

### application/json

Schema:

```json
{
  "type": "array",
  "items": {
    "type": [
      "object",
      "null"
    ],
    "oneOf": [
      {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "<em>파싱할 콘텐츠의 URL</em><br><strong>필수 필드</strong><br>파싱할 페이지의 URL<br>예:<br>`https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api`"
          },
          "id": {
            "type": "string",
            "description": "<em>작업 ID</em><br><strong>필수 필드</strong><br>이 ID는 <a href=\"/v3/on_page/task_post/\">Task POST</a> 엔드포인트의 응답에서 얻을 수 있습니다<br><strong>참고:</strong> POST 요청의 <code>enable_content_parsing</code> 매개변수를 <code>true</code>로 설정해야 합니다<br>예:<br><code>\"07131248-1535-0216-1000-17384017ad04\"</code>"
          },
          "markdown_view": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "<em>페이지 콘텐츠를 마크다운으로 반환</em><br>선택 필드<br><code>true</code>로 설정하면 페이지의 마크다운 형식 콘텐츠가 응답의 <code>page_as_markdown</code> 필드에 반환됩니다;<br>기본값: <code>false</code>"
          }
        },
        "example": [
          {
            "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api",
            "id": "11161551-1535-0216-0000-500b3f307f92"
          }
        ]
      }
    ]
  },
  "example": [
    {
      "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api",
      "id": "11161551-1535-0216-0000-500b3f307f92"
    }
  ]
}
```

## Responses

### 200 — 작업 성공

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

**application/json**

Schema: object | null

```json
{
  "type": [
    "object",
    "null"
  ],
  "oneOf": [
    {
      "$ref": "#/components/schemas/Response36Afe1097B20_OnPageContentParsingResponseInfo"
    }
  ]
}
```

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

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

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

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

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

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

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

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

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

**application/json**

Schema:

```json
{}
```

## Schema definitions

### Response36Afe1097B20_BaseResponseInfo

`#/components/schemas/Response36Afe1097B20_BaseResponseInfo`

```json
{
  "properties": {
    "version": {
      "type": [
        "string",
        "null"
      ],
      "description": "API의 현재 버전"
    },
    "status_code": {
      "type": [
        "integer",
        "null"
      ],
      "description": "일반 상태 코드입니다.\n응답 코드 전체 목록은 여기에서 확인할 수 있습니다."
    },
    "status_message": {
      "type": [
        "string",
        "null"
      ],
      "description": "일반 정보 메시지입니다.\n일반 정보 메시지 전체 목록은 여기에서 확인할 수 있습니다."
    },
    "time": {
      "type": [
        "string",
        "null"
      ],
      "description": "총 실행 시간(초)"
    },
    "cost": {
      "type": [
        "number",
        "null"
      ],
      "description": "전체 작업 비용, USD",
      "format": "double"
    },
    "tasks_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "tasks 배열의 작업 수",
      "format": "int64"
    },
    "tasks_error": {
      "type": [
        "integer",
        "null"
      ],
      "description": "오류와 함께 반환된 tasks 배열의 작업 수",
      "format": "int64"
    }
  }
}
```

### Response36Afe1097B20_BaseResponseTaskInfo

`#/components/schemas/Response36Afe1097B20_BaseResponseTaskInfo`

```json
{
  "properties": {
    "id": {
      "type": [
        "string",
        "null"
      ],
      "description": "작업 식별자\n시스템 내 고유 작업 식별자(UUID 형식)"
    },
    "status_code": {
      "type": [
        "integer",
        "null"
      ],
      "description": "작업의 상태 코드\nDataForSEO가 생성하며 10000-60000 범위일 수 있습니다.\n응답 코드 전체 목록은 여기에서 확인할 수 있습니다."
    },
    "status_message": {
      "type": [
        "string",
        "null"
      ],
      "description": "작업의 정보 메시지\n일반 정보 메시지 전체 목록은 여기에서 확인할 수 있습니다."
    },
    "time": {
      "type": [
        "string",
        "null"
      ],
      "description": "실행 시간, 초"
    },
    "cost": {
      "type": [
        "number",
        "null"
      ],
      "description": "전체 작업 비용, USD",
      "format": "double"
    },
    "result_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "result 배열의 요소 수",
      "format": "int64"
    },
    "path": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "URL 경로"
    },
    "data": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": {
        "type": [
          "object",
          "null"
        ]
      },
      "description": "POST 요청에 지정한 것과 동일한 매개변수를 포함합니다"
    }
  }
}
```

### Response36Afe1097B20_Contacts

`#/components/schemas/Response36Afe1097B20_Contacts`

```json
{
  "type": "object",
  "properties": {
    "telephones": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "<em>전화번호 배열</em><br>"
    },
    "emails": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "<em>이메일 배열</em><br>"
    }
  }
}
```

### Response36Afe1097B20_ContentCommentInfo

`#/components/schemas/Response36Afe1097B20_ContentCommentInfo`

```json
{
  "type": "object",
  "properties": {
    "rating": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_ContententRatingInfo"
        }
      ],
      "description": "제품 평점\n고객이 제품에 부여한 평점에 대한 정보를 포함합니다"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "고객 댓글 제목"
    },
    "publish_date": {
      "type": [
        "string",
        "null"
      ],
      "description": "댓글이 게시된 날짜"
    },
    "author": {
      "type": [
        "string",
        "null"
      ],
      "description": "댓글 작성자"
    },
    "have_form": {
      "type": [
        "boolean",
        "null"
      ],
      "description": ""
    },
    "primary_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_SectionContentItemInfo"
          }
        ]
      },
      "description": "페이지의 기본 콘텐츠\n콘텐츠 우선순위 계산에 대한 자세한 내용은 이 도움말 센터 문서에서 확인할 수 있습니다"
    }
  }
}
```

### Response36Afe1097B20_ContentOfferInfo

`#/components/schemas/Response36Afe1097B20_ContentOfferInfo`

```json
{
  "type": "object",
  "properties": {
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "제품 이름"
    },
    "price": {
      "type": [
        "number",
        "null"
      ],
      "description": "제품 가격",
      "format": "double"
    },
    "price_currency": {
      "type": [
        "string",
        "null"
      ],
      "description": "가격 통화"
    },
    "price_valid_until": {
      "type": [
        "string",
        "null"
      ],
      "description": "가격이 유효한 날짜와 시간을 표시합니다\nUTC 형식: “yyyy-mm-dd hh-mm-ss +00:00”\n예: \"2022-11-01 10:02:52 +00:00\""
    }
  }
}
```

### Response36Afe1097B20_ContentParsingElement

`#/components/schemas/Response36Afe1097B20_ContentParsingElement`

```json
{
  "type": "object",
  "properties": {
    "type": {
      "type": [
        "string",
        "null"
      ],
      "description": "요소 유형"
    },
    "fetch_time": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>콘텐츠를 가져온 날짜와 시간</em><br>예:<br><code>\"2022-11-01 10:02:52 +00:00\"</code>"
    },
    "status_code": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<i>일반 상태 코드</i><br>응답 코드 전체 목록은 <a href=\"/v3/appendix/errors\">여기</a>에서 확인할 수 있습니다<br><strong>참고:</strong> 관련 예외 또는 오류 조건을 처리하는 시스템을 반드시 설계할 것을 강력히 권장합니다"
    },
    "page_content": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_PageContentInfo"
        }
      ],
      "description": "<em>페이지의 파싱된 콘텐츠</em><br>"
    },
    "page_as_markdown": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>markdown 형식의 페이지 콘텐츠</em><br><a href=\"https://daringfireball.net/projects/markdown/\" target=\"_blank\">text-to-HTML markdown 형식</a>의 페이지 콘텐츠입니다<br>값을 반환하려면 요청에서 <code>markdown_view</code>를 <code>true</code>로 지정하세요"
    }
  }
}
```

### Response36Afe1097B20_ContentUrlInfo

`#/components/schemas/Response36Afe1097B20_ContentUrlInfo`

```json
{
  "type": "object",
  "properties": {
    "url": {
      "type": [
        "string",
        "null"
      ],
      "description": "콘텐츠 요소에서 발견된 다른 URL과 앵커를 포함합니다"
    },
    "anchor_text": {
      "type": [
        "string",
        "null"
      ],
      "description": "URL 앵커의 텍스트"
    }
  }
}
```

### Response36Afe1097B20_ContententRatingInfo

`#/components/schemas/Response36Afe1097B20_ContententRatingInfo`

```json
{
  "type": "object",
  "properties": {
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "평점 이름\n여기에서 다음 요소를 확인할 수 있습니다: Max5, Percents, CustomMax"
    },
    "rating_value": {
      "type": [
        "number",
        "null"
      ],
      "description": "평점 값",
      "format": "double"
    },
    "rating_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "투표 수",
      "format": "int64"
    },
    "max_rating_value": {
      "type": [
        "number",
        "null"
      ],
      "description": "평점 이름의 최댓값",
      "format": "double"
    },
    "relative_rating": {
      "type": [
        "number",
        "null"
      ],
      "description": "상대 평점",
      "format": "double"
    }
  }
}
```

### Response36Afe1097B20_CrawlStatusInfo

`#/components/schemas/Response36Afe1097B20_CrawlStatusInfo`

```json
{
  "type": "object",
  "properties": {
    "max_crawl_pages": {
      "type": [
        "integer",
        "null"
      ],
      "description": "크롤링할 최대 페이지 수\n작업을 설정할 때 지정한 max_crawl_pages 한도를 나타냅니다",
      "format": "int64"
    },
    "pages_in_queue": {
      "type": [
        "integer",
        "null"
      ],
      "description": "현재 크롤링 대기열에 있는 페이지 수",
      "format": "int64"
    },
    "pages_crawled": {
      "type": [
        "integer",
        "null"
      ],
      "description": "크롤링된 페이지 수",
      "format": "int64"
    }
  }
}
```

### Response36Afe1097B20_OnPageContentParsingResponseInfo

`#/components/schemas/Response36Afe1097B20_OnPageContentParsingResponseInfo`

```json
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Response36Afe1097B20_BaseResponseInfo"
    },
    {
      "type": "object",
      "properties": {
        "tasks": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": [
              "object",
              "null"
            ],
            "oneOf": [
              {
                "$ref": "#/components/schemas/Response36Afe1097B20_OnPageContentParsingTaskInfo"
              }
            ]
          },
          "description": "<em>작업 배열</em>"
        }
      }
    }
  ]
}
```

### Response36Afe1097B20_OnPageContentParsingResultInfo

`#/components/schemas/Response36Afe1097B20_OnPageContentParsingResultInfo`

```json
{
  "type": "object",
  "properties": {
    "crawl_progress": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>크롤링 세션 상태</em><br>            가능한 값: <code>in_progress</code>, <code>finished</code>"
    },
    "crawl_status": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_CrawlStatusInfo"
        }
      ],
      "description": "<em>크롤링 세션 세부 정보</em>"
    },
    "items_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>결과 배열의 항목 수</em><br>",
      "format": "int64"
    },
    "items": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_ContentParsingElement"
          }
        ]
      },
      "description": "<em>항목 배열</em><br>"
    }
  }
}
```

### Response36Afe1097B20_OnPageContentParsingTaskInfo

`#/components/schemas/Response36Afe1097B20_OnPageContentParsingTaskInfo`

```json
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Response36Afe1097B20_BaseResponseTaskInfo"
    },
    {
      "type": "object",
      "properties": {
        "result": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": [
              "object",
              "null"
            ],
            "oneOf": [
              {
                "$ref": "#/components/schemas/Response36Afe1097B20_OnPageContentParsingResultInfo"
              }
            ]
          },
          "description": "<em>결과 배열</em>"
        }
      }
    }
  ]
}
```

### Response36Afe1097B20_PageContentInfo

`#/components/schemas/Response36Afe1097B20_PageContentInfo`

```json
{
  "type": "object",
  "properties": {
    "header": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_PageSectionContentInfo"
        }
      ],
      "description": "<em>파싱된 헤더 콘텐츠</em><br>"
    },
    "footer": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_PageSectionContentInfo"
        }
      ],
      "description": "<em>표 하단의 콘텐츠</em><br>"
    },
    "main_topic": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TopicInfo"
          }
        ]
      },
      "description": "<em>페이지의 기본 주제</em><br>            주제 우선순위 계산에 대한 자세한 내용은 이 <a href=\"https://dataforseo.com/help-center/difference-between-primary-and-secondary-content#topics\" rel=\"noopener noreferrer\" target=\"_blank\">도움말 센터 문서</a>에서 확인할 수 있습니다<br>"
    },
    "secondary_topic": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TopicInfo"
          }
        ]
      },
      "description": "<em>페이지의 보조 주제</em><br>            주제 우선순위 계산에 대한 자세한 내용은 이 <a href=\"https://dataforseo.com/help-center/difference-between-primary-and-secondary-content#topics\" rel=\"noopener noreferrer\" target=\"_blank\">도움말 센터 문서</a>에서 확인할 수 있습니다<br>"
    },
    "ratings": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_ContententRatingInfo"
          }
        ]
      },
      "description": "<em>페이지에 표시되는 제품의 평점 정보를 담은 객체를 포함합니다</em><br>"
    },
    "offers": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_ContentOfferInfo"
          }
        ]
      },
      "description": "<em>페이지에 표시되는 제품 배열</em><br>            페이지에 표시되는 제품 정보를 담은 객체를 포함합니다"
    },
    "comments": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_ContentCommentInfo"
          }
        ]
      },
      "description": "<em>페이지에 표시되는 댓글 배열</em><br>            표시된 제품과 관련된 댓글 정보를 담은 객체를 포함합니다"
    },
    "contacts": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_Contacts"
        }
      ],
      "description": "<em>연락처 정보</em><br>            페이지에 표시되는 연락처 정보를 포함합니다"
    }
  }
}
```

### Response36Afe1097B20_PageSectionContentInfo

`#/components/schemas/Response36Afe1097B20_PageSectionContentInfo`

```json
{
  "type": "object",
  "properties": {
    "primary_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_SectionContentItemInfo"
          }
        ]
      },
      "description": "<em>페이지의 기본 콘텐츠</em><br>            콘텐츠 우선순위 계산에 대한 자세한 내용은 이 <a href=\"https://dataforseo.com/help-center/difference-between-primary-and-secondary-content\" rel=\"noopener noreferrer\" target=\"_blank\">도움말 센터 문서</a>에서 확인하세요<br>"
    },
    "secondary_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_SectionContentItemInfo"
          }
        ]
      },
      "description": "<em>페이지의 보조 콘텐츠</em><br>            콘텐츠 우선순위 계산에 대한 자세한 내용은 이 <a href=\"https://dataforseo.com/help-center/difference-between-primary-and-secondary-content\" rel=\"noopener noreferrer\" target=\"_blank\">도움말 센터 문서</a>에서 확인하세요<br>"
    },
    "table_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TableContentInfo"
          }
        ]
      },
      "description": "<em>페이지의 표 내용</em><br>"
    }
  }
}
```

### Response36Afe1097B20_RowCellInfo

`#/components/schemas/Response36Afe1097B20_RowCellInfo`

```json
{
  "type": "object",
  "properties": {
    "text": {
      "type": [
        "string",
        "null"
      ],
      "description": "헤더의 행 셀 내용"
    },
    "urls": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_ContentUrlInfo"
          }
        ]
      },
      "description": "콘텐츠 요소에서 발견된 다른 URL과 앵커를 포함합니다"
    },
    "is_header": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "헤더의 행 셀 내용"
    }
  }
}
```

### Response36Afe1097B20_SectionContentItemInfo

`#/components/schemas/Response36Afe1097B20_SectionContentItemInfo`

```json
{
  "type": "object",
  "properties": {
    "text": {
      "type": [
        "string",
        "null"
      ],
      "description": "페이지의 보조 콘텐츠\n콘텐츠 우선순위 계산에 대한 자세한 내용은 이 도움말 센터 문서에서 확인하세요"
    },
    "url": {
      "type": [
        "string",
        "null"
      ],
      "description": "페이지 URL.\n텍스트가 링크 앵커인 경우에 표시됩니다"
    },
    "urls": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_ContentUrlInfo"
          }
        ]
      },
      "description": "콘텐츠 요소에서 발견된 다른 URL과 앵커를 포함합니다"
    }
  }
}
```

### Response36Afe1097B20_TableContentInfo

`#/components/schemas/Response36Afe1097B20_TableContentInfo`

```json
{
  "type": "object",
  "properties": {
    "header": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TableContentItemInfo"
          }
        ]
      },
      "description": "파싱된 헤더 내용"
    },
    "body": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TableContentItemInfo"
          }
        ]
      },
      "description": "표 본문 내용"
    },
    "footer": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TableContentItemInfo"
          }
        ]
      },
      "description": "표 바닥글 내용"
    }
  }
}
```

### Response36Afe1097B20_TableContentItemInfo

`#/components/schemas/Response36Afe1097B20_TableContentItemInfo`

```json
{
  "type": "object",
  "properties": {
    "row_cells": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_RowCellInfo"
          }
        ]
      },
      "description": "헤더의 행 셀 내용"
    }
  }
}
```

### Response36Afe1097B20_TopicInfo

`#/components/schemas/Response36Afe1097B20_TopicInfo`

```json
{
  "type": "object",
  "properties": {
    "h_title": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>메타 제목</em><br>"
    },
    "main_title": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>  블록의 기본 제목</em><br>"
    },
    "author": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>콘텐츠 작성자 이름</em><br>"
    },
    "language": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>콘텐츠 언어</em><br>"
    },
    "level": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>HTML 수준</em><br>"
    },
    "primary_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_SectionContentItemInfo"
          }
        ]
      },
      "description": "<em>페이지의 기본 콘텐츠</em><br>            콘텐츠 우선순위 계산에 대한 자세한 내용은 이 <a href=\"https://dataforseo.com/help-center/difference-between-primary-and-secondary-content\" rel=\"noopener noreferrer\" target=\"_blank\">도움말 센터 문서</a>에서 확인하세요<br>"
    },
    "secondary_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_SectionContentItemInfo"
          }
        ]
      },
      "description": "<em>페이지의 보조 콘텐츠</em><br>            콘텐츠 우선순위 계산에 대한 자세한 내용은 이 <a href=\"https://dataforseo.com/help-center/difference-between-primary-and-secondary-content\" rel=\"noopener noreferrer\" target=\"_blank\">도움말 센터 문서</a>에서 확인하세요<br>"
    },
    "table_content": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_TableContentInfo"
          }
        ]
      },
      "description": "<em>페이지의 표 내용</em><br>"
    }
  }
}
```
