# Amazon Image Search Scraper (`piotrv1001/amazon-image-search-scraper`) Actor

The Amazon Image Search Scraper finds Amazon products matching a photo — every item detected in the picture gets ranked matches with ASIN, title, brand, price, list price, rating, review count and match score across 6 Amazon stores — ideal for sourcing, dupe finding and catalogue matching.

- **URL**: https://apify.com/piotrv1001/amazon-image-search-scraper.md
- **Developed by:** [FalconScrape](https://apify.com/piotrv1001) (community)
- **Categories:** E-commerce, AI, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 image searches

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### 🚀 Amazon Image Search Scraper

Search Amazon by photo. The **Amazon Image Search Scraper** takes image URLs and returns the Amazon products that look like what is in the picture, with title, brand, price, list price, star rating, review count, product image and a match score. Amazon detects each item in the photo (shoes, bag, top, trousers, sofa, lamp...) and matches every one of them, so a single outfit picture can return products for every piece. Use it for product sourcing, dupe finding, competitor and price research, and matching your own catalogue to Amazon ASINs.

### ✨ Features

- 📷 **Photo in, products out**: Any direct JPEG or PNG link (up to 5 MB) or a data: URL. One search per image.
- 🧩 **Every item in the photo**: Each product Amazon recognizes in the picture gets its own matches, labelled with the detected item (e.g. `shoes` / `fashion_sneaker`) and its position in your photo.
- 🏷️ **Full product rows**: ASIN, product URL, title, brand, price, list price, currency, rating, review count, availability, product group, number of variations and colours, image.
- 📈 **Ranked by similarity**: Best matches first, with Amazon's own match score; each product appears once per run.
- 🌍 **6 Amazon stores**: Amazon.com, Amazon.co.uk, Amazon.de, Amazon.it, Amazon.es and Amazon.in, with prices in the store's currency.
- 💸 **Pay for results only**: Images that fail to load or match nothing are free.

### 🛠️ How It Works

1. **Paste image URLs**: product photos, screenshots, outfit or room pictures.
2. **Pick the Amazon store** and how many products you want per image.
3. **Run the scraper**: you get one row per matching product, grouped by the image that found it.

### 💰 Pricing

| Event           |  Price | What you get                                       |
| --------------- | -----: | -------------------------------------------------- |
| Image search    |  $0.01 | One photo searched that returned matching products |
| Product listing | $0.001 | Each matching product saved                        |

A run also has a $0.00005 start fee. Example: 100 photos with 30 matching products each cost 100 × $0.01 + 3,000 × $0.001 = **$4.00**. Images that cannot be loaded or match nothing are not charged.

### 📥 Input

| Field                | Type    | Description                                                                                 |
| -------------------- | ------- | ------------------------------------------------------------------------------------------- |
| `imageUrls`          | array   | Image URLs (JPEG/PNG) or data: URLs to search with.                                         |
| `marketplace`        | string  | `amazon.com` (default), `amazon.co.uk`, `amazon.de`, `amazon.it`, `amazon.es`, `amazon.in`. |
| `maxResultsPerImage` | integer | Most products to save per image, best matches first. Default `50`.                          |
| `proxyConfiguration` | object  | Keep the default.                                                                           |

Example:

```json
{
    "imageUrls": ["https://images.unsplash.com/photo-1542291026-7eec264c27ff?w=800"],
    "marketplace": "amazon.com",
    "maxResultsPerImage": 50
}
```

### 📊 Sample Output Data

One row per matching product:

```json
[
    {
        "searchImage": "https://images.unsplash.com/photo-1542291026-7eec264c27ff?w=800",
        "position": 1,
        "asin": "B00H86HIIQ",
        "url": "https://www.amazon.com/dp/B00H86HIIQ",
        "title": "Nike Mens Free Flyknit 4.0 Brght Crmsn/White/Unvrsty Rd/T Running Shoe 10.5 M...",
        "brand": "Nike",
        "price": 329.99,
        "listPrice": null,
        "currency": "USD",
        "image": "https://m.media-amazon.com/images/I/612nOLpvStL.jpg",
        "rating": 3.6,
        "reviewCount": 10,
        "availability": "IN_STOCK_SCARCE",
        "productGroup": "shoes",
        "variationCount": 0,
        "colorCount": 0,
        "matchScore": 0.64755917,
        "detectedObject": {
            "label": "shoes",
            "fineLabel": "fashion_sneaker",
            "confidence": 0.9663,
            "box": { "x": 149, "y": 34, "width": 490, "height": 440, "imageWidth": 800, "imageHeight": 533 }
        },
        "marketplace": "amazon.com",
        "scrapedAt": "2026-10-09T09:30:07.257Z"
    },
    {
        "searchImage": "https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=800",
        "position": 27,
        "asin": "B0D2MHVCQX",
        "url": "https://www.amazon.com/dp/B0D2MHVCQX",
        "title": "Wrofly Cloud Couch for Living Room, 59\" Modern Overstuffed Deep Seat Velvet Loveseat Sofa with 2 Pillows, Comfy Upholstered 2 Seater Love Seat for Bedroom Office, Emerald Green Velvet",
        "brand": "Wrofly",
        "price": 379.99,
        "listPrice": null,
        "currency": "USD",
        "image": "https://m.media-amazon.com/images/I/81n7lBiG9QL.jpg",
        "rating": 4.3,
        "reviewCount": 95,
        "availability": "IN_STOCK",
        "productGroup": "furniture",
        "variationCount": 6,
        "colorCount": 2,
        "matchScore": 0.52353746,
        "detectedObject": {
            "label": "sofa",
            "fineLabel": "sofas-couches",
            "confidence": 0.9977,
            "box": { "x": 81, "y": 198, "width": 642, "height": 250, "imageWidth": 800, "imageHeight": 533 }
        },
        "marketplace": "amazon.com",
        "scrapedAt": "2026-10-09T09:30:15.659Z"
    }
]
```

`listPrice` is filled when Amazon shows a crossed-out price. `box` is the area of your photo, in pixels, where the item was detected.

### ⚠️ Good to know

- A photo typically returns **10–60 products** with full details, more for pictures with several items (an outfit photo returned 74). Amazon decides how many matches it shows; there are no further pages.
- WebP, GIF and AVIF images are not supported. Links that serve several formats (most image CDNs) are fetched as JPEG automatically.
- A product found for one image is not repeated for a later image in the same run.

### 🔗 Use cases

- **Product sourcing and dupes**: Find Amazon listings that look like a product you saw anywhere.
- **Catalogue matching**: Map your SKUs to Amazon ASINs by image instead of by title.
- **Price research**: Compare prices, list prices and ratings of visually similar products.
- **Shop the look**: Turn outfit or interior photos into shoppable Amazon products for every item.

### 🔗 Related Amazon Actors

- [Amazon Product & Buy Box Scraper](https://apify.com/piotrv1001/amazon-product-buy-box-scraper): feed the matched ASINs in for full product details and offers.
- [Amazon Bestsellers Scraper](https://apify.com/piotrv1001/amazon-bestsellers-scraper): top-selling products by category.
- [Amazon Today's Deals Scraper](https://apify.com/piotrv1001/amazon-todays-deals-scraper): current Amazon deals and discounts.
- [Amazon Storefront Scraper](https://apify.com/piotrv1001/amazon-storefront-scraper) — every product a seller lists on Amazon.
- [Amazon Seller Discovery Scraper](https://apify.com/piotrv1001/amazon-seller-discovery-scraper) — find the third-party sellers behind products.
- [AliExpress Image Search Scraper](https://apify.com/piotrv1001/aliexpress-image-search-scraper) — search AliExpress by photo, with retail prices and orders for your country.

Turn pictures into Amazon products: run the **Amazon Image Search Scraper** today! 🚀

# Actor input Schema

## `imageUrls` (type: `array`):

Photos to search Amazon with — direct links to JPEG or PNG images (up to 5 MB) or data: URLs. Product photos, screenshots and outfit pictures all work; every item Amazon recognizes in the photo (shoes, bag, top, sofa...) gets its own matches. One search per image.

## `marketplace` (type: `string`):

Amazon store to search. Prices come in that store's currency.

## `maxResultsPerImage` (type: `integer`):

Most matching products to save per image, best matches first. A photo usually yields 10–60 products with full details.

## `proxyConfiguration` (type: `object`):

Keep the default. Each search uses a fresh proxy IP and retries on another one if Amazon refuses it.

## Actor input object example

```json
{
  "imageUrls": [
    "https://images.unsplash.com/photo-1542291026-7eec264c27ff?w=800",
    "https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=800"
  ],
  "marketplace": "amazon.com",
  "maxResultsPerImage": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `products` (type: `string`):

No description

# 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 = {
    "imageUrls": [
        "https://images.unsplash.com/photo-1542291026-7eec264c27ff?w=800",
        "https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=800"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("piotrv1001/amazon-image-search-scraper").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 = {
    "imageUrls": [
        "https://images.unsplash.com/photo-1542291026-7eec264c27ff?w=800",
        "https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=800",
    ],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("piotrv1001/amazon-image-search-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "imageUrls": [
    "https://images.unsplash.com/photo-1542291026-7eec264c27ff?w=800",
    "https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=800"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call piotrv1001/amazon-image-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,piotrv1001/amazon-image-search-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/UpUFzhgCIk7BOLfCM/builds/1RXuCk1uEkoJD0SpS/openapi.json
