Naver Shopping Insight Keyword Rankings avatar

Naver Shopping Insight Keyword Rankings

Pricing

from $1.99 / 1,000 search results

Go to Apify Store
Naver Shopping Insight Keyword Rankings

Naver Shopping Insight Keyword Rankings

Collects public popular-keyword rankings from Naver Shopping Insight by category, period, device, gender, and age.

Pricing

from $1.99 / 1,000 search results

Rating

0.0

(0)

Developer

Search API

Search API

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

4

Monthly active users

22 days ago

Last modified

Categories

Share

What does Naver Shopping Insight Keyword and Category Insights do?

This Actor collects Naver Shopping Insight's public TOP 500 category keyword rankings and the category's official click-trend series and device, gender, and age breakdowns. It uses the same category and period filters as the Naver Shopping Insight page.

The dataset contains ranked keyword rows and, when Naver returns category metrics, one separate category_insight row. Naver notes that its click statistics are separate from shopping rank calculations, so trend and demographic values describe category click patterns and are not keyword rank scores.

Why use this Actor?

  • Track popular search terms by category, date range, device, gender, and age filter.
  • Retrieve the actual dated trend values returned by Naver rather than estimating values from chart axes.
  • Compare device and gender shares and inspect Naver's relative age-group indices.
  • Collect multiple ranking pages with bounded retries, timeouts, concurrency, and deduplication.
  • Use Apify run history, schedules, API access, and monitoring to repeat and integrate collection.

The Actor uses public Naver pages and their public data endpoints. It does not log in, solve challenges, or infer missing trend values.

What data can it extract?

FieldTypeDescription
recordTypestringkeyword_rank or category_insight.
categoryId, categoryName, categoryPathstringResolved category identity.
rank, keywordinteger, stringPosition and popular search term; present on keyword rows.
rankingSet, rankingLimit, pageSize, totalPages, pageNumberstring, integerTOP 500 page context: 500 terms, 20 per page, 25 pages.
timeUnit, startDate, endDatestringSelected aggregation and inclusive period.
trendSeries[]arrayDated category click index values from Naver's trend response.
deviceBreakdown[]arraySource relative index and calculated share for PC and mobile.
genderBreakdown[]arraySource relative index and calculated share for women and men.
ageBreakdown[]arraySource age values relative to the highest age group, which is 100.
devices, genders, agesarraysFilters applied to the query, or all.
source, sourceUrl, scrapedAtstringSource provenance and collection time.

The breakdowns include the source codes and Korean labels. Device and gender sharePercent values are calculated from Naver's returned ratios using the same normalization as the page. Age values are source relative indices, not shares that sum to 100.

How to scrape Naver Shopping Insight

  1. Open the Actor and enter an exact Korean category path, such as 패션의류 or 패션의류 > 여성의류.
  2. Choose a period and, optionally, device, gender, and age filters.
  3. Set the keyword-record and page limits, then start the Actor.
  4. Review the dataset for keyword_rank rows and the separate category_insight row.

How much does it cost to scrape Naver Shopping Insight?

Apify usage depends on the Actor's configured platform plan and compute time; this Actor does not set a fixed per-record price. A run requests four category insight endpoints and up to 25 ranking pages. Each ranking page contains up to 20 terms. Larger date ranges can increase the trend response size, while retries and timeouts can extend run time.

maxItems limits keyword rows only. One category insight row may be added when at least one insight series or breakdown is returned. maxPages limits ranking pages and does not limit the insight endpoints.

Input

See the input tab for the complete configuration.

