[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-74404545-a15c-4d6c-b853-893eb27b8d76":3,"$frv46dC6DUXYFPPOV3ijoNAOf8r7meNYjrSXO_30W5Xo":42},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":33},"74404545-a15c-4d6c-b853-893eb27b8d76","apify-ecommerce","使用Apify的电子商务抓取工具从任何电子商务平台提取产品数据、价格、评论和卖家信息。","cat_coding_backend","mod_coding","sickn33,coding","---\nname: apify-ecommerce\ndescription: \"Extract product data, prices, reviews, and seller information from any e-commerce platform using Apify's E-commerce Scraping Tool.\"\nrisk: unknown\nsource: community\n---\n\n# E-commerce Data Extraction\n\nExtract product data, prices, reviews, and seller information from any e-commerce platform using Apify's E-commerce Scraping Tool.\n\n## When to Use\n- You need product, pricing, review, stock, or seller data from e-commerce sites.\n- The task involves price monitoring, competitor product comparison, MAP enforcement, or review analysis.\n- You need a guided workflow for extracting marketplace data and summarizing findings.\n\n## Prerequisites\n\n- `.env` file with `APIFY_TOKEN` (at `~\u002F.claude\u002F.env`)\n- Node.js 20.6+ (for native `--env-file` support)\n\n## Workflow Selection\n\n| User Need | Workflow | Best For |\n|-----------|----------|----------|\n| Track prices, compare products | Workflow 1: Products & Pricing | Price monitoring, MAP compliance, competitor analysis. Add AI summary for insights. |\n| Analyze reviews (sentiment or quality) | Workflow 2: Reviews | Brand perception, customer sentiment, quality issues, defect patterns |\n| Find sellers across stores | Workflow 3: Sellers | Unauthorized resellers, vendor discovery via Google Shopping |\n\n## Progress Tracking\n\n```\nTask Progress:\n- [ ] Step 1: Select workflow and determine data source\n- [ ] Step 2: Configure Actor input\n- [ ] Step 3: Ask user preferences (format, filename)\n- [ ] Step 4: Run the extraction script\n- [ ] Step 5: Summarize results\n```\n\n---\n\n## Workflow 1: Products & Pricing\n\n**Use case:** Extract product data, prices, and stock status. Track competitor prices, detect MAP violations, benchmark products, or research markets.\n\n**Best for:** Pricing analysts, product managers, market researchers.\n\n### Input Options\n\n| Input Type | Field | Description |\n|------------|-------|-------------|\n| Product URLs | `detailsUrls` | Direct URLs to product pages (use object format) |\n| Category URLs | `listingUrls` | URLs to category\u002Fsearch result pages |\n| Keyword Search | `keyword` + `marketplaces` | Search term across selected marketplaces |\n\n### Example - Product URLs\n```json\n{\n  \"detailsUrls\": [\n    {\"url\": \"https:\u002F\u002Fwww.amazon.com\u002Fdp\u002FB09V3KXJPB\"},\n    {\"url\": \"https:\u002F\u002Fwww.walmart.com\u002Fip\u002F123456789\"}\n  ],\n  \"additionalProperties\": true\n}\n```\n\n### Example - Keyword Search\n```json\n{\n  \"keyword\": \"Samsung Galaxy S24\",\n  \"marketplaces\": [\"www.amazon.com\", \"www.walmart.com\"],\n  \"additionalProperties\": true,\n  \"maxProductResults\": 50\n}\n```\n\n### Optional: AI Summary\n\nAdd these fields to get AI-generated insights:\n\n| Field | Description |\n|-------|-------------|\n| `fieldsToAnalyze` | Data points to analyze: `[\"name\", \"offers\", \"brand\", \"description\"]` |\n| `customPrompt` | Custom analysis instructions |\n\n**Example with AI summary:**\n```json\n{\n  \"keyword\": \"robot vacuum\",\n  \"marketplaces\": [\"www.amazon.com\"],\n  \"maxProductResults\": 50,\n  \"additionalProperties\": true,\n  \"fieldsToAnalyze\": [\"name\", \"offers\", \"brand\"],\n  \"customPrompt\": \"Summarize price range and identify top brands\"\n}\n```\n\n### Output Fields\n- `name` - Product name\n- `url` - Product URL\n- `offers.price` - Current price\n- `offers.priceCurrency` - Currency code (may vary by seller region)\n- `brand.slogan` - Brand name (nested in object)\n- `image` - Product image URL\n- Additional seller\u002Fstock info when `additionalProperties: true`\n\n> **Note:** Currency may vary in results even for US searches, as prices reflect different seller regions.\n\n---\n\n## Workflow 2: Customer Reviews\n\n**Use case:** Extract reviews for sentiment analysis, brand perception monitoring, or quality issue detection.\n\n**Best for:** Brand managers, customer experience teams, QA teams, product managers.\n\n### Input Options\n\n| Input Type | Field | Description |\n|------------|-------|-------------|\n| Product URLs | `reviewListingUrls` | Product pages to extract reviews from |\n| Keyword Search | `keywordReviews` + `marketplacesReviews` | Search for product reviews by keyword |\n\n### Example - Extract Reviews from Product\n```json\n{\n  \"reviewListingUrls\": [\n    {\"url\": \"https:\u002F\u002Fwww.amazon.com\u002Fdp\u002FB09V3KXJPB\"}\n  ],\n  \"sortReview\": \"Most recent\",\n  \"additionalReviewProperties\": true,\n  \"maxReviewResults\": 500\n}\n```\n\n### Example - Keyword Search\n```json\n{\n  \"keywordReviews\": \"wireless earbuds\",\n  \"marketplacesReviews\": [\"www.amazon.com\"],\n  \"sortReview\": \"Most recent\",\n  \"additionalReviewProperties\": true,\n  \"maxReviewResults\": 200\n}\n```\n\n### Sort Options\n- `Most recent` - Latest reviews first (recommended)\n- `Most relevant` - Platform default relevance\n- `Most helpful` - Highest voted reviews\n- `Highest rated` - 5-star reviews first\n- `Lowest rated` - 1-star reviews first\n\n> **Note:** The `sortReview: \"Lowest rated\"` option may not work consistently across all marketplaces. For quality analysis, collect a large sample and filter by rating in post-processing.\n\n### Quality Analysis Tips\n- Set high `maxReviewResults` for statistical significance\n- Look for recurring keywords: \"broke\", \"defect\", \"quality\", \"returned\"\n- Filter results by rating if sorting doesn't work as expected\n- Cross-reference with competitor products for benchmarking\n\n---\n\n## Workflow 3: Seller Intelligence\n\n**Use case:** Find sellers across stores, discover unauthorized resellers, evaluate vendor options.\n\n**Best for:** Brand protection teams, procurement, supply chain managers.\n\n> **Note:** This workflow uses Google Shopping to find sellers across stores. Direct seller profile URLs are not reliably supported.\n\n### Input Configuration\n```json\n{\n  \"googleShoppingSearchKeyword\": \"Nike Air Max 90\",\n  \"scrapeSellersFromGoogleShopping\": true,\n  \"countryCode\": \"us\",\n  \"maxGoogleShoppingSellersPerProduct\": 20,\n  \"maxGoogleShoppingResults\": 100\n}\n```\n\n### Options\n| Field | Description |\n|-------|-------------|\n| `googleShoppingSearchKeyword` | Product name to search |\n| `scrapeSellersFromGoogleShopping` | Set to `true` to extract sellers |\n| `scrapeProductsFromGoogleShopping` | Set to `true` to also extract product details |\n| `countryCode` | Target country (e.g., `us`, `uk`, `de`) |\n| `maxGoogleShoppingSellersPerProduct` | Max sellers per product |\n| `maxGoogleShoppingResults` | Total result limit |\n\n---\n\n## Supported Marketplaces\n\n### Amazon (20+ regions)\n`www.amazon.com`, `www.amazon.co.uk`, `www.amazon.de`, `www.amazon.fr`, `www.amazon.it`, `www.amazon.es`, `www.amazon.ca`, `www.amazon.com.au`, `www.amazon.co.jp`, `www.amazon.in`, `www.amazon.com.br`, `www.amazon.com.mx`, `www.amazon.nl`, `www.amazon.pl`, `www.amazon.se`, `www.amazon.ae`, `www.amazon.sa`, `www.amazon.sg`, `www.amazon.com.tr`, `www.amazon.eg`\n\n### Major US Retailers\n`www.walmart.com`, `www.costco.com`, `www.costco.ca`, `www.homedepot.com`\n\n### European Retailers\n`allegro.pl`, `allegro.cz`, `allegro.sk`, `www.alza.cz`, `www.alza.sk`, `www.alza.de`, `www.alza.at`, `www.alza.hu`, `www.kaufland.de`, `www.kaufland.pl`, `www.kaufland.cz`, `www.kaufland.sk`, `www.kaufland.at`, `www.kaufland.fr`, `www.kaufland.it`, `www.cdiscount.com`\n\n### IKEA (40+ country\u002Flanguage combinations)\nSupports all major IKEA regional sites with multiple language options.\n\n### Google Shopping\nUse for seller discovery across multiple stores.\n\n---\n\n## Running the Extraction\n\n### Step 1: Set Skill Path\n```bash\nSKILL_PATH=~\u002F.claude\u002Fskills\u002Fapify-ecommerce\n```\n\n### Step 2: Run Script\n\n**Quick answer (display in chat):**\n```bash\nnode --env-file=~\u002F.claude\u002F.env $SKILL_PATH\u002Freference\u002Fscripts\u002Frun_actor.js \\\n  --actor \"apify\u002Fe-commerce-scraping-tool\" \\\n  --input 'JSON_INPUT'\n```\n\n**CSV export:**\n```bash\nnode --env-file=~\u002F.claude\u002F.env $SKILL_PATH\u002Freference\u002Fscripts\u002Frun_actor.js \\\n  --actor \"apify\u002Fe-commerce-scraping-tool\" \\\n  --input 'JSON_INPUT' \\\n  --output YYYY-MM-DD_filename.csv \\\n  --format csv\n```\n\n**JSON export:**\n```bash\nnode --env-file=~\u002F.claude\u002F.env $SKILL_PATH\u002Freference\u002Fscripts\u002Frun_actor.js \\\n  --actor \"apify\u002Fe-commerce-scraping-tool\" \\\n  --input 'JSON_INPUT' \\\n  --output YYYY-MM-DD_filename.json \\\n  --format json\n```\n\n### Step 3: Summarize Results\n\nReport:\n- Number of items extracted\n- File location (if exported)\n- Key insights based on workflow:\n  - **Products:** Price range, outliers, MAP violations\n  - **Reviews:** Average rating, sentiment trends, quality issues\n  - **Sellers:** Seller count, unauthorized sellers found\n\n---\n\n## Error Handling\n\n| Error | Solution |\n|-------|----------|\n| `APIFY_TOKEN not found` | Ensure `~\u002F.claude\u002F.env` contains `APIFY_TOKEN=your_token` |\n| `Actor not found` | Verify Actor ID: `apify\u002Fe-commerce-scraping-tool` |\n| `Run FAILED` | Check Apify console link in error output |\n| `Timeout` | Reduce `maxProductResults` or increase `--timeout` |\n| `No results` | Verify URLs are valid and accessible |\n| `Invalid marketplace` | Check marketplace value matches supported list exactly |\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,179,787,"2026-05-16 13:03:48",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"编程开发","coding","mdi-code-braces","代码生成、调试、审查，提升开发效率",2,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":25,"skillCount":32,"createdAt":26},"后端开发","backend","mdi-server","API、数据库、服务端架构",296,[34],{"id":35,"skillId":4,"version":36,"fileName":37,"fileSize":38,"filePath":39,"fileHash":40,"manifest":41,"createdAt":19},"b6724c9e-909f-4f99-b6ff-a907de0824b2","1.0.0","apify-ecommerce.zip",7246,"uploads\u002Fskills\u002F74404545-a15c-4d6c-b853-893eb27b8d76\u002Fapify-ecommerce.zip","4af719b686dff173ce741e4d8c4c95d5f390f1539a368f2716bf269b14acaedd","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":9177},{\"path\":\"reference\u002Fscripts\u002Fpackage.json\",\"isDirectory\":false,\"size\":23},{\"path\":\"reference\u002Fscripts\u002Frun_actor.js\",\"isDirectory\":false,\"size\":12009}]",{"code":43,"message":44,"data":45},200,"success",{"items":46,"stats":47,"page":50},[],{"averageRating":48,"totalRatings":48,"ratingCounts":49},0,[48,48,48,48,48],{"limit":51,"offset":48,"hasMore":52,"nextOffset":51,"ratedOnly":16},15,false]