Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Keyapi Amazon Ecommerce

v1.0.0

Explore and analyze Amazon e-commerce data at scale — product search, category browsing, product details, best sellers, deals, seller intelligence, influence...

0· 89·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for lycici/keyapi-amazon-ecommerce.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Keyapi Amazon Ecommerce" (lycici/keyapi-amazon-ecommerce) from ClawHub.
Skill page: https://clawhub.ai/lycici/keyapi-amazon-ecommerce
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: KEYAPI_TOKEN
Required binaries: node
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install keyapi-amazon-ecommerce

ClawHub CLI

Package manager switcher

npx clawhub@latest install keyapi-amazon-ecommerce
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The skill's name/description map to contacting the KeyAPI MCP for Amazon ecommerce data and the only required credential is KEYAPI_TOKEN, which is proportionate. Minor inconsistencies exist: the run script's help/defaults reference other platforms (e.g., default platform 'tiktok' and image proxy host for 'echosell'), suggesting the runner is multi-platform boilerplate reused across skills rather than Amazon-specific code. This is odd but plausibly benign.
Instruction Scope
SKILL.md instructs the user to run npm install and node scripts/run.js which aligns with the included script. The runtime instructions and code only read/write files in the skill directory (a .env file and a .keyapi-cache directory) and only read KEYAPI_TOKEN and optional KEYAPI_SERVER_URL. The runner will prompt for and persist the token to .env if not set — this persistent storage of the token is expected but a privacy consideration.
Install Mechanism
No remote installer or arbitrary downloads are used. The package uses a single npm dependency (@modelcontextprotocol/sdk) declared in package.json; installing from npm is expected for a Node-based tool and is moderate but normal risk.
Credentials
Only KEYAPI_TOKEN (primary credential) and an optional KEYAPI_SERVER_URL are required. These are directly relevant to calling the KeyAPI MCP and are proportionate to the described functionality.
Persistence & Privilege
always:false (no forced inclusion). The script persists the KEYAPI_TOKEN into a .env file in the skill directory and writes cached responses to .keyapi-cache; it does not modify other skills or system-wide configuration. Persisting the token to disk is expected behavior but is a potential credential-leak risk if the skill directory is shared or checked into source control.
Assessment
This skill appears coherent with its stated purpose — it calls the KeyAPI MCP and only needs your KEYAPI_TOKEN and Node. Before installing, consider: 1) Only supply a KeyAPI token created for this use (avoid reusing highly privileged or long-lived credentials). 2) The runner will save the token in plain text to a .env file in the skill directory and will write cached API responses to .keyapi-cache; avoid placing the skill directory under source control or shared folders, or delete .env after use. 3) The code includes multi-platform boilerplate (references to tiktok/echosell images) — not harmful but worth noting as leftover code. 4) Inspect scripts/run.js locally and verify KEYAPI_SERVER_URL if you want to ensure calls go only to the expected endpoint (https://mcp.keyapi.ai). 5) Run npm install in an isolated environment (or review the @modelcontextprotocol/sdk package) if you are cautious about adding node dependencies. If any of these points are unacceptable, do not install or create a dedicated token you can revoke.
scripts/run.js:52
Environment variable access combined with network send.
!
scripts/run.js:37
File read combined with network send (possible exfiltration).
Patterns worth reviewing
These patterns may indicate risky behavior. Check the VirusTotal and OpenClaw results above for context-aware analysis before installing.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🛒 Clawdis
Binsnode
EnvKEYAPI_TOKEN
Primary envKEYAPI_TOKEN
latestvk97avt1mbsrqnqqtrjy7abjrq984362z
89downloads
0stars
1versions
Updated 3w ago
v1.0.0
MIT-0

keyapi-amazon-ecommerce

Explore and analyze Amazon e-commerce data at scale — from product discovery and competitive pricing intelligence to seller profiling, review analysis, and influencer storefront research.

This skill provides comprehensive Amazon marketplace intelligence using the KeyAPI MCP service. It enables product search and discovery, category-level browsing, multi-ASIN detail retrieval, best seller and deal monitoring, seller profile and review analysis, influencer post and product research, and identifier conversion — all through a unified, cache-first workflow supporting 24 Amazon marketplaces.

Use this skill when you need to:

  • Search and discover Amazon products by keyword, category, brand, price range, or seller
  • Retrieve detailed product information, availability, and variant data for up to 10 ASINs per call
  • Monitor best sellers, new releases, trending products, and active deals with rich filter options
  • Analyze seller profiles, seller reviews, and seller product catalogs
  • Research Amazon influencer storefronts — posts, creative lists, and recommended products
  • Retrieve and analyze customer reviews with star rating and verified purchase filters
  • Compare product offers across conditions (new, used, refurbished) and delivery options
  • Convert Amazon ASINs to Global Trade Item Numbers (GTINs)

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills

Prerequisites

RequirementDetails
KEYAPI_TOKENA valid API token from keyapi.ai. Register at the site to obtain your free token. Set it as an environment variable: export KEYAPI_TOKEN=your_token_here
Node.jsv18 or higher
DependenciesRun npm install in the skill directory to install @modelcontextprotocol/sdk

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills

MCP Server Configuration

All tool calls in this skill target the KeyAPI Amazon MCP server:

Server URL : https://mcp.keyapi.ai/amazon/mcp
Auth Header: Authorization: Bearer $KEYAPI_TOKEN

Setup (one-time):

# 1. Install dependencies
npm install

# 2. Set your API token (get one free at https://keyapi.ai/)
export KEYAPI_TOKEN=your_token_here

# 3. List all available tools to verify the connection
node scripts/run.js --platform amazon --list-tools

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills

Analysis Scenarios

User NeedNode(s)Best For
Keyword or ASIN-based product searchproduct_searchProduct discovery, competitive research
Browse products in a specific categoryproducts_by_categoryCategory-level analysis, assortment research
Detailed product info for 1–10 ASINsproduct_detailsProduct audit, price/spec comparison
Top-level category list for a marketplaceproduct_category_listCategory hierarchy discovery
Best sellers, new releases, trending itemsbest_sellerMarket trend monitoring, top-performer benchmarking
Convert ASIN to GTIN/EAN/UPCasin_to_gtinCross-marketplace identifier mapping
Customer reviews for a productproduct_reviewsSentiment analysis, quality signals
Full details for a specific reviewproduct_review_detailsDeep review audit, reviewer profiling
Top-ranked helpful reviewstop_product_reviewsQuick quality pulse, best review sampling
Available purchase offers (new/used/refurb)product_offersPrice comparison, buy box intelligence
Active deals with filtersdealsDeal monitoring, promotional intelligence
Products in a specific dealdeal_productsDeal content analysis
Promo code discount detailspromo_code_detailCoupon validation, discount research
Seller profile and business infoseller_profileSeller credibility assessment
Seller customer reviewsseller_reviewsSeller reputation analysis
Seller product catalogseller_productsSeller assortment research
Amazon influencer storefront profileinfluencer_profileInfluencer discovery, follower/bio data
Influencer posts (lists, photos, videos)influencer_postsContent audit, product promotion patterns
Products in an influencer list postinfluencer_post_productsProduct attribution, affiliate research

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills

Workflow

Step 1 — Identify Analysis Targets and Select Nodes

Clarify the research objective and map it to one or more nodes. Typical entry points:

  • Product discovery: Use product_search with keyword + filters → deepen with product_details for specific ASINs.
  • Category analysis: Use product_category_list to find category_idproducts_by_category to browse listings.
  • Competitive pricing: Combine product_details + product_offers to compare price and condition options.
  • Best seller research: Use best_seller with category path and type parameter.
  • Deal monitoring: Use deals with filters → deal_products for specific deal contents.
  • Seller intelligence: Use seller_profileseller_reviews + seller_products for full seller audit.
  • Review analysis: Use product_reviews with star_rating and verified_purchases_only filters; top_product_reviews for quick sampling.
  • Influencer research: Use influencer_profileinfluencer_postsinfluencer_post_products for product attribution.

Multi-ASIN Batch Calls

product_details and product_offers accept comma-separated ASIN lists in the asin parameter (up to 10 ASINs per call). This enables efficient bulk retrieval in a single request.

Example: "asin": "B07ZPKBL9V,B09SM24S8C,B08N5WRWNW"

country Parameter — Multi-Marketplace Support

Most endpoints accept a country parameter (default: us). Set it to target a specific Amazon marketplace: us, uk, de, fr, it, es, ca, jp, au, in, mx, br, sg, ae, sa, tr, nl, pl, se, be, eg, za, ng, ke

fields Projection

Most endpoints accept an optional fields parameter — a comma-separated list of fields to return. Use it to reduce response payload size and focus on only the data you need.

best_seller Category Path

The category parameter uses the URL path from Amazon's Best Sellers page. For example, software maps to https://www.amazon.com/Best-Sellers-Software/zgbs/software. The type parameter controls the list: BEST_SELLERS, NEW_RELEASES, MOVERS_AND_SHAKERS, MOST_WISHED_FOR, GIFT_IDEAS.

deals Pagination

deals uses offset (not page) for pagination. Increment by 30 for each page: 0, 30, 60, 90, etc.

Influencer Post Workflow

To retrieve products from an influencer post:

  1. Call influencer_posts with influencer_name to list posts — note the post_id values.
  2. Call influencer_post_products with influencer_name + post_id (only works for posts of type list).

Step 2 — Retrieve API Schema

Before calling any node, inspect its input schema to confirm required parameters and available options:

node scripts/run.js --platform amazon --schema <tool_name>

# Examples
node scripts/run.js --platform amazon --schema product_search
node scripts/run.js --platform amazon --schema best_seller
node scripts/run.js --platform amazon --schema deals

Step 3 — Call APIs and Cache Results Locally

Execute tool calls and persist responses to the local cache to avoid redundant API calls.

Calling a tool:

# Single call with pretty output
node scripts/run.js --platform amazon --tool <tool_name> \
  --params '<json_args>' --pretty

# Force fresh data, skip cache
node scripts/run.js --platform amazon --tool <tool_name> \
  --params '<json_args>' --no-cache --pretty

Example — search products with filters:

node scripts/run.js --platform amazon --tool product_search \
  --params '{"query":"wireless earbuds","country":"us","sort_by":"REVIEWS","min_price":20,"max_price":100,"is_prime":true}' --pretty

Example — get details for multiple ASINs in one call:

node scripts/run.js --platform amazon --tool product_details \
  --params '{"asin":"B07ZPKBL9V,B09SM24S8C","country":"us"}' --pretty

Example — get best sellers:

node scripts/run.js --platform amazon --tool best_seller \
  --params '{"category":"electronics","type":"BEST_SELLERS","country":"us","page":1}' --pretty

Example — get active deals:

node scripts/run.js --platform amazon --tool deals \
  --params '{"country":"us","discount_range":"3","min_product_star_rating":"4"}' --pretty

Example — get product reviews filtered by star rating:

node scripts/run.js --platform amazon --tool product_reviews \
  --params '{"asin":"B00939I7EK","sort_by":"TOP_REVIEWS","star_rating":"5_STAR","verified_purchases_only":true,"page":1}' --pretty

Example — get seller profile and reviews:

node scripts/run.js --platform amazon --tool seller_profile \
  --params '{"seller_id":"A02211013Q5HP3OMSZC7W","country":"us"}' --pretty

node scripts/run.js --platform amazon --tool seller_reviews \
  --params '{"seller_id":"A02211013Q5HP3OMSZC7W","star_rating":"NEGATIVE","country":"us"}' --pretty

Example — get influencer posts then products:

# Step 1: get posts
node scripts/run.js --platform amazon --tool influencer_posts \
  --params '{"influencer_name":"tastemade","limit":20}' --pretty

# Step 2: get products from a specific list post
node scripts/run.js --platform amazon --tool influencer_post_products \
  --params '{"influencer_name":"madison.lecroy","post_id":"amzn1.ideas.382NVFBNK3GGQ"}' --pretty

Pagination reference:

EndpointPagination methodNotes
product_search, products_by_category, best_seller, deal_productspage (int, 1-indexed)Standard page-based pagination
product_reviewspage (int, 1-indexed)Also supports cookie for session continuity
product_offerspage (int, 1-indexed)Default limit is 100 offers
seller_reviews, seller_productspage (int)Optional, starts at 1
dealsoffset (int)Multiples of 30: 0, 30, 60, 90…
influencer_posts, influencer_post_productscursor (string)Pass cursor from previous response; omit for first call
product_details, top_product_reviews, seller_profile, promo_code_detail, asin_to_gtin, product_category_listSingle-call or no pagination

product_search and products_by_category sort options:

ValueDescription
RELEVANCEDefault — most relevant results
LOWEST_PRICECheapest first
HIGHEST_PRICEMost expensive first
REVIEWSMost reviewed
NEWESTMost recently listed
BEST_SELLERSBest-selling products first

product_search and products_by_category condition options (product_condition):

ValueDescription
ALLAll conditions (default)
NEWNew products only
USEDUsed products only
RENEWEDRenewed/refurbished products
COLLECTIBLECollectible items

product_search and products_by_category deals filter (deals_and_discounts):

ValueDescription
NONENo filter (default)
ALL_DISCOUNTSAny discounted product
TODAYS_DEALSToday's deals only

product_offers condition options (product_condition):

Pass as comma-separated values: NEW, USED_LIKE_NEW, USED_VERY_GOOD, USED_GOOD, USED_ACCEPTABLE

Cache directory structure:

.keyapi-cache/
└── YYYY-MM-DD/
    ├── product_search/
    │   └── {params_hash}.json
    ├── products_by_category/
    │   └── {params_hash}.json
    ├── product_details/
    │   └── {params_hash}.json
    ├── product_category_list/
    │   └── {params_hash}.json
    ├── best_seller/
    │   └── {params_hash}.json
    ├── asin_to_gtin/
    │   └── {params_hash}.json
    ├── product_reviews/
    │   └── {params_hash}.json
    ├── product_review_details/
    │   └── {params_hash}.json
    ├── top_product_reviews/
    │   └── {params_hash}.json
    ├── product_offers/
    │   └── {params_hash}.json
    ├── deals/
    │   └── {params_hash}.json
    ├── deal_products/
    │   └── {params_hash}.json
    ├── promo_code_detail/
    │   └── {params_hash}.json
    ├── seller_profile/
    │   └── {params_hash}.json
    ├── seller_reviews/
    │   └── {params_hash}.json
    ├── seller_products/
    │   └── {params_hash}.json
    ├── influencer_profile/
    │   └── {params_hash}.json
    ├── influencer_posts/
    │   └── {params_hash}.json
    └── influencer_post_products/
        └── {params_hash}.json

Cache-first policy:

Before every API call, check whether a cached result already exists for the given parameters. If a valid cache file exists, load from disk and skip the API call.

Step 4 — Synthesize and Report Findings

After collecting all API responses, produce a structured e-commerce intelligence report:

For product research:

  1. Product Overview — Title, ASIN, brand, category, price range, availability, Prime status, rating, review count.
  2. Competitive Landscape — Price comparison across sellers and conditions, Buy Box holder, offer distribution.
  3. Review Intelligence — Star rating distribution, top positive and critical themes, verified purchase ratio.
  4. Market Positioning — Best seller rank, category placement, variant availability.

For seller research:

  1. Seller Profile — Business name, overall rating, response rate, storefront description.
  2. Reputation Signals — Review distribution (positive/neutral/negative), recurring feedback themes.
  3. Product Assortment — Catalog size, category coverage, pricing patterns.

For deal and promotion monitoring:

  1. Active Deals — Deal type distribution (Lightning, Prime Exclusive, Prime Early Access), discount depth, category distribution.
  2. Promo Intelligence — Applicable products, discount amounts, validity periods.

For influencer research:

  1. Storefront Overview — Influencer name, follower count, bio, post count.
  2. Content Analysis — Post type breakdown (lists, photos, videos), keyword themes, scope categories.
  3. Product Attribution — Products promoted, category alignment, affiliate depth.

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills

Common Rules

RuleDetail
Multi-ASIN callsproduct_details and product_offers accept up to 10 comma-separated ASINs in a single asin parameter.
country parameterDefaults to us. Pass a two-letter country code to target other Amazon marketplaces (24 supported).
fields projectionMost endpoints accept fields (comma-separated field names) to reduce response size. Use it to fetch only the data you need.
best_seller categoryUse the URL path from Amazon's Best Sellers page as the category value (e.g., electronics, software).
deals paginationUses offset (not page). Increment by 30 for each page: 0, 30, 60, 90…
Influencer post typeinfluencer_post_products only works for posts with type list. Check post type in influencer_posts response first.
product_offers conditionproduct_condition accepts comma-separated values: NEW, USED_LIKE_NEW, USED_VERY_GOOD, USED_GOOD, USED_ACCEPTABLE.
Success checkcode = 0 → success. Any other value → failure. Always check the response code before processing data.
Retry on 500If code = 500, retry the identical request up to 3 times with a 2–3 second pause between attempts before reporting the error.
Cache firstAlways check the local .keyapi-cache/ directory before issuing a live API call.

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills

Error Handling

CodeMeaningAction
0SuccessContinue workflow normally
400Bad request — invalid or missing parametersValidate ASIN format, check batch size limit (max 10), verify country code
401Unauthorized — token missing or expiredConfirm KEYAPI_TOKEN is set correctly; visit keyapi.ai to renew
403Forbidden — plan quota exceeded or feature restrictedReview plan limits at keyapi.ai
404Resource not found — product, seller, or influencer may not existVerify ASIN, seller_id, or influencer_name; product may have been delisted
429Rate limit exceededWait 60 seconds, then retry
500Internal server errorRetry up to 3 times with a 2–3 second pause; if it persists, log the full request and response and skip this node
Other non-0Unexpected errorLog the full response body and surface the error message to the user

Comments

Loading comments...