FieldTypeDefaultDescription
categoryPathstring패션의류Exact Korean category labels separated by >. Ignored when categoryId is set.
categoryIdstring—Optional eight-digit category ID; overrides and is validated against categoryPath.
startDate, endDatestringLatest complete Korean day and 30 days beforeInclusive YYYY-MM-DD period. Dates must be valid, at most one year apart, and not later than the latest complete day.
timeUnitstringdatedate, week, or month.
devicesarray of strings[]Any of pc, mo; empty means all devices.
gendersarray of strings[]Any of f, m; empty means all genders.
agesarray of strings[]Any of 10, 20, 30, 40, 50, 60; 60 means 60 and above. Empty means all ages.
maxItemsinteger, 1–500100Maximum unique keyword rank rows. Does not count the optional insight row.
maxPagesinteger, 1–2525Maximum ranking pages; each page has 20 records. The effective page count also respects maxItems.
maxConcurrencyinteger, 1–52Maximum queued tasks within each analytics or ranking group; source requests are serialized.
maxRequestRetriesinteger, 0–83Retries are limited to recognized transient connection failures, request-owned timeouts, and non-gated HTTP 408/5xx responses. HTTP 429 and recognized login/challenge responses are terminal.
requestTimeoutSecsinteger, 5–12030Timeout for each Naver request.
proxyConfigurationobject—Optional Apify Proxy or custom proxy configuration used for requests. It does not bypass Naver access controls.

Example input

{
"categoryPath": "패션의류",
"startDate": "2026-08-22",
"endDate": "2026-09-22",
"timeUnit": "date",
"devices": [],
"genders": [],
"ages": [],
"maxItems": 20,
"maxPages": 1,
"maxConcurrency": 2,
"maxRequestRetries": 3,
"requestTimeoutSecs": 30
}

Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

The following source-backed examples use the category and period visible in the Naver page. The trend array is shortened to its first two returned points; the Actor preserves all dated points returned by the source.

{
"recordType": "keyword_rank",
"id": "50000000:date:2026-08-22:2026-09-22:all:all:all:1",
"categoryId": "50000000",
"categoryName": "패션의류",
"categoryPath": "패션의류",
"rank": 1,
"keyword": "원피스",
"rankingSet": "TOP 500",
"rankingLimit": 500,
"pageSize": 20,
"totalPages": 25,
"timeUnit": "date",
"startDate": "2026-08-22",
"endDate": "2026-09-22",
"devices": ["all"],
"genders": ["all"],
"ages": ["all"],
"pageNumber": 1,
"source": "Naver Shopping Insight",
"sourceUrl": "https://datalab.naver.com/shoppingInsight/sCategory.naver?cid=50000000",
"scrapedAt": "2026-09-23T08:00:00.000Z"
}
{
"recordType": "category_insight",
"id": "insight:50000000:date:2026-08-22:2026-09-22:all:all:all",
"categoryId": "50000000",
"categoryName": "패션의류",
"categoryPath": "패션의류",
"timeUnit": "date",
"startDate": "2026-08-22",
"endDate": "2026-09-22",
"devices": ["all"],
"genders": ["all"],
"ages": ["all"],
"trendSeries": [
{ "date": "2026-08-22", "indexValue": 65.5891 },
{ "date": "2026-08-23", "indexValue": 72.3992 }
],
"deviceBreakdown": [
{ "code": "mo", "label": "모바일", "relativeIndex": 100, "sharePercent": 87.96049 },
{ "code": "pc", "label": "PC", "relativeIndex": 13.68741, "sharePercent": 12.03951 }
],
"genderBreakdown": [
{ "code": "f", "label": "여성", "relativeIndex": 100, "sharePercent": 74.63368 },
{ "code": "m", "label": "남성", "relativeIndex": 33.98776, "sharePercent": 25.36632 }
],
"ageBreakdown": [
{ "code": "10", "label": "10대", "relativeIndexPercent": 1.33053 },
{ "code": "20", "label": "20대", "relativeIndexPercent": 7.84435 },
{ "code": "30", "label": "30대", "relativeIndexPercent": 37.52558 },
{ "code": "40", "label": "40대", "relativeIndexPercent": 100 },
{ "code": "50", "label": "50대", "relativeIndexPercent": 88.42951 },
{ "code": "60", "label": "60대", "relativeIndexPercent": 33.82086 }
],
"source": "Naver Shopping Insight",
"sourceUrl": "https://datalab.naver.com/shoppingInsight/sCategory.naver?cid=50000000",
"scrapedAt": "2026-09-23T08:00:00.000Z"
}

