--- name: ecommerce.amazon-keyword-summary description: Break down all competitor ASIN traffic sources under a given keyword -- organic search, SP ads, SB brand ads, SBV video ads, SP recommendations, AC/ER/TR recommendation slots, with support for ASIN filtering, custom date ranges, and new traffic keyword filters. Trigger when the user mentions keyword traffic sources, which competitors are grabbing traffic under this keyword, organic traffic vs paid traffic share, SP ad exposure, brand ad share, SP recommendation slots, recommendation ad/non-ad split, search display analysis, Amazon's Choice or editorial recommendation exposure, keyword competitive landscape, ASIN traffic composition, keyword traffic, traffic structure analysis, search share, ad share, traffic source distribution, SIF, traffic analysis, SP recommendation, recommend position breakdown. Even if the user does not explicitly mention "SIF", if their need involves analyzing competitor ASIN traffic source distribution under a keyword, this skill should also be triggered. --- # SIF Keyword Traffic Source Summary This skill guides you on how to query and analyze keyword traffic source data for Amazon products, helping sellers understand the traffic structure behind keywords -- including organic search, Sponsored Products (SP) ads, brand ads, video ads, and various Amazon recommendation placements. ## Core Concepts The SIF Keyword Summary tool returns, for one given keyword, the list of ASINs appearing under that keyword along with their per-keyword traffic exposure breakdown and their product-level cross-channel traffic mix. It answers: **Who is taking traffic under this keyword, and through which channels?** **Traffic channels analyzed:** - **Natural Search** -- organic search result positions - **SP Ads (Sponsored Products)** -- paid product ad placements (regular slot) - **Brand Ads (SB)** -- top and bottom brand ad placements on the search results page - **Video Ads (SBV)** -- Sponsored Brands Video placements - **SP Recommendation slots** -- Trending now / Seen on social media / Customers frequently viewed / 4 stars and above - **Amazon's Choice (AC)** -- Amazon's Choice badge recommendations - **Editorial Recommendations (ER)** -- editorial/curated recommendation placements - **Top Rated (TR)** -- high-rating recommendation placements **Two score families** (important -- do not mix): 1. **Product-level** fields (no prefix, e.g. `naturalSearchExposureScore`): the ASIN's overall exposure across all keywords. 2. **Keyword-level** fields (`keyword...` prefix, e.g. `keywordNaturalExposureScore`): the ASIN's exposure on just this one queried keyword. ## Parameter Guide ### Required Parameter | Parameter | Type | Description | |-----------|------|-------------| | searchKeyword | string | The search keyword to analyze. Translate to the target marketplace's language when applicable. Max 1000 characters. | ### Optional Parameters | Parameter | Type | Default | Description | |-----------|------|---------|-------------| | country | string | US | Marketplace code (13 supported -- see list below). | | asins | string | (none) | Comma-separated ASIN filter; if omitted, returns all ASINs appearing under the keyword. Max 1000 chars. | | condition | string | (none) | Filter by a specific traffic source. Only one value per request. See Condition Filters below. | | last7d | boolean | true | Use the latest 7 days. When `false`, the API uses `startDate`/`endDate`. | | startDate | string | -- | `yyyy-MM-dd`. Takes effect when `last7d=false`; if omitted, the system's latest integral week is used. | | endDate | string | -- | `yyyy-MM-dd`, paired with `startDate`. | | sortBy | string | (default) | Sort field. See sortBy section below. | | pageNum | integer | 1 | Page number for pagination. | | pageSize | integer | 100 | Results per page. Min 10, max 100. | | desc | boolean | true | Sort in descending order. | ### Supported Marketplaces 13 marketplaces: US (United States), UK (United Kingdom), DE (Germany), CA (Canada), JP (Japan), FR (France), ES (Spain), IT (Italy), MX (Mexico), AU (Australia), AE (United Arab Emirates), BR (Brazil), SA (Saudi Arabia). Default marketplace is **US**. Codes outside this list will be rejected by the API pattern. ### Condition Filters Each request can include at most **one** condition filter. Flag-style: | Value | Meaning | |-------|---------| | nfPosition | Natural search traffic keywords | | isSpAd | SP ad keywords | | isVedioAd | Video ad keywords | | isBrandAd | Brand ad keywords | | isPPCAd | PPC ad keywords (all paid ad types) | | isSearchRecommend | Search recommendation keywords | | acAd | SP recommendation (Trending now / Customers frequently viewed / etc.) | Period-count filters (`.total` full / `.in` new-in): | Value | Meaning | |-------|---------| | totalPeriod.in | Newly-entered traffic keywords this period | | nfKeywordCnt.total / nfKeywordCnt.in | Keywords with (new) organic exposure | | adKeywordCnt.total / adKeywordCnt.in | Keywords with (new) ad exposure | | allSpKeywordCnt.total / allSpKeywordCnt.in | (New) SP-ad keywords (regular + recommendation) | | spKeywordCnt.total / spKeywordCnt.in | (New) SP regular keywords | | recSpKeywordCnt.total / recSpKeywordCnt.in | (New) SP recommendation keywords | | allSbKeywordCnt.total / allSbKeywordCnt.in | (New) SB-ad keywords | | sbKeywordCnt.total / sbKeywordCnt.in | (New) SB regular keywords | | sbvKeywordCnt.total / sbvKeywordCnt.in | (New) SBV keywords | ### sortBy Leave empty for system default. Valid values: `totalKeywordNum` (total keyword count), `naturalKeywordNum`, `brandKeywordNum`, `vedioKeywordNum`, `acKeywordNum`, `erKeywordNum`, `trKeywordNum`, `sumScore` (total exposure across all keywords), `totalNfScore`, `totalSpSocre` (note spelling), `totalBrandScore`, `totalVedioScore`, `totalAcScore`, `totalTrScore`, `totalErScore`. ## How to Invoke - **API Endpoint**: `POST /sif/keywordSummary` (complete params/response/error codes in `references/api.md`) - **Python Script**: `python scripts/amazon_keyword_summary.py '' [--inline]` - **Cost constraint**: This tool consumes credits; the same session and parameter combination is called only once by default, with a 24h local cache in the script. On failure or empty results, do not automatically retry with different keywords, pagination, or postal codes; inform the user about additional consumption before continuing to search. **Output strategy (script default behavior)**: - **Always** write the full response to `/nexscope///data/nexscope-sif-keyword-summary-.json` (`` is the working directory at script execution time, i.e. the current project directory in Claude Code; `` is taken from the `SESSION_ID` env var, auto-grouped by user task; **do not write to /tmp**, error if current directory is not writable) - Response body <= 8 KB: print full JSON to stdout after saving - Response body > 8 KB: print only summary to stdout after saving (top-level fields, common counts like `total`/`costToken`, length of largest list field + first 3 samples) - Add `--inline` to force full output to stdout (still saves to disk) **Data reading tip**: Check the summary first to decide if it's enough; when specific fields are needed, prefer using `jq` or `ConvertFrom-Json` to extract from the saved json file on demand, avoiding loading the entire JSON into context. ## Usage Examples **1. Basic keyword traffic overview** Query the traffic source breakdown for a keyword in the US marketplace: ``` searchKeyword: "wireless charger", country: "US" ``` **2. Filter for organic search traffic only** See only ASINs that appear in natural search results for a keyword: ``` searchKeyword: "wireless charger", country: "US", condition: "nfPosition" ``` **3. Analyze SP ad competition** Find which ASINs are running SP ads for a keyword: ``` searchKeyword: "wireless charger", country: "US", condition: "isSpAd" ``` **4. SP recommendation slots** Find ASINs surfacing in SP recommendation slots (Trending now, Customers frequently viewed, etc.): ``` searchKeyword: "wireless charger", country: "US", condition: "acAd" ``` **5. Keyword analysis for a non-US marketplace** Analyze traffic sources in the Japan marketplace (use the local language keyword): ``` searchKeyword: "wireless charger" (in Japanese), country: "JP" ``` **6. Focus on specific competitor ASINs** Limit results to a small set of competing ASINs: ``` searchKeyword: "wireless charger", country: "US", asins: "B01NBNDC1T,B09VLJJPL6" ``` **7. Custom date range** ``` searchKeyword: "wireless charger", country: "US", last7d: false, startDate: "2026-04-05", endDate: "2026-04-11" ``` **8. Rank ASINs by their overall SP exposure** ``` searchKeyword: "wireless charger", country: "US", sortBy: "totalSpSocre", desc: true ``` **9. Newly-entered traffic keywords this period** ``` searchKeyword: "wireless charger", country: "US", condition: "totalPeriod.in" ``` ## Display Rules 1. **Present data clearly**: Show query results in well-structured tables. Group data by traffic channel exposure ratios for easy comparison. 2. **Distinguish product-level vs keyword-level scores**: Do not mix `naturalSearchExposureScore` (product-wide) with `keywordNaturalExposureScore` (this keyword only). Label columns so users know which scope they are reading. 3. **Highlight key ratios**: When displaying results, emphasize the natural search exposure ratio vs. paid ad exposure ratio to help users quickly assess the organic-to-paid balance. 4. **Translate field names**: Present field names in user-friendly language rather than raw API field names (e.g., "Natural Search Exposure Ratio" instead of "naturalSearchExposureRatio"). 5. **Volume notice**: When results are large (high total count), show core data and remind users they can paginate to see more results. 6. **Period annotation**: When comparing exposure/counts, label the resolved window -- default `last7d`; or `startDate ~ endDate` if a custom range was set. Also surface `dataPeriodStartDate` on each row. 7. **Error handling**: When a query fails, explain the reason based on the `msg` field and suggest adjusting query parameters (e.g., checking keyword spelling or marketplace code). 8. **Percentage formatting**: Display exposure ratios as percentages (e.g., 0.45 as "45%") for readability. 9. **Traffic source summary**: When presenting a single ASIN's data, provide a brief traffic composition summary (e.g., "This product gets 60% of its exposure from organic search, 25% from SP ads, and 15% from brand ads"); prefer keyword-level fields when the user asks specifically about this keyword. ## Important Limitations - **Single condition filter**: Only one `condition` value can be used per request. To compare multiple traffic sources, make separate requests. - **Marketplace coverage**: 13 marketplaces only -- IN / NL / SE / PL / TR / SG are no longer available. - **Keyword language**: The `searchKeyword` should be in the language of the target marketplace for best results. - **Result cap**: Each page returns at most 100 records. - **Scope**: This endpoint focuses on per-keyword ASIN traffic; it does not return whole-ASIN metadata, cross-channel keyword counts, or variant aggregation. Use the ASIN traffic-source tool for those. ## User Expression & Scenario Quick Reference **Applicable** -- Traffic source and competition structure analysis for Amazon keywords: | User Says | Scenario | |-----------|----------| | "Where does the traffic come from for this keyword" | Traffic source breakdown | | "How much organic vs paid traffic" | Organic/paid ratio analysis | | "Who's running SP ads for this keyword" | SP ad competition analysis (`condition=isSpAd`) | | "Which products are in SP recommendation slots" | SP recommendation lookup (`condition=acAd`) | | "Which products have Amazon's Choice" | AC badge analysis (via `amazonsChoiceExposureScore`) | | "Is this keyword dominated by ads" | Ad saturation assessment | | "Show me the brand ad competition" | Brand ad landscape analysis | | "Traffic structure for my competitor's keyword" | Competitive traffic analysis | | "Which products get editorial recommendations" | ER placement analysis | | "Compare these 2 ASINs on this keyword" | ASIN filter via `asins="B0A,B0B"` | | "For the week of March 8, traffic under this keyword" | Custom `startDate`/`endDate` window | | "Newly-entered traffic keywords this period" | New-in filter (`condition=totalPeriod.in`) | **Not applicable** -- Needs beyond keyword traffic source analysis: - Historical keyword ranking trends beyond current + custom window (use ABA data tools) - Advertising bid/budget optimization - Product reviews or listing content - Sales volume estimation - Full keyword search volume curve over time - Whole-ASIN traffic structure across all keywords (use the SIF ASIN traffic-source tool) ## Authentication Set the `NEXSCOPE_API_KEY` environment variable. If credentials are missing or expire, visit https://www.nexscope.ai/help/skills-external-access?co-from=skillNS to top up credits.