# Price Pulse (`dhruboai/price-pulse`) Actor

A robust Amazon product data scraper. Extracts real-time pricing, currency, and stock availability. Residential proxies are highly recommended for optimal performance.

- **URL**: https://apify.com/dhruboai/price-pulse.md
- **Developed by:** [Mehmed Hasan Rajim](https://apify.com/dhruboai) (community)
- **Categories:** E-commerce, Developer tools, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 successful price extractions

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🚀 Price Pulse - Advanced Amazon Product Scraper

**Price Pulse** is a highly robust, stealthy, and efficient web scraper designed to extract real-time pricing, stock availability, and product metadata from Amazon. Built on top of Crawlee and Puppeteer, it features an intelligent fallback mechanism to handle Amazon's strict anti-bot protections smoothly.

### ✨ Key Features

- **Real-Time Price Extraction:** Accurately scrapes pricing data, including currency detection, using both structured data (JSON-LD) and advanced DOM parsing.
- **Stock Availability:** Instantly checks if a product is "In Stock," "Out of Stock," or "Currently Unavailable."
- **Smart Anti-Bot Handling:** Automatically detects Amazon Captchas or hard blocks and gracefully skips them without crashing the entire run.
- **Pay-Per-Success (MCP):** Integrated with Apify's monetization system. You are only charged for **successful price extractions**. If a page fails or redirects, you don't pay the event fee!

***

### ⚠️ CRITICAL: Proxy Configuration (Must Read)

Amazon has one of the strictest anti-scraping firewalls (WAF) in the world. **You CANNOT use free or Datacenter proxies.**
To get successful results and avoid "HTTP 500" or "Robot Check" blocks, you **MUST** use **Residential Proxies**.

**How to set it up:**

1. Go to the **Proxy Configuration** in the input settings.
2. Select **Apify Proxy**.
3. Choose **Residential** from the proxy groups.

***

### 🛠️ How to Use Price Pulse (Step-by-Step)

#### Step 1: Provide Input

Enter the specific Amazon Product URLs you want to track. You can also define the maximum number of items and the retry count for failed requests.

**Input Configuration Format:**

```json
{
  "productUrls": [
    "https://www.amazon.com/dp/B0CHWRXH8B",
    "https://www.amazon.com/dp/B09G9D7K6S"
  ],
  "maxItems": 20,
  "retryCount": 3,
  "proxyConfig": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
```

#### Step 2: Run the Actor

Click the "Start" button. The crawler will launch a headless browser, mimic real user behavior, and navigate to your target URLs.

#### Step 3: Download Your Data

Once the run is complete, you can download the extracted data in your preferred format (JSON, CSV, Excel, XML).

***

### 📦 Sample Output Structure

```json
{
  "url": "https://www.amazon.com/dp/B0CHWRXH8B",
  "title": "Apple AirPods Pro (2nd Generation) Wireless Earbuds",
  "price": {
    "amount": 249.00,
    "currency": "USD"
  },
  "inStock": true,
  "sku": "B0CHWRXH8B",
  "status": "SUCCESS",
  "retrievedAt": "2026-05-13T10:25:00.000Z"
}
```

***

### 💰 Pricing & Monetization

Price Pulse uses Apify's Pay-per-event pricing model. This guarantees that you get exactly what you pay for.

- **Platform Cost:** Standard Apify compute unit usage.
- **Extraction Fee:** You are charged a micro-fee only when a product price is successfully extracted. Failed URLs, captchas, or skipped pages do not trigger the extraction charge.

***

### 👨‍💻 Developer & Support

Built with ❤️ for data analysts, dropshippers, and e-commerce professionals.

If you encounter any bugs, need custom adjustments, or want to integrate this API into your internal systems, feel free to open an issue or contact the developer via the Apify platform.

# Actor input Schema

## `productUrls` (type: `array`):

List of product URLs to scrape (Currently supports Amazon only).

## `maxItems` (type: `integer`):

Maximum number of products to process (Limit: 50).

## `proxyConfig` (type: `object`):

Configure Apify Proxy settings to bypass anti-bot protections (Residential proxies are highly recommended for Amazon).

## `retryCount` (type: `integer`):

Maximum number of retries for failed or blocked requests.

## Actor input object example

```json
{
  "productUrls": [
    "https://www.amazon.com/dp/B09G9D7K6S"
  ],
  "maxItems": 20,
  "proxyConfig": {
    "useApifyProxy": true
  },
  "retryCount": 3
}
```

# Actor output Schema

## `dataset` (type: `string`):

JSON lines containing verified price and stock data.

## `keyValueStore` (type: `string`):

Location of output images or configuration files.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "productUrls": [
        "https://www.amazon.com/dp/B09G9D7K6S"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("dhruboai/price-pulse").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "productUrls": ["https://www.amazon.com/dp/B09G9D7K6S"] }

# Run the Actor and wait for it to finish
run = client.actor("dhruboai/price-pulse").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "productUrls": [
    "https://www.amazon.com/dp/B09G9D7K6S"
  ]
}' |
apify call dhruboai/price-pulse --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=dhruboai/price-pulse",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/8ho0VAofx6nQeyWhQ/builds/RDFUs5s6js5snGiL8/openapi.json
