> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scrapebadger.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Shopping Keyword Periods

> The list of available periods for the Naver Shopping keyword ranking, for a category and age bracket.

List the **available periods** for the Naver Shopping keyword ranking — the weeks or months you can request from [`/shopping/keywords`](/api-reference/endpoint/naver/shopping-keywords) for a given category and age bracket. The complete period list is returned in one response.

**Credits:** 5

## Authorization

<ParamField header="X-API-Key" type="string" required>
  Your ScrapeBadger API key.
</ParamField>

## Query Parameters

<ParamField query="category_id" type="string" default="A">
  `A`, or an 8-digit category id.
</ParamField>

<ParamField query="age_type" type="string" default="ALL">
  Age bracket, e.g. `ALL`, `MEN_20`.
</ParamField>

<ParamField query="sort_type" type="string" default="KEYWORD_NEW">
  Fixed at `KEYWORD_NEW`.
</ParamField>

<ParamField query="period_type" type="string" default="WEEKLY">
  `WEEKLY` or `MONTHLY`.
</ParamField>

## Response

<ResponseField name="category_id" type="string" />

<ResponseField name="age_type" type="string" />

<ResponseField name="sort_type" type="string" />

<ResponseField name="period_type" type="string" />

<ResponseField name="result_count" type="integer" />

<ResponseField name="periods" type="Period[]">
  Available periods.

  <Expandable title="Period">
    <ResponseField name="ymd" type="string">Period start date, `YYYYMMDD`.</ResponseField>
    <ResponseField name="ended_at" type="string">Period end date.</ResponseField>

    <ResponseField name="month" type="integer" />

    <ResponseField name="week" type="integer" />

    <ResponseField name="period_type" type="string" />

    <ResponseField name="has_next" type="boolean" />

    <ResponseField name="has_prev" type="boolean" />
  </Expandable>
</ResponseField>

## Example

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://scrapebadger.com/v1/naver/shopping/keyword-periods?category_id=A&period_type=WEEKLY" \
    -H "X-API-Key: YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const res = await fetch(
    "https://scrapebadger.com/v1/naver/shopping/keyword-periods?" +
      new URLSearchParams({"category_id": "A", "period_type": "WEEKLY"}),
    { headers: { "X-API-Key": process.env.SCRAPEBADGER_API_KEY } },
  );
  const data = await res.json();
  ```

  ```python Python theme={null}
  import requests

  res = requests.get(
      "https://scrapebadger.com/v1/naver/shopping/keyword-periods",
      headers={"X-API-Key": "YOUR_API_KEY"},
      params={"category_id": "A", "period_type": "WEEKLY"},
  )
  data = res.json()
  ```
</CodeGroup>

```json Response theme={null}
{
  "category_id": "A",
  "age_type": "ALL",
  "sort_type": "KEYWORD_NEW",
  "period_type": "WEEKLY",
  "result_count": 12,
  "periods": [
    {
      "ymd": "20260804",
      "ended_at": "20260810",
      "month": 8,
      "week": 1,
      "period_type": "WEEKLY",
      "has_next": false,
      "has_prev": true
    }
  ]
}
```

## Errors

| Status | Meaning |
| - | - |
| `422` | Naver served a challenge instead of content — **not billed**. Retry; it succeeds. |
| `502` | Unexpected upstream failure — **not billed**. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.