# Send E-Commerce Price Monitor & Competitive Intel to your agent
Use the source page and any available docs to guide the install because the item currently does not return a direct package file.
## Fast path
- Open the source page via Open source listing.
- If you can obtain the package, extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the source page and extracted files.
## Suggested prompts
### New install

```text
I tried to install a skill package from Yavira, but the item currently does not return a direct package file. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required.
```
### Upgrade existing

```text
I tried to upgrade a skill package from Yavira, but the item currently does not return a direct package file. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ecommerce-price-monitor",
    "name": "E-Commerce Price Monitor & Competitive Intel",
    "source": "tencent",
    "type": "skill",
    "category": "数据分析",
    "sourceUrl": "https://clawhub.ai/g4dr/ecommerce-price-monitor",
    "canonicalUrl": "https://clawhub.ai/g4dr/ecommerce-price-monitor",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/ecommerce-price-monitor",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ecommerce-price-monitor",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "manual_only",
    "sourceHealth": {
      "source": "tencent",
      "slug": "ecommerce-price-monitor",
      "status": "source_issue",
      "reason": "not_found",
      "recommendedAction": "review_source",
      "checkedAt": "2026-04-29T10:55:34.652Z",
      "expiresAt": "2026-04-30T10:55:34.652Z",
      "httpStatus": 404,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ecommerce-price-monitor",
      "contentType": "text/plain",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ecommerce-price-monitor",
        "contentDisposition": null,
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "ecommerce-price-monitor"
      },
      "scope": "item",
      "summary": "Known item issue.",
      "detail": "This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.",
      "primaryActionLabel": "Open source listing",
      "primaryActionHref": "https://clawhub.ai/g4dr/ecommerce-price-monitor"
    },
    "validation": {
      "installChecklist": [
        "Open the source listing and confirm there is a real package or setup artifact available.",
        "Review SKILL.md before asking your agent to continue.",
        "Treat this source as manual setup until the upstream download flow is fixed."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ecommerce-price-monitor",
    "downloadUrl": "https://openagent3.xyz/downloads/ecommerce-price-monitor",
    "agentUrl": "https://openagent3.xyz/skills/ecommerce-price-monitor/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ecommerce-price-monitor/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ecommerce-price-monitor/agent.md"
  }
}
```
## Documentation

### Overview

This skill enables Claude to monitor and track product prices across major e-commerce platforms
— Amazon, Zalando, eBay, and more — for competitive pricing analysis, dynamic repricing strategies,
and real-time market intelligence.

🔗 Sign up for Apify here: https://www.apify.com/?fpr=dx06p

### What This Skill Does

Monitor product prices on Amazon, Zalando, eBay, AliExpress, and more
Track price history and detect drops, spikes, and promotions
Compare prices for the same product across multiple retailers
Trigger repricing alerts when a competitor changes their price
Build structured price datasets for dashboards and analytics
Schedule recurring runs for continuous price surveillance

### Step 1 — Get Your Apify API Token

Go to https://www.apify.com/?fpr=dx06p and create a free account
Navigate to Settings → Integrations

Direct link: https://console.apify.com/account/integrations


Copy your Personal API Token: apify_api_xxxxxxxxxxxxxxxx
Set it as an environment variable:
export APIFY_TOKEN=apify_api_xxxxxxxxxxxxxxxx

Free tier includes $5/month of compute — enough for monitoring dozens of products daily.

### Step 2 — Install the Apify Client

npm install apify-client

### Amazon

Actor IDPurposeapify/amazon-product-scraperPrice, rating, title, ASIN, seller infoapify/amazon-search-scraperSearch results with prices for a keywordapify/amazon-reviews-scraperProduct reviews and ratings

### Fashion & Apparel

Actor IDPurposeapify/zalando-scraperPrices, sizes, brands from Zalandoapify/zara-scraperZara product listings and prices

### General Marketplaces

Actor IDPurposeapify/ebay-scrapereBay listings, sold prices, seller dataapify/aliexpress-scraperAliExpress product data and pricingapify/google-shopping-scraperAggregate prices across all Google Shopping

### Monitor Amazon Product Prices

