E-commerce Data Cleaner & Analyzer
Pricing
from $0.01 / actor start
E-commerce Data Cleaner & Analyzer
Turn messy scraper output into clean, deduplicated, calculated reports for AI agents. 90-99% fewer tokens, exact figures, zero hallucination. Detects price anomalies, fake discounts and duplicates. Works with Amazon, AliExpress, eBay, Temu — any dataset. 100% deterministic Python.
Pricing
from $0.01 / actor start
Rating
0.0
(0)
Developer
Nicolas Dupuis
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Turns raw scraper output into a compact, calculated report ready for AI agents.
Token reduction on real datasets:
| Source | Items | Tokens in | Tokens out | Reduction |
|---|---|---|---|---|
| Amazon Free Scraper | 100 | 1,506,023 | 886 | 99.9% |
| Amazon Bestsellers | 30 | 27,596 | 687 | 97.5% |
| AliExpress Scraper | 100 | 25,020 | 1,316 | 94.7% |
| eBay Scraper | 69 | 10,074 | 1,027 | 89.8% |
What it does
- Field mapping — normalises field names across scrapers (title/name/productName → name, priceCurrent/$5.59/{value:29.99} → price, etc.)
- Price normalisation — handles strings ("US $5.59"), objects ({value: 29.99}), ranges ("$12–$15"), currencies ($, €, £)
- Anomaly detection — IQR×1.5, flags price outliers (e.g. a Yamaha piano at $6,499 in a keyboard dataset at $36 median)
- Fake promo detection — discount >90% + repeated price + low sales = suspicious (e.g. 6 products at exactly $0.33 with "-95%")
- Duplicate detection — exact ASIN match + fuzzy name similarity (rapidfuzz ≥85)
- Quality ranking — rating × log(reviews+1); falls back to rating-only when reviews are absent
- 100% deterministic — no LLM in the pipeline, no hallucination, no random output
Input
| Field | Required | Description |
|---|---|---|
datasetId | one of the two | Apify dataset ID from a previous scraper run |
rawJson | one of the two | Raw JSON array of products |
apifyToken | no | Token to access private datasets (defaults to actor account token) |
Output (single record in dataset)
{"source": "apify:abc123","products_analyzed": 100,"price_stats": { "median": 43.31, "mean": 119.66, "min": 11.70, "max": 6499.99, ... },"conclusions": {"cheapest": { "name": "Amazon Basics Keyboard", "price": 11.70 },"best_value": { "name": "Logitech MK270", "price": 29.99, "score": 52.24 },"most_expensive": { "name": "Yamaha 76-Key", "price": 6499.99 }},"anomalies": { "count": 5, "rule": "IQR×1.5", "items": [...] },"fake_promos_suspects": { "count": 5, "rule": "discount>90% + ≥2 signals", "items": [...] },"duplicates": { "extra_copies_found": 8, "groups": 4, "examples": [...] },"_meta": { "tokens_raw": 1506023, "tokens_report": 886, "reduction_pct": 99.9, "cost_saved_usd": 3.76 }}
Usage with other Apify actors
Chain it directly after any scraper:
- Run Amazon Product Scraper → get
datasetId - Run E-commerce Data Cleaner with that
datasetIdas input - Your agent receives a 99%+ compressed, analysed report
MCP server
This actor also ships as an MCP server (mcp_server.py) for direct integration with Claude Desktop or any MCP-compatible agent.