multiAI Summary Pending
apify-ecommerce
Extract product data, prices, reviews, and seller information from any e-commerce platform using Apify's E-commerce Scraping Tool.
28,273 stars
bysickn33
Installation
Claude Code / Cursor / Codex
$curl -o ~/.claude/skills/apify-ecommerce/SKILL.md --create-dirs "https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/plugins/antigravity-awesome-skills-claude/skills/apify-ecommerce/SKILL.md"
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/apify-ecommerce/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How apify-ecommerce Compares
| Feature / Agent | apify-ecommerce | Standard Approach |
|---|---|---|
| Platform Support | multi | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Extract product data, prices, reviews, and seller information from any e-commerce platform using Apify's E-commerce Scraping Tool.
Which AI agents support this skill?
This skill is compatible with multi.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# E-commerce Data Extraction
Extract product data, prices, reviews, and seller information from any e-commerce platform using Apify's E-commerce Scraping Tool.
## Prerequisites
- `.env` file with `APIFY_TOKEN` (at `~/.claude/.env`)
- Node.js 20.6+ (for native `--env-file` support)
## Workflow Selection
| User Need | Workflow | Best For |
|-----------|----------|----------|
| Track prices, compare products | Workflow 1: Products & Pricing | Price monitoring, MAP compliance, competitor analysis. Add AI summary for insights. |
| Analyze reviews (sentiment or quality) | Workflow 2: Reviews | Brand perception, customer sentiment, quality issues, defect patterns |
| Find sellers across stores | Workflow 3: Sellers | Unauthorized resellers, vendor discovery via Google Shopping |
## Progress Tracking
```
Task Progress:
- [ ] Step 1: Select workflow and determine data source
- [ ] Step 2: Configure Actor input
- [ ] Step 3: Ask user preferences (format, filename)
- [ ] Step 4: Run the extraction script
- [ ] Step 5: Summarize results
```
---
## Workflow 1: Products & Pricing
**Use case:** Extract product data, prices, and stock status. Track competitor prices, detect MAP violations, benchmark products, or research markets.
**Best for:** Pricing analysts, product managers, market researchers.
### Input Options
| Input Type | Field | Description |
|------------|-------|-------------|
| Product URLs | `detailsUrls` | Direct URLs to product pages (use object format) |
| Category URLs | `listingUrls` | URLs to category/search result pages |
| Keyword Search | `keyword` + `marketplaces` | Search term across selected marketplaces |
### Example - Product URLs
```json
{
"detailsUrls": [
{"url": "https://www.amazon.com/dp/B09V3KXJPB"},
{"url": "https://www.walmart.com/ip/123456789"}
],
"additionalProperties": true
}
```
### Example - Keyword Search
```json
{
"keyword": "Samsung Galaxy S24",
"marketplaces": ["www.amazon.com", "www.walmart.com"],
"additionalProperties": true,
"maxProductResults": 50
}
```
### Optional: AI Summary
Add these fields to get AI-generated insights:
| Field | Description |
|-------|-------------|
| `fieldsToAnalyze` | Data points to analyze: `["name", "offers", "brand", "description"]` |
| `customPrompt` | Custom analysis instructions |
**Example with AI summary:**
```json
{
"keyword": "robot vacuum",
"marketplaces": ["www.amazon.com"],
"maxProductResults": 50,
"additionalProperties": true,
"fieldsToAnalyze": ["name", "offers", "brand"],
"customPrompt": "Summarize price range and identify top brands"
}
```
### Output Fields
- `name` - Product name
- `url` - Product URL
- `offers.price` - Current price
- `offers.priceCurrency` - Currency code (may vary by seller region)
- `brand.slogan` - Brand name (nested in object)
- `image` - Product image URL
- Additional seller/stock info when `additionalProperties: true`
> **Note:** Currency may vary in results even for US searches, as prices reflect different seller regions.
---
## Workflow 2: Customer Reviews
**Use case:** Extract reviews for sentiment analysis, brand perception monitoring, or quality issue detection.
**Best for:** Brand managers, customer experience teams, QA teams, product managers.
### Input Options
| Input Type | Field | Description |
|------------|-------|-------------|
| Product URLs | `reviewListingUrls` | Product pages to extract reviews from |
| Keyword Search | `keywordReviews` + `marketplacesReviews` | Search for product reviews by keyword |
### Example - Extract Reviews from Product
```json
{
"reviewListingUrls": [
{"url": "https://www.amazon.com/dp/B09V3KXJPB"}
],
"sortReview": "Most recent",
"additionalReviewProperties": true,
"maxReviewResults": 500
}
```
### Example - Keyword Search
```json
{
"keywordReviews": "wireless earbuds",
"marketplacesReviews": ["www.amazon.com"],
"sortReview": "Most recent",
"additionalReviewProperties": true,
"maxReviewResults": 200
}
```
### Sort Options
- `Most recent` - Latest reviews first (recommended)
- `Most relevant` - Platform default relevance
- `Most helpful` - Highest voted reviews
- `Highest rated` - 5-star reviews first
- `Lowest rated` - 1-star reviews first
> **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.
### Quality Analysis Tips
- Set high `maxReviewResults` for statistical significance
- Look for recurring keywords: "broke", "defect", "quality", "returned"
- Filter results by rating if sorting doesn't work as expected
- Cross-reference with competitor products for benchmarking
---
## Workflow 3: Seller Intelligence
**Use case:** Find sellers across stores, discover unauthorized resellers, evaluate vendor options.
**Best for:** Brand protection teams, procurement, supply chain managers.
> **Note:** This workflow uses Google Shopping to find sellers across stores. Direct seller profile URLs are not reliably supported.
### Input Configuration
```json
{
"googleShoppingSearchKeyword": "Nike Air Max 90",
"scrapeSellersFromGoogleShopping": true,
"countryCode": "us",
"maxGoogleShoppingSellersPerProduct": 20,
"maxGoogleShoppingResults": 100
}
```
### Options
| Field | Description |
|-------|-------------|
| `googleShoppingSearchKeyword` | Product name to search |
| `scrapeSellersFromGoogleShopping` | Set to `true` to extract sellers |
| `scrapeProductsFromGoogleShopping` | Set to `true` to also extract product details |
| `countryCode` | Target country (e.g., `us`, `uk`, `de`) |
| `maxGoogleShoppingSellersPerProduct` | Max sellers per product |
| `maxGoogleShoppingResults` | Total result limit |
---
## Supported Marketplaces
### Amazon (20+ regions)
`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`
### Major US Retailers
`www.walmart.com`, `www.costco.com`, `www.costco.ca`, `www.homedepot.com`
### European Retailers
`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`
### IKEA (40+ country/language combinations)
Supports all major IKEA regional sites with multiple language options.
### Google Shopping
Use for seller discovery across multiple stores.
---
## Running the Extraction
### Step 1: Set Skill Path
```bash
SKILL_PATH=~/.claude/skills/apify-ecommerce
```
### Step 2: Run Script
**Quick answer (display in chat):**
```bash
node --env-file=~/.claude/.env $SKILL_PATH/reference/scripts/run_actor.js \
--actor "apify/e-commerce-scraping-tool" \
--input 'JSON_INPUT'
```
**CSV export:**
```bash
node --env-file=~/.claude/.env $SKILL_PATH/reference/scripts/run_actor.js \
--actor "apify/e-commerce-scraping-tool" \
--input 'JSON_INPUT' \
--output YYYY-MM-DD_filename.csv \
--format csv
```
**JSON export:**
```bash
node --env-file=~/.claude/.env $SKILL_PATH/reference/scripts/run_actor.js \
--actor "apify/e-commerce-scraping-tool" \
--input 'JSON_INPUT' \
--output YYYY-MM-DD_filename.json \
--format json
```
### Step 3: Summarize Results
Report:
- Number of items extracted
- File location (if exported)
- Key insights based on workflow:
- **Products:** Price range, outliers, MAP violations
- **Reviews:** Average rating, sentiment trends, quality issues
- **Sellers:** Seller count, unauthorized sellers found
---
## Error Handling
| Error | Solution |
|-------|----------|
| `APIFY_TOKEN not found` | Ensure `~/.claude/.env` contains `APIFY_TOKEN=your_token` |
| `Actor not found` | Verify Actor ID: `apify/e-commerce-scraping-tool` |
| `Run FAILED` | Check Apify console link in error output |
| `Timeout` | Reduce `maxProductResults` or increase `--timeout` |
| `No results` | Verify URLs are valid and accessible |
| `Invalid marketplace` | Check marketplace value matches supported list exactly |