naver-shopping
Search for products on Naver Shopping. Use when the user wants to find product prices, links, or compare items in the Korean market.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install openclaw-skills-naver-shopping
Repository
Skill path: skills/dryoo/naver-shopping
Search for products on Naver Shopping. Use when the user wants to find product prices, links, or compare items in the Korean market.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: openclaw.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install naver-shopping into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/openclaw/skills before adding naver-shopping to shared team environments
- Use naver-shopping for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: naver-shopping
description: Search for products on Naver Shopping. Use when the user wants to find product prices, links, or compare items in the Korean market.
---
# Naver Shopping Search
Use this skill to search for products on Naver Shopping using the Naver Search API.
## Usage
Run the search script with a query:
```bash
/Users/dryoo/.openclaw/workspace/skills/naver-shopping/scripts/search_shopping.py "상품명"
```
### Options
- `--display <number>`: Number of results to show (default: 5, max: 100)
- `--sort <sim|date|asc|dsc>`: Sort order (sim: similarity, date: date, asc: price ascending, dsc: price descending)
### Example
```bash
/Users/dryoo/.openclaw/workspace/skills/naver-shopping/scripts/search_shopping.py "아이폰 16" --display 3 --sort asc
```
## Environment Variables
Requires the following in `.env`:
- `NAVER_Client_ID`
- `NAVER_Client_Secret`
---
## Skill Companion Files
> Additional files collected from the skill directory layout.
### _meta.json
```json
{
"owner": "dryoo",
"slug": "naver-shopping",
"displayName": "Naver Shopping Search",
"latest": {
"version": "1.0.0",
"publishedAt": 1770629738906,
"commit": "https://github.com/openclaw/skills/commit/6176c1e4cd166cefb4a5475a8c8ca114d915e2e3"
},
"history": []
}
```
### scripts/search_shopping.py
```python
#!/usr/bin/env python3
import os
import sys
import json
import urllib.request
import argparse
def search_shopping(query, display=5, sort='sim'):
client_id = os.getenv('NAVER_Client_ID')
client_secret = os.getenv('NAVER_Client_Secret')
if not client_id or not client_secret:
return {"error": "NAVER_Client_ID or NAVER_Client_Secret not found in environment variables."}
encText = urllib.parse.quote(query)
url = f"https://openapi.naver.com/v1/search/shop.json?query={encText}&display={display}&sort={sort}"
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id", client_id.strip())
request.add_header("X-Naver-Client-Secret", client_secret.strip())
# Debug: print headers (excluding secret)
# print(f"ID: {client_id.strip()}", file=sys.stderr)
try:
response = urllib.request.urlopen(request)
rescode = response.getcode()
if rescode == 200:
response_body = response.read()
return json.loads(response_body.decode('utf-8'))
else:
return {"error": f"Error Code: {rescode}"}
except Exception as e:
return {"error": str(e)}
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Naver Shopping Search')
parser.add_argument('query', help='Search query')
parser.add_argument('--display', type=int, default=5, help='Number of results (1-100)')
parser.add_argument('--sort', default='sim', choices=['sim', 'date', 'asc', 'dsc'], help='Sort order')
args = parser.parse_args()
results = search_shopping(args.query, args.display, args.sort)
if "error" in results:
print(json.dumps(results, indent=2, ensure_ascii=False))
sys.exit(1)
print(json.dumps(results, indent=2, ensure_ascii=False))
```