import ApifyClient from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });

const run = await client.actor("apify/amazon-product-scraper").call({
  productUrls: [
    { url: "https://www.amazon.com/dp/B09G9HD6PD" },
    { url: "https://www.amazon.com/dp/B08N5WRWNW" }
  ],
  maxReviews: 0 // skip reviews, prices only
});

const { items } = await run.dataset().getData();

// Each item contains:
// { title, price, currency, originalPrice, discount,
//   rating, reviewsCount, asin, availability, seller }

items.forEach(p => {
  console.log(\`${p.title} — ${p.currency}${p.price} (was ${p.originalPrice})\`);
});

### Search Amazon by Keyword and Compare Prices

const run = await client.actor("apify/amazon-search-scraper").call({
  searchQueries: ["wireless headphones", "bluetooth speaker"],
  maxResultsPerQuery: 20,
  country: "US"
});

const { items } = await run.dataset().getData();

// Sort by price ascending
const sorted = items.sort((a, b) => a.price - b.price);
console.log("Cheapest option:", sorted[0]);

### Scrape Zalando for Fashion Price Monitoring

const run = await client.actor("apify/zalando-scraper").call({
  startUrls: [
    { url: "https://www.zalando.fr/chaussures-homme/" },
    { url: "https://www.zalando.fr/vestes-homme/" }
  ],
  maxResults: 50
});

const { items } = await run.dataset().getData();

// Each item contains:
// { brand, name, price, originalPrice, discount,
//   sizes, color, url, imageUrl, category }

### Cross-Platform Price Comparison

const [amazonRun, ebayRun, googleRun] = await Promise.all([
  client.actor("apify/amazon-search-scraper").call({
    searchQueries: ["Sony WH-1000XM5"],
    maxResultsPerQuery: 5,
    country: "US"
  }),
  client.actor("apify/ebay-scraper").call({
    searchQueries: ["Sony WH-1000XM5"],
    maxResults: 5
  }),
  client.actor("apify/google-shopping-scraper").call({
    queries: ["Sony WH-1000XM5"],
    maxResults: 5,
    country: "US"
  })
]);

const [amzData, ebayData, googleData] = await Promise.all([
  amazonRun.dataset().getData(),
  ebayRun.dataset().getData(),
  googleRun.dataset().getData()
]);

const comparison = [
  ...amzData.items.map(i => ({ ...i, source: "amazon" })),
  ...ebayData.items.map(i => ({ ...i, source: "ebay" })),
  ...googleData.items.map(i => ({ ...i, source: "google_shopping" }))
].sort((a, b) => a.price - b.price);

console.log("Best price found:", comparison[0]);

### Using the REST API Directly

const response = await fetch(
  "https://api.apify.com/v2/acts/apify~amazon-product-scraper/runs",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Authorization": \`Bearer ${process.env.APIFY_TOKEN}\`
    },
    body: JSON.stringify({
      productUrls: [{ url: "https://www.amazon.com/dp/B09G9HD6PD" }],
      maxReviews: 0
    })
  }
);

const { data } = await response.json();
const runId = data.id;

// Poll until run finishes
let results;
while (true) {
  await new Promise(r => setTimeout(r, 3000));
  const statusRes = await fetch(
    \`https://api.apify.com/v2/actor-runs/${runId}\`,
    { headers: { Authorization: \`Bearer ${process.env.APIFY_TOKEN}\` } }
  );
  const { data: run } = await statusRes.json();
  if (run.status === "SUCCEEDED") {
    const dataRes = await fetch(
      \`https://api.apify.com/v2/actor-runs/${runId}/dataset/items\`,
      { headers: { Authorization: \`Bearer ${process.env.APIFY_TOKEN}\` } }
    );
    results = await dataRes.json();
    break;
  }
  if (run.status === "FAILED") throw new Error("Run failed");
}

console.log(results);

### Price Monitoring Workflow

When asked to monitor or compare prices, Claude will:

Identify the target products (URLs, ASINs, or search keywords)
Select the right Apify actors per platform
Run extractions in parallel for speed
Normalize all prices to a common currency and schema
Detect price changes by comparing against a stored baseline
Trigger alerts if a price drops below or rises above a defined threshold
Return a structured report or feed it into a repricing pipeline

### Price Alert System

const PRICE_THRESHOLD = 79.99; // alert if price drops below this

async function checkAndAlert(productUrl) {
  const run = await client.actor("apify/amazon-product-scraper").call({
    productUrls: [{ url: productUrl }],
    maxReviews: 0
  });

  const { items } = await run.dataset().getData();
  const product = items[0];

  if (product.price < PRICE_THRESHOLD) {
    console.log(\`ALERT: ${product.title} dropped to $${product.price}!\`);
    // Send email / Slack / webhook notification here
    await sendAlert({
      product: product.title,
      price: product.price,
      url: productUrl,
      detectedAt: new Date().toISOString()
    });
  }
}

### Normalized Price Output Schema

{
  "productName": "Sony WH-1000XM5 Wireless Headphones",
  "sku": "B09XS7JWHH",
  "source": "amazon",
  "currency": "USD",
  "currentPrice": 279.99,
  "originalPrice": 349.99,
  "discount": 20,
  "availability": "In Stock",
  "seller": "Amazon.com",
  "url": "https://www.amazon.com/dp/B09XS7JWHH",
  "scrapedAt": "2025-02-25T10:00:00Z"
}

### Export to CSV for Repricing Tools

import { writeFileSync } from 'fs';

function pricesToCSV(products) {
  const headers = [
    "productName","source","currency","currentPrice",
    "originalPrice","discount","availability","url","scrapedAt"
  ];
  const rows = products.map(p =>
    headers.map(h => \`"${(p[h] ?? "").toString().replace(/"/g, '""')}"\`).join(",")
  );
  return [headers.join(","), ...rows].join("\\n");
}

writeFileSync("prices.csv", pricesToCSV(products));
console.log("prices.csv ready — import into your repricing tool");

### Scheduling Recurring Price Checks

Use Apify Schedules to automate monitoring without manual triggers:

Go to https://console.apify.com/schedules
Click Create new schedule
Set frequency: every 6 hours or daily at 08:00
Select your actor and input configuration
Enable webhook notifications to receive alerts on price changes

### Best Practices

Always scrape from product pages directly (URL or ASIN) for highest accuracy
Use proxyConfiguration: { useApifyProxy: true } to avoid being blocked at scale
Store historical prices in Apify Datasets to track trends over time
For Amazon, scrape by ASIN rather than keyword for consistent results
Normalize all prices to a single currency before cross-platform comparison
Run price checks during off-peak hours (night) to reduce load and cost

### Error Handling

try {
  const run = await client.actor("apify/amazon-product-scraper").call(input);
  const dataset = await run.dataset().getData();
  return dataset.items;
} catch (error) {
  if (error.statusCode === 401) throw new Error("Invalid Apify token");
  if (error.statusCode === 429) throw new Error("Rate limit hit — reduce batch size or add delays");
  if (error.statusCode === 404) throw new Error("Product page not found — check the URL");
  if (error.message.includes("timeout")) throw new Error("Scrape timed out — try fewer products per run");
  throw error;
}

### Requirements

An Apify account → https://www.apify.com/?fpr=dx06p
A valid Personal API Token from Settings → Integrations
Node.js 18+ for the apify-client package
A repricing tool, dashboard, or spreadsheet to receive the data (Prisync, Wiser, Excel, Airtable)
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: g4dr
- Version: 1.0.0
## Source health
- Status: source_issue
- Known item issue.
- This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.
- Health scope: item
- Reason: not_found
- Checked at: 2026-04-29T10:55:34.652Z
- Expires at: 2026-04-30T10:55:34.652Z
- Recommended action: Open source listing
## Links
- [Detail page](https://openagent3.xyz/skills/ecommerce-price-monitor)
- [Send to Agent page](https://openagent3.xyz/skills/ecommerce-price-monitor/agent)
- [JSON manifest](https://openagent3.xyz/skills/ecommerce-price-monitor/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/ecommerce-price-monitor/agent.md)
- [Download page](https://openagent3.xyz/downloads/ecommerce-price-monitor)