Shopping Category Tree
curl --request GET \
--url https://scrapebadger.com/v1/naver/shopping/category-tree \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://scrapebadger.com/v1/naver/shopping/category-tree"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://scrapebadger.com/v1/naver/shopping/category-tree', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/naver/shopping/category-tree",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/naver/shopping/category-tree"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/naver/shopping/category-tree")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/naver/shopping/category-tree")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"parent_id": "<string>",
"level": "<string>",
"result_count": 123,
"categories": [
{
"type": "<string>",
"category_id": "<string>",
"category_name": "<string>",
"cat_id_1..N": "<string>",
"cat_nm_1..N": "<string>",
"image_url": "<string>"
}
]
}Shopping Intelligence
Shopping Category Tree
One level of the Naver Shopping ranking category tree — DIV1 roots, or the DIV2 children of a parent id.
GET
/
v1
/
naver
/
shopping
/
category-tree
Shopping Category Tree
curl --request GET \
--url https://scrapebadger.com/v1/naver/shopping/category-tree \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://scrapebadger.com/v1/naver/shopping/category-tree"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://scrapebadger.com/v1/naver/shopping/category-tree', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/naver/shopping/category-tree",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/naver/shopping/category-tree"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/naver/shopping/category-tree")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/naver/shopping/category-tree")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"parent_id": "<string>",
"level": "<string>",
"result_count": 123,
"categories": [
{
"type": "<string>",
"category_id": "<string>",
"category_name": "<string>",
"cat_id_1..N": "<string>",
"cat_nm_1..N": "<string>",
"image_url": "<string>"
}
]
}Walk the Naver Shopping ranking category tree one level at a time. With no
parent_id it returns the DIV1 root categories; pass a parent_id to return that node’s DIV2 children. Each node carries its full ancestor id/name chain.
Credits: 5
Authorization
string
required
Your ScrapeBadger API key.
Query Parameters
string
A DIV1 category id to list its DIV2 children. Omit for the roots.
Response
string
Echo of the requested parent, or
null for roots.string
The depth returned, e.g.
DIV1 or DIV2.integer
Category[]
Example
curl "https://scrapebadger.com/v1/naver/shopping/category-tree?parent_id=50000000" \
-H "X-API-Key: YOUR_API_KEY"
const res = await fetch(
"https://scrapebadger.com/v1/naver/shopping/category-tree?" +
new URLSearchParams({"parent_id": "50000000"}),
{ headers: { "X-API-Key": process.env.SCRAPEBADGER_API_KEY } },
);
const data = await res.json();
import requests
res = requests.get(
"https://scrapebadger.com/v1/naver/shopping/category-tree",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"parent_id": "50000000"},
)
data = res.json()
Response
{
"parent_id": "50000000",
"level": "DIV2",
"result_count": 12,
"categories": [
{
"type": "DIV2",
"category_id": "50000167",
"category_name": "원피스",
"cat_id_1": "50000000",
"cat_nm_1": "패션의류",
"image_url": "https://shopping-phinf.example.net/cat/50000167.jpg"
}
]
}
Errors
| Status | Meaning |
|---|---|
422 | Naver served a challenge instead of content — not billed. Retry; it succeeds. |
502 | Unexpected upstream failure — not billed. |

