Amazon Product Data Monitor
By asermnasr
AGENTMonitoring
descriptionDescription
Scrapes detailed product information from Amazon listings, including price, images, availability, ratings, and seller details using a product ASIN.
data_objectVariables
asinstring
B0CG5VDC8P
settingsBehavior & Action Config
Wait Time (ms)3
Rotate UAfalse
Rotate Proxiesfalse
Rotate Viewportfalse
Human Typingfalse
Shadow DOMtrue
Disable Recordingfalse
Stateless Execfalse
Stealth Features
fatigue
allowTypos
deadClicks
overscroll
idleMovements
naturalTyping
account_treeAutomation Steps
No explicit actions defined in configuration.
outputExpected Output
| title | price | image_urls | availability | rating | rating_count | sold_by | ships_from |
|---|---|---|---|---|---|---|---|
Amazon Basics Smart A19 LED Light Bulb, Color Changing, 9W (60W Equivalent), 800LM, Works with Alexa Only, WiFi 2.4 GHz, No Hub Required, Mood Lighting, Energy Efficient, 1-Pack | $10.20 | https://m.media-amazon.com/images/I/71InrzITFhL._AC_SY450_.jpg,https://m.media-amazon.com/images/I/71InrzITFhL._AC_SX679_.jpg,https://m.media-amazon.com/images/I/71InrzITFhL._AC_SY355_.jpg,https://m.media-amazon.com/images/I/71InrzITFhL._AC_SX569_.jpg,https://m.media-amazon.com/images/I/71InrzITFhL._AC_SX425_.jpg,https://m.media-amazon.com/images/I/71InrzITFhL._AC_SX522_.jpg,https://m.media-amazon.com/images/I/71InrzITFhL._AC_SX466_.jpg | In Stock | 4.4 | 38062 | Amazon Resale and Fulfilled by Amazon | Amazon |
codeExtraction Script
// Helper to safely get text
const getSafeText = (el) => {
if (!el) return "";
const text = el.innerText || el.textContent || "";
return text.trim().replace(/\s+/g, ' ');
};
// 1. Title
const title = getSafeText(document.querySelector('#productTitle')) || null;
// 2. Price
const priceEl = document.querySelector('.a-price .a-offscreen') ||
document.querySelector('#price_inside_buybox') ||
document.querySelector('.a-price-whole');
const price = priceEl ? getSafeText(priceEl) : null;
// 3. Image URLs
let image_urls = [];
const imgEl = document.querySelector('#landingImage');
if (imgEl) {
const dynamicData = imgEl.getAttribute('data-a-dynamic-image');
if (dynamicData) {
try {
const imgMap = JSON.parse(dynamicData);
image_urls = Object.keys(imgMap);
} catch (e) {
image_urls = [imgEl.src];
}
} else {
image_urls = [imgEl.src];
}
}
// 4. Availability
const availability = getSafeText(document.querySelector('#availability')) || null;
// 5. Ratings (Average & Count)
let rating = null;
let rating_count = null;
// Get the average stars (e.g., "4.5 out of 5 stars")
const ratingEl = document.querySelector('#acrPopover') || document.querySelector('.a-icon-star');
if (ratingEl) {
const ratingText = ratingEl.getAttribute('title') || getSafeText(ratingEl);
// Extract just the number (e.g., "4.5")
const match = ratingText.match(/([0-9.]+)\s*out of/i);
if (match) rating = match[1];
}
// Get the total count (e.g., "12,345 ratings")
const countEl = document.querySelector('#acrCustomerReviewText');
if (countEl) {
const countText = getSafeText(countEl);
// Remove commas and get the number
rating_count = countText.replace(/[^0-9]/g, '');
}
// 6. Seller and Shipper
let ships_from = null;
let sold_by = null;
// Strategy A: Tabular Buybox
const buyboxRows = document.querySelectorAll('#tabular_feature_div tr, .tabular-buybox-container tr');
buyboxRows.forEach(row => {
const label = getSafeText(row.querySelector('.tabular-buybox-label')).toLowerCase();
const value = getSafeText(row.querySelector('.tabular-buybox-value'));
if (label.includes('ships from')) ships_from = value;
if (label.includes('sold by')) sold_by = value;
});
// Strategy B: Merchant Info Fallback
if (!sold_by || !ships_from) {
const merchantInfo = document.querySelector('#merchant-info');
if (merchantInfo) {
const text = getSafeText(merchantInfo);
const sbMatch = text.match(/Sold by\s+([^.]+)/i);
if (sbMatch && sbMatch[1]) sold_by = sbMatch[1].trim();
const sfMatch = text.match(/Ships from\s+([^.]+)/i);
if (sfMatch && sfMatch[1]) {
ships_from = sfMatch[1].trim();
} else if (text.toLowerCase().includes('fulfilled by amazon')) {
ships_from = "Amazon";
}
}
}
return {
title,
price,
image_urls,
availability,
rating,
rating_count,
sold_by,
ships_from
};