Naver Shopping API — Products, Prices & Stores avatar

Naver Shopping API — Products, Prices & Stores

Pricing

$2.00 / 1,000 successful shopping requests

Go to Apify Store
Naver Shopping API — Products, Prices & Stores

Naver Shopping API — Products, Prices & Stores

Search Naver Shopping with Korean keywords, price filters and pagination. Export product prices, stores, brands, images and review counts. Charged per successful page, not per product.

Pricing

$2.00 / 1,000 successful shopping requests

Rating

0.0

(0)

Developer

Gaurav Kumar Choudhary

Gaurav Kumar Choudhary

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

9 days ago

Last modified

Security

Limited permissions

Share

At a glance

  • Collect: Naver Shopping product listings with available seller and KRW price fields.
  • Input: use the runnable example below or the prefilled Input form.
  • Output: the default dataset supports JSON/CSV/Excel export; see output modes below.
  • Billing: $2 per 1,000 successful search pages; up to 40 requested products per page, not guaranteed. No startup fee. Platform usage may be additional.
  • Limits: No stock guarantees, product-detail scraping, full review text or historical prices.

Search Naver Shopping with Korean or English product keywords. Export normalized product listings as JSON, CSV or Excel through Apify.

The collector now uses structured search JSON rather than extracting products from a rendered HTML page. Korean keywords, spaces, plus signs and price filters are encoded through both request layers. The existing input and exported product fields remain compatible.

Pricing

$2 per 1,000 successfully parsed search pages ($0.002 per request), on every plan. No Actor start fee and no per-product fee. Each pagination page is a separate request. Failed reads or invalid responses do not incur the request event charge. A valid empty search still counts as one request. Pricing is per page, not per Actor run: one run can fetch multiple pages.

Request up to 40 products per page. Actual counts depend on Naver, duplicates and filters; 40 products are not guaranteed. At 40 products on every page, 1,000 requests could return 40,000 products for $2 in event charges. This is an illustration, not a promised yield. Check the run's spending limit before starting.

Example

{"query":"해리슨 ASA1001","minPrice":15500,"maxPrice":169500,"maxPages":1,"maxItems":40}

For the tested coffee search with lowest prices first:

{"query":"LOHA 다크 아메리카노 원두스틱커피 1g","sort":"asc","minPrice":7100,"maxPrice":66200,"maxPages":1,"maxItems":40}

Keep using asc for lowest price first and dsc for highest price first; the Actor maps these to the JSON endpoint's price-sort values. Other existing sort options are unchanged.

Use maxPages to paginate, startPage to begin later, and maxItems to cap exports. Results are deduplicated by product ID within a run. Stop conditions include the page/item limits, repeated products, source exhaustion and run spending limit. If a later page fails, earlier results remain available with a warning in the summary. nextPage is a best-effort page-level continuation, not a cursor: stopping within a page can omit its remaining products when resuming at the next page.

Data and limitations

Available fields include product ID/title, KRW prices, brand/maker, image, store, product URL, category path, rating, review count, delivery fee, source URL and fetch time. Missing fields are null. Ratings/review counts are listing metadata, not full review text. This Actor does not fetch product detail pages, historical prices, stock guarantees, Naver Maps, News or Blogs. Results remain in the source language and may vary over time. Prices should be verified before purchase.

Product rows are in the dataset. A summary with successful request count, source-reported total, warnings and next page is saved in the key-value store under OUTPUT. Invalid input and first-page failures fail the run with a safe message.

Use only for authorized collection of publicly available data and comply with applicable laws and site terms. There is currently no additional per-account trial quota. Service authentication is configured privately by the owner and is not an input field.

Minimal API example

Store your own Apify token in APIFY_TOKEN; never paste it into public input or code. This example uses the same small input as the prefilled form.

import os
import requests
response = requests.post(
"https://api.apify.com/v2/acts/gauravlabs~naver-shopping-api/run-sync-get-dataset-items",
headers={"Authorization": "Bearer " + os.environ["APIFY_TOKEN"]},
json={"query":"아이폰"},
timeout=300,
)
response.raise_for_status()
print(response.json())

For large batches, start an asynchronous run with /runs, wait for its final status, and retrieve its default dataset. HTTP success when starting a run does not prove the extraction succeeded.

Minimal output shape (illustrative)

The following shows one documented field, not a fresh result or a promised yield. Inspect the output reference above for the complete schema.

{
"offerId": "illustrative-product-seller-key"
}

Practical workflow and accuracy notes

productId preserves the source ID. offerId hashes that ID and the available seller ID/name for easier comparisons across runs. Missing seller identifiers and renamed sellers can affect continuity. Schedule collection and join snapshots by offerId; compare price and fetchedAt in your workflow. This does not create historical prices retroactively.

requestRetries defaults to 1 and can be set to 0. Each attempt has a 90-second request timeout; retrying can roughly double a page's duration. A successfully parsed page is charged once. Safe reasonCode values distinguish unavailable access, quota, fetching or response parsing without returning credentials or raw errors. The prefilled example uses the broad Korean keyword 아이폰 rather than a particular product model.