Get 12-month Naver keyword search trend
curl --request POST \
--url https://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend \
--header 'API-Key: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"keywords": [
"protein supplement"
]
}
'import requests
url = "https://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend"
payload = { "keywords": ["protein supplement"] }
headers = {
"API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({keywords: ['protein supplement']})
};
fetch('https://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend', 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://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'keywords' => [
'protein supplement'
]
]),
CURLOPT_HTTPHEADER => [
"API-Key: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend"
payload := strings.NewReader("{\n \"keywords\": [\n \"protein supplement\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend")
.header("API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"keywords\": [\n \"protein supplement\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"keywords\": [\n \"protein supplement\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"keyword": "protein supplement",
"trend": {
"points": [
{
"month": 8,
"year": 2025,
"ratio": 100
}
],
"anchor": {
"month": 7,
"searchVolumeTotal": 33570,
"year": 2026
}
}
}
]
}{
"code": "COMMON_VALIDATION",
"details": [
"limit: must be 100 or less"
],
"message": "Data validation failed"
}{
"code": "COMMON_UNAUTHORIZED",
"message": "Unauthenticated user"
}{
"code": "INSUFFICIENT_CREDITS",
"message": "Insufficient credits."
}{
"code": "PLATFORM_RATE_LIMIT_EXCEEDED",
"message": "Too many requests. Please try again later."
}{
"message": "Internal Server Error",
"requestID": "bkZqnHQepkgTOocTvyHWSlHcGzRqQbZk"
}{
"code": "KEYWORD_METRICS_PROVIDER_UNAVAILABLE",
"message": "Failed to retrieve keyword metrics. Try again shortly"
}{
"code": "KEYWORD_METRICS_NOT_CONFIGURED",
"message": "Keyword metrics feature is not enabled yet"
}Keywords (Beta)
Naver search trends
[BETA] This is a beta API. The response spec may change without notice.
Retrieves the Naver search trend for the last 12 months for a list of keywords (up to 15). Values are not absolute search volumes but relative ratios (0 to 100) with the maximum in the period set to 100. If you need absolute figures, you can scale them using the anchor value in the response. Keywords with no data have trend set to null.
Errors
| HTTP | Code | Description |
|---|---|---|
| 400 | COMMON_BINDING | Failed to parse request body JSON |
| 400 | COMMON_VALIDATION | Keyword constraints violated: 1 to 15 keywords, no duplicates, each 80 characters or less |
| 401 | COMMON_UNAUTHORIZED | API key or access token is missing or invalid |
| 402 | INSUFFICIENT_CREDITS | The organization’s credit balance is lower than the unit price of this request |
| 429 | PLATFORM_RATE_LIMIT_EXCEEDED | Rate limit exceeded. Wait the number of seconds in the Retry-After header, then retry |
| 500 | — | Internal server error. Returns message and requestID without code |
| 502 | KEYWORD_METRICS_PROVIDER_UNAVAILABLE | Failed to call the metrics provider. Retry shortly |
| 503 | KEYWORD_METRICS_NOT_CONFIGURED | The keyword metrics feature is not enabled |
POST
/
v1beta
/
platform
/
keywords
/
naver
/
trend
Get 12-month Naver keyword search trend
curl --request POST \
--url https://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend \
--header 'API-Key: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"keywords": [
"protein supplement"
]
}
'import requests
url = "https://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend"
payload = { "keywords": ["protein supplement"] }
headers = {
"API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({keywords: ['protein supplement']})
};
fetch('https://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend', 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://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'keywords' => [
'protein supplement'
]
]),
CURLOPT_HTTPHEADER => [
"API-Key: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend"
payload := strings.NewReader("{\n \"keywords\": [\n \"protein supplement\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend")
.header("API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"keywords\": [\n \"protein supplement\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform-api.trychainshift.ai/api/v1beta/platform/keywords/naver/trend")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"keywords\": [\n \"protein supplement\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"keyword": "protein supplement",
"trend": {
"points": [
{
"month": 8,
"year": 2025,
"ratio": 100
}
],
"anchor": {
"month": 7,
"searchVolumeTotal": 33570,
"year": 2026
}
}
}
]
}{
"code": "COMMON_VALIDATION",
"details": [
"limit: must be 100 or less"
],
"message": "Data validation failed"
}{
"code": "COMMON_UNAUTHORIZED",
"message": "Unauthenticated user"
}{
"code": "INSUFFICIENT_CREDITS",
"message": "Insufficient credits."
}{
"code": "PLATFORM_RATE_LIMIT_EXCEEDED",
"message": "Too many requests. Please try again later."
}{
"message": "Internal Server Error",
"requestID": "bkZqnHQepkgTOocTvyHWSlHcGzRqQbZk"
}{
"code": "KEYWORD_METRICS_PROVIDER_UNAVAILABLE",
"message": "Failed to retrieve keyword metrics. Try again shortly"
}{
"code": "KEYWORD_METRICS_NOT_CONFIGURED",
"message": "Keyword metrics feature is not enabled yet"
}Body
application/json
Keyword trend request