{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Search Scraper By Country & Currency",
    "description": "Amazon Search Scraper extracts products 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": "4PdBkJw8UvYJcdizH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/simpleapi~amazon-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-simpleapi-amazon-search-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-scraper/runs": {
      "post": {
        "operationId": "runs-sync-simpleapi-amazon-search-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-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-simpleapi-amazon-search-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": {
          "queries": {
            "title": "🔎 Search terms or Amazon search URLs",
            "type": "array",
            "description": "One or more search terms. Each term is searched on every marketplace selected below.\n\nExamples:\n  • `laptop`\n  • `wireless headphones`\n  • `https://www.amazon.de/s?k=gaming+stuhl`\n\nA pasted marketplace URL keeps its own marketplace in addition to the ones you select, and its category or department is respected.",
            "items": {
              "type": "string"
            }
          },
          "marketplaces": {
            "title": "🌍 Amazon marketplaces to search",
            "type": "array",
            "description": "Select one or more marketplaces. Every search term is run on each of them and each product row carries `marketplace`, `country` and `currency`.\n\nLeave this empty to fall back to the classic behaviour: a plain search term goes to amazon.com and a pasted URL goes to its own marketplace.",
            "items": {
              "type": "string",
              "enum": [
                "com",
                "co.uk",
                "de",
                "fr",
                "it",
                "es",
                "ca"
              ],
              "enumTitles": [
                "🇺🇸 amazon.com - United States (USD)",
                "🇬🇧 amazon.co.uk - United Kingdom (GBP)",
                "🇩🇪 amazon.de - Germany (EUR)",
                "🇫🇷 amazon.fr - France (EUR)",
                "🇮🇹 amazon.it - Italy (EUR)",
                "🇪🇸 amazon.es - Spain (EUR)",
                "🇨🇦 amazon.ca - Canada (CAD)"
              ]
            }
          },
          "productsPerMarketplace": {
            "title": "📦 Products per marketplace",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "How many products to collect for each search term on each marketplace.\n\nExample: 2 search terms x 3 marketplaces x 15 = up to 90 product rows. Pages are walked until this number is reached or the marketplace runs out of results.\n\nA larger number also gives the cross-market comparison more ASINs to match on."
          },
          "compareAcrossMarkets": {
            "title": "⚖️ Add cross-market comparison rows",
            "type": "boolean",
            "description": "When on, every ASIN found on two or more marketplaces gets an extra row (`type: comparison`) carrying `marketsFound`, `priceByMarket`, `currencyByMarket`, `cheapestMarketplace`, `cheapestPrice`, `highestPrice` and `priceSpreadPct`.\n\nMatching is by ASIN. Amazon ASINs are not identical worldwide for every product, so only the genuinely shared listings are matched - the run log prints the real matched percentage."
          },
          "minMarketsForComparison": {
            "title": "🔢 Minimum marketplaces per comparison row",
            "minimum": 2,
            "maximum": 7,
            "type": "integer",
            "description": "An ASIN must carry a price on at least this many marketplaces before it gets a comparison row.\n\n2 = every shared listing. Raise it to 3 or more to keep only the products listed widely."
          },
          "mirrorComparisonDataset": {
            "title": "🗂️ Also write comparison rows to their own dataset",
            "type": "boolean",
            "description": "When on, the comparison rows are additionally written to a separate dataset named `<run id>-comparison`, so they can be exported on their own without filtering the product rows out."
          },
          "resultOrder": {
            "title": "📊 Result order",
            "enum": [
              "relevanceblender",
              "exact-aware-popularity-rank",
              "price-asc-rank",
              "price-desc-rank",
              "review-rank",
              "date-desc-rank"
            ],
            "type": "string",
            "description": "The ordering Amazon applies before the results are read. All six options are the orderings Amazon's own sort control offers."
          },
          "urls": {
            "title": "🧩 Keywords or Amazon search URLs (classic key)",
            "type": "array",
            "description": "The classic search-term key. Used when `queries` above is left empty, with exactly the same meaning.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "🧩 Max products (classic key)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "The classic product-limit key. Used as the per-marketplace limit when `productsPerMarketplace` above is left empty."
          },
          "sortBy": {
            "title": "🧩 Sort search results (classic key)",
            "enum": [
              "relevanceblender",
              "recent",
              "exact-aware-popularity-rank",
              "price-asc-rank",
              "price-desc-rank",
              "review-rank",
              "date-desc-rank"
            ],
            "type": "string",
            "description": "The classic ordering key. Used when `resultOrder` above is left empty. The classic `recent` value now really does return newest arrivals."
          },
          "proxyConfiguration": {
            "title": "🌐 Connection settings",
            "type": "object",
            "description": "Leave the default and each marketplace is reached over a route matched to that marketplace's own country, which is what makes local prices and local currency come back correctly.\n\nSet your own selection here to override that for the whole run."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}