The source returned 31 trend points for this observed period, ending on September 21. The requested end date remains September 22; the Actor does not fill missing dates with guessed values.

An illustrative OUTPUT_SUMMARY for a one-page collection looks like this:

{
"status": "SUCCEEDED",
"category": { "id": "50000000", "name": "패션의류", "path": "패션의류" },
"filters": {
"timeUnit": "date",
"startDate": "2026-08-22",
"endDate": "2026-09-22",
"devices": ["all"],
"genders": ["all"],
"ages": ["all"]
},
"pagesRequested": 1,
"pagesCompleted": 1,
"recordsPushed": 21,
"keywordRecordsPushed": 20,
"categoryInsightRecordsPushed": 1,
"categoryTrendPoints": 31,
"duplicatesSkipped": 0,
"recordsTruncatedByLimit": 0,
"proxyUsed": false,
"durationMs": 1234,
"completedAt": "2026-09-23T08:00:00.000Z"
}

Tips and advanced options

  • Use maxItems: 20 and maxPages: 1 for a compact first-page ranking.
  • To reach rank 500, allow all 25 pages and set maxItems to 500.
  • Leave demographic filters empty to match the full-category page. Selected filters also apply to the trend and breakdown endpoints.
  • Ranking rows are deduplicated by category and normalized keyword. The insight row has a separate stable ID for category, period, and filters.
  • OUTPUT_SUMMARY reports keyword rows, insight rows, trend-point count, completed ranking pages, duplicates, truncation, and run timing.
  • If Naver returns a challenge or access-control response, the Actor fails closed and records no placeholder dataset rows.

FAQ, support, and responsible use

Why is there an extra dataset row? The category_insight row keeps category-wide metrics separate from keyword ranking rows and avoids repeating the same trend series on every term. It is emitted only when at least one category metric is returned.

Are age values shares of the total? No. Naver returns relative values with the highest age group set to 100. Device and gender share percentages are normalized from the corresponding source ratios.

Why don't trend values reach September 22? Naver may not yet have returned a point for the final requested date. Only dated values present in the endpoint response are included.

For bugs or feature requests, use the Actor's Issues tab and include the run ID and a short description. Use the API tab for dataset access and integrations. This Actor is not affiliated with Naver. Follow Naver's terms, rate limits, and applicable law when using its public data. The Actor reports aggregated category statistics and does not identify individual shoppers.

Local checks

Run the focused checks with npm test and validate the Actor schemas with apify validate-schema. The Actor can be run locally with the Apify CLI and .actor/input.json; the examples above are for that public category and date range.

Anonymous request safety and bounded QA

Requests are serialized within each run. Redirects, HTTP 401/403/407/429/451, and recognized login/challenge markup stop queued source requests without retries. This includes challenge bodies returned with HTTP 503. TLS verification stays enabled and no cookies or authorization headers are supplied. Retries are limited to recognized transient connection failures, request-owned timeouts, and non-gated HTTP 408/5xx responses. HTTP 429 and recognized login/challenge responses are terminal. TLS/security and unknown transport failures stop queued source requests. Requested proxy provisioning must succeed; there is no direct fallback. Connection diagnostics omit raw error details. Offline fixtures do not prove live availability.

DataLab is distinct from the held search.shopping.naver.com service; anonymous DataLab availability remains unverified. Bounded QA with category ID 50000000, maxItems 4, maxPages 1, concurrency one, zero retries and no proxy makes at most seven calls (landing, category, four insights, one rank page). Up to four keyword rows plus one category insight row are emitted. Rank pages contain up to 20 entries before the output cap. Category metrics are not individual keyword volumes or CPC.