Naver Keyword Scraper avatar
Naver Keyword Scraper

Pricing

$5.00 / 1,000 results

Go to Store
Naver Keyword Scraper

Naver Keyword Scraper

Developed by

billygogo

billygogo

Maintained by Community

This Apify actor scrapes keyword rankings from Naver Shopping Insights (datalab.naver.com). It extracts popular search keywords for specific categories, time periods, and demographic filters.

0.0 (0)

Pricing

$5.00 / 1,000 results

1

Total users

1

Monthly users

1

Runs succeeded

>99%

Last modified

2 days ago

Naver Shopping Keyword Scraper

This Apify actor scrapes keyword rankings from Naver Shopping Insights (datalab.naver.com). It extracts popular search keywords for specific categories, time periods, and demographic filters.

Features

  • 🔍 Extract keyword rankings from Naver Shopping categories
  • 📊 Support for multiple pages of results
  • 🎯 Demographic filtering (age, gender, device)
  • 📅 Flexible time period selection
  • 💾 Data export to Apify Dataset and key-value store
  • ⚡ Rate limiting to prevent API overload

Input Parameters

Required Parameters

ParameterTypeDescriptionExample
cidstringCategory code (lowest level category)"50000065"
timeUnitstringTime period unit: date, week, or month"date"
startDatestringSearch start date (YYYY-MM-DD format)"2024-12-01"
endDatestringSearch end date (YYYY-MM-DD format)"2024-12-07"

Optional Parameters

ParameterTypeDescriptionDefaultOptions
totalPagestringNumber of pages to scrape"1"Any positive integer
countstringKeywords per page"20"Any positive integer
agestringAge group filter"" (all)10, 20, 30, 40, 50, 60
genderstringGender filter"" (all)f (female), m (male)
devicestringDevice type filter"" (all)m (mobile), p (PC)

How to Find Category Codes (cid)

  1. Visit Naver Shopping Insights
  2. Open browser developer tools (F12)
  3. Navigate to the desired category
  4. Check the network requests or URL parameters to find the category code
  5. Use the lowest-level category code (e.g., 50000805)

Input JSON Example

{
"cid": "50000065",
"timeUnit": "date",
"startDate": "2024-12-01",
"endDate": "2024-12-07",
"totalPage": "1",
"count": "3",
"age": "",
"gender": "",
"device": ""
}

Output Format

The actor saves data in two formats:

Dataset Output

Each keyword entry includes:

{
"rank": 1,
"keyword": "example keyword",
"page": 1,
"category": "50000065",
"period": "2024-12-01 ~ 2024-12-07",
"device": "all",
"timestamp": "2024-12-01T10:00:00.000Z"
}

Key-Value Store Output

Simplified format for compatibility:

[
{
"rank": 1,
"keyword": "example keyword"
}
]

Usage

Local Development

npm install
npm start

With Apify CLI

$apify run

Via Apify API

const { ApifyApi } = require('apify-client');
const client = new ApifyApi({
token: 'YOUR_API_TOKEN',
});
const run = await client.actor('YOUR_ACTOR_ID').call({
cid: "50000065",
timeUnit: "date",
startDate: "2024-12-01",
endDate: "2024-12-07",
totalPage: "1",
count: "10"
});

Parameter Details

Age Groups

  • 10: 10-19 years old
  • 20: 20-29 years old
  • 30: 30-39 years old
  • 40: 40-49 years old
  • 50: 50-59 years old
  • 60: 60+ years old
  • "": All ages (default)

Gender Options

  • f: Female
  • m: Male
  • "": All genders (default)

Device Types

  • m: Mobile
  • p: PC
  • "": All devices (default)

Time Units

  • date: Daily data
  • week: Weekly data
  • month: Monthly data

Error Handling

The actor includes comprehensive error handling:

  • Network request failures
  • Invalid response data
  • Page-level errors (continues to next page)
  • Rate limiting between requests

Error information is saved to the key-value store under the ERROR key.

Rate Limiting

The actor includes a 1-second delay between page requests to prevent overwhelming the Naver API.

Dependencies

  • apify: Apify SDK for web scraping
  • axios: HTTP client for API requests

Notes

  • The script respects Naver's terms of service
  • Use appropriate delays between requests
  • Category codes may change over time
  • Some combinations of filters may return empty results