{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Search Products Scraper: Top Rated & Best Reviewed",
    "description": "The Amazon Search Products Scraper efficiently extracts product data from Amazon search results. It collects titles, prices, ratings, ASINs, reviews, and product URLs for each listing. Ideal for eCommerce research, price monitoring, and market analysis, providing structured JSON or CSV output.",
    "version": "0.1",
    "x-build-id": "2m5IkRuHDZzkSNEqW"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scraper-engine~amazon-search-products-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scraper-engine-amazon-search-products-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scraper-engine~amazon-search-products-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scraper-engine-amazon-search-products-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scraper-engine~amazon-search-products-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scraper-engine-amazon-search-products-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "minRating": {
            "title": "⭐ Minimum star rating",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Only keep products rated at or above this many stars (1–5). Example: 4 keeps products rated 4.0★ and up. For a whole-star threshold of 1–4 the actor also asks Amazon to pre-filter server-side (amazon.com), then re-checks locally. Default 0 = no rating floor.",
            "default": 0
          },
          "minReviewCount": {
            "title": "🗳️ Minimum review count",
            "minimum": 0,
            "type": "integer",
            "description": "Only keep products with at least this many ratings/reviews. Example: 500 drops thinly-reviewed products. Default 0 = no review-count floor.",
            "default": 0
          },
          "reviewSearches": {
            "title": "🔎 Keywords or Amazon search URLs",
            "type": "array",
            "description": "Add keywords (e.g. 'wireless earbuds', 'protein powder') or full Amazon search URLs. Query, department (i=), browse node and price/rating refinements (rh=) in a pasted URL are preserved. Example: ['wireless earbuds', 'https://www.amazon.com/s?k=coffee+maker']",
            "items": {
              "type": "string"
            }
          },
          "includeRatingBreakdown": {
            "title": "📊 Include ratings histogram",
            "type": "boolean",
            "description": "Fetch each product's ratings histogram — the 5★→1★ percentage breakdown (starsBreakdown). Adds one request per enriched product. Default false.",
            "default": false
          },
          "includeReviewInsights": {
            "title": "🧾 Include AI review insights",
            "type": "boolean",
            "description": "Fetch Amazon's own 'Customers say' AI review summary and per-aspect sentiment (featureAspects: positive/negative mention counts). Only present on products with enough reviews — null when Amazon does not render it. Adds one request per enriched product. Default false.",
            "default": false
          },
          "includeTopReviews": {
            "title": "💬 Include on-page top reviews",
            "type": "boolean",
            "description": "Collect the top reviews Amazon renders on the product page (title, text, rating, date, author). Logged-out only — full review pagination is login-gated and is NOT offered. Adds one request per enriched product (shared with the other intelligence toggles). Default false.",
            "default": false
          },
          "maxInsightLookups": {
            "title": "🔢 Max products to enrich",
            "minimum": 0,
            "type": "integer",
            "description": "Cap on how many products get a detail-page fetch when any intelligence toggle is on. Products are enriched in ranked order (highest weightedRating first). 0 = unlimited. Example: 10 enriches the top 10 only. Default 10.",
            "default": 10
          },
          "marketplace": {
            "title": "🌍 Amazon marketplace",
            "enum": [
              "amazon.com",
              "amazon.co.uk",
              "amazon.de",
              "amazon.fr",
              "amazon.it",
              "amazon.es",
              "amazon.ca",
              "amazon.com.au",
              "amazon.co.jp",
              "amazon.in",
              "amazon.com.mx",
              "amazon.com.br",
              "amazon.nl",
              "amazon.se",
              "amazon.sg",
              "amazon.ae"
            ],
            "type": "string",
            "description": "Which Amazon marketplace to screen. Supported: amazon.com, .co.uk, .de, .fr, .it, .es, .ca, .com.au, .co.jp, .in, .com.mx, .com.br, .nl, .se, .sg, .ae. Default amazon.com."
          },
          "language": {
            "title": "🗣️ Language (optional)",
            "enum": [
              "",
              "en-US",
              "en-GB",
              "de-DE",
              "fr-FR",
              "es-ES",
              "it-IT",
              "ja-JP",
              "nl-NL",
              "sv-SE",
              "pt-BR"
            ],
            "type": "string",
            "description": "Set page language for localization. Leave empty to auto-detect from the marketplace.",
            "default": ""
          },
          "proxyCountry": {
            "title": "📍 Proxy country (optional)",
            "enum": [
              "AUTO",
              "US",
              "GB",
              "DE",
              "FR",
              "ES",
              "IT",
              "CA",
              "AU",
              "JP",
              "IN",
              "MX",
              "BR",
              "NL",
              "SE",
              "SG",
              "AE"
            ],
            "type": "string",
            "description": "Pin the proxy exit country, or keep AUTO to derive it from the marketplace. Residential proxy pinned to the marketplace country is recommended for detail-page enrichment.",
            "default": "AUTO"
          },
          "sortOrder": {
            "title": "↕️ Search result sort order",
            "enum": [
              "review-rank",
              "relevanceblender",
              "price-asc-rank",
              "price-desc-rank",
              "date-desc-rank"
            ],
            "type": "string",
            "description": "How Amazon orders results before filtering. 'review-rank' (Avg. customer review) pairs naturally with rating screening. Default review-rank.",
            "default": "review-rank"
          },
          "maxPages": {
            "title": "📄 Maximum pages per search",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many search result pages to scrape per keyword (1 page ≈ up to 48 products). Example: 3 scrapes three pages. Default 1.",
            "default": 1
          },
          "proxyConfiguration": {
            "title": "⚙️ Proxy configuration",
            "type": "object",
            "description": "Proxy behavior. Default: no proxy, with automatic fallback to datacenter then residential when Amazon blocks. Residential pinned to the marketplace country is recommended."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}