{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Search Products Scraper: Brand Comparison Details",
    "description": "Amazon Search Products Scraper gathers product data from Amazon search results, including titles, prices, ratings, reviews, images, sellers, and availability. Ideal for market research, price tracking, competitor analysis, and automating structured Amazon product data collection at scale",
    "version": "0.1",
    "x-build-id": "D3WVh2052MHdhbQ6t"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/simpleapi~amazon-search-products-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-simpleapi-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/simpleapi~amazon-search-products-scraper/runs": {
      "post": {
        "operationId": "runs-sync-simpleapi-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/simpleapi~amazon-search-products-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-simpleapi-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": {
          "marketQueries": {
            "title": "🏪 Market to map (keywords or Amazon search URLs)",
            "type": "array",
            "description": "🔎 The product market to research. Add keywords (e.g. 'whey protein', 'wireless earbuds') or full Amazon search URLs. Each entry is scanned separately. Full URLs keep their department (i=), browse node (rh=n:) and brand (p_89) refinements. Example: ['whey protein', 'https://www.amazon.com/s?k=earbuds'].",
            "items": {
              "type": "string"
            }
          },
          "brandFilter": {
            "title": "🏷️ Brand filter",
            "type": "array",
            "description": "🎯 Keep only products of these brands. Applies Amazon's own brand refinement (rh=p_89:Brand1|Brand2) to the search URL and re-checks each product's byline. Leave empty to include every brand in the market. Example: ['Optimum Nutrition', 'Dymatize'].",
            "items": {
              "type": "string"
            }
          },
          "includeSellerDetails": {
            "title": "👤 Include seller details (sold-by, seller ID, fulfillment)",
            "type": "boolean",
            "description": "🏬 Fetch each product's detail page to read who sells it (soldBy), the sellerId, sellerUrl, who fulfills it (fulfilledBy) and the derived fulfillmentType (FBA / FBM / AMZ). Adds 1 request per product (capped by maxSellerLookups). Default: false.",
            "default": false
          },
          "includeSellerProfile": {
            "title": "🏢 Include seller profile (business name/address, ratings)",
            "type": "boolean",
            "description": "🏢 For each seller found, also fetch the seller-profile page (/sp?seller=ID) for sellerName, businessName, businessAddress, positive-feedback %, lifetime/12-month/3-month rating counts and the star breakdown. Implies seller details. Business/rating fields populate mainly for third-party sellers. Default: false.",
            "default": false
          },
          "maxSellerLookups": {
            "title": "🔢 Max seller lookups per search",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "🧮 Cap on how many products per search get the extra seller detail/profile fetch (counts products, not sellers). Keep modest to control run time/cost. Set 0 for no cap. Default: 10.",
            "default": 10
          },
          "fulfillmentFilter": {
            "title": "📦 Fulfillment filter",
            "enum": [
              "any",
              "fba",
              "fbm",
              "amazon"
            ],
            "type": "string",
            "description": "📦 Keep only products with this fulfillment type (requires seller details). FBA = third-party sold, Amazon-fulfilled; FBM = third-party sold, merchant-fulfilled; Amazon = sold by Amazon. Default: any.",
            "default": "any"
          },
          "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 research. 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 better localization. Leave empty to auto-detect from the marketplace.",
            "default": ""
          },
          "sortOrder": {
            "title": "↕️ Sort order",
            "enum": [
              "relevanceblender",
              "price-asc-rank",
              "price-desc-rank",
              "review-rank",
              "date-desc-rank"
            ],
            "type": "string",
            "description": "📊 How Amazon sorts the market: relevance, price low/high, customer reviews, or newest arrivals.",
            "default": "relevanceblender"
          },
          "maxPages": {
            "title": "📄 Max pages per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "🔢 Max result pages to scan per query. Keep 1 for auto-continue (stops after 2 empty pages), or raise for a hard limit.",
            "default": 1
          },
          "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 country (recommended to match the marketplace for seller/detail pages), or keep AUTO.",
            "default": "AUTO"
          },
          "proxyConfiguration": {
            "title": "⚙️ Proxy configuration (optional)",
            "type": "object",
            "description": "🧱 Configure proxy behavior. Default: no proxy. If blocked, the actor falls back to datacenter then residential proxies."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}