Skip to main content
Glama

LeoWorks Data Tools — Naver, K-beauty & AliExpress

leoworks/naver-shopping-rank-tracker

leoworks--naver-shopping-rank-tracker
Destructive

This tool calls the Actor "leoworks/naver-shopping-rank-tracker" and retrieves its output results. Actor description: Track where your products, URLs or Smartstore stores rank in Naver Shopping search for any Korean keyword (네이버 쇼핑 순위, 스마트스토어 순위). Organic rank 1–35 plus ad slot position, price, reviews and rating — a Naver Shopping scraper built for scheduled rank monitoring. No login.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetsYes**REQUIRED** One entry per keyword × target. `keyword` = Korean search keyword. `match` = what to find: a product URL (smartstore.naver.com/.../products/123, brand.naver.com/..., search.shopping.naver.com/catalog/123, or your own mall's product URL), a numeric product ID (Naver product/catalog ID or smartstore product number), or a store name / smartstore slug. Leave `match` empty to just snapshot the keyword (use with Top competitors). Example values: [{"keyword":"무선이어폰","match":"브리츠 공식몰"},{"keyword":"무선이어폰","match":"https://search.shopping.naver.com/catalog/56796984706"}]
waitSecsNoMax seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget.
includeAdsNoAlso report the target's position among sponsored (ad) slots as `adRank`. Example values: true
outputModeNo`full` = all fields. `minimal` = rank, price, store and title only (smaller, faster to process). Example values: "full"full
healthCheckNoInternal: fail the run when results look degraded (used by the developer's scheduled checks).
maxConcurrencyNoHow many keywords to check in parallel. Example values: 5
topCompetitorsNoAttach the top N organic products for each keyword (0–40). Charged per item as `competitor-item`. Attached once per keyword.
rankHistoryStoreNoName of a key-value store in your Apify account that keeps the last organic rank of each keyword × target. Each row then shows `previousOrganicRank`, `rankChange` (positive = moved up) and `isNew` (found now, not found last time). Run on a schedule to track movement. Use a different name per project; leave empty to turn this off. No extra charge. Example values: "naver-shopping-rank-history"naver-shopping-rank-history
proxyConfigurationNoDefault (Apify datacenter proxy) works for most users. Example values: {"useApifyProxy":true}
residentialFallbackNoIf a keyword keeps failing on the default proxy, retry it through Korean residential proxy. Example values: true

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
tipNoAdvisory guidance RAG Web Browser wrote to its key-value store under the reserved "TIP" key
runIdYesActor run ID
statsNoRun statistics
statusYesRun status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED
actorIdYesStable Apify Actor ID from the run record
summaryYesPast-tense summary of the run state
exitCodeNoActor process exit code; populated for terminal states (especially FAILED)
nextStepYesOne primary follow-up action with identifiers interpolated
storagesYesDataset and key-value store metadata, keyed by alias. "default" is always the primary entry.
actorNameNo"username/actor-name"
startedAtNoISO timestamp when the run started
finishedAtNoISO timestamp when the run finished (terminal states only)
statusMessageNoPass-through from Apify run.statusMessage
apifyConsoleUrlNoPersonalized Apify Console link to the run; present only for Console sessions

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, and the description adds real context beyond them: 'No login' (auth requirement), per-item charging for topCompetitors ('competitor-item'), and 'No extra charge' plus stateful behavior for rankHistoryStore (previousOrganicRank/rankChange/isNew persisted across runs). The destructive hint is implicitly explained by that key-value-store write, though the description never states the write explicitly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a compact Actor blurb, front-loaded with the call semantics and immediately followed by the substantive purpose. There is minor redundancy in the boilerplate first sentence, but nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the description covers purpose, auth, cost model, and scheduling. The remaining gap is selection guidance against the generic siblings (get-actor-run, get-dataset-items), which the waitSecs/nextStep polling note in the schema partially covers but the description does not reinforce.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all 10 parameters, including nested targets and proxyConfiguration, are documented in the schema itself. The description adds no syntax, format, or default information beyond what the schema already provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence is boilerplate ('calls the Actor ... and retrieves its output results'), but the embedded Actor description supplies a concrete verb+resource: tracking product/URL/Smartstore rank in Naver Shopping for Korean keywords, including the data returned (organic rank 1–35, ad slot, price, reviews). That is enough to distinguish it from the other Naver siblings (ai-briefing-monitor, blog-brand-monitor), though the differentiation comes from domain wording rather than an explicit contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: 'a Naver Shopping scraper built for scheduled rank monitoring' and the rankHistoryStore note 'Run on a schedule to track movement' tell the agent the intended scenario. There is no explicit when-not-to-use and no named alternative among the siblings (e.g. when to poll via get-actor-run instead of calling this tool directly), so guidance stays at the implied level.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.