{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Product Scraper: Prices, BSR, Sales & Price Tracker",
    "description": "Scrape Amazon products without login: price, Best Sellers Rank, bought in past month, seller, stock, specs, variants, images and review summary from searches, Best Sellers, ASINs or links in 16 stores. Local delivery postcode and price tracking. For sellers, price monitoring and market research.",
    "version": "1.0",
    "x-build-id": "TrM6sFaHTYLB2j2aH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/panix~amazon-product-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-panix-amazon-product-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/panix~amazon-product-scraper/runs": {
      "post": {
        "operationId": "runs-sync-panix-amazon-product-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/panix~amazon-product-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-panix-amazon-product-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": {
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Words you would type in Amazon's search box (e.g. \"wireless earbuds\"). Each term is searched in the chosen store. You can also paste ASINs here.",
            "items": {
              "type": "string"
            }
          },
          "asins": {
            "title": "ASINs",
            "type": "array",
            "description": "Amazon product IDs (10 characters, e.g. B0BZYCJK89), read in the chosen store. Good for price tracking of a fixed list.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Amazon URLs",
            "type": "array",
            "description": "Product links (/dp/...), search result links with your own filters and sorting (/s?k=...), category links (?node=...), Best Sellers, New Releases, Movers & Shakers and Most Wished For pages, or amzn.to short links. Each link's store is taken from the link.",
            "items": {
              "type": "string"
            }
          },
          "marketplace": {
            "title": "Amazon store",
            "enum": [
              "com",
              "ca",
              "com.mx",
              "co.uk",
              "de",
              "fr",
              "it",
              "es",
              "nl",
              "com.be",
              "se",
              "pl",
              "in",
              "co.jp",
              "com.au",
              "sg"
            ],
            "type": "string",
            "description": "Store for search terms and ASINs. Links always use their own store.",
            "default": "com"
          },
          "maxResultsPerSearch": {
            "title": "Max products per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Products to deliver for each search term, search link and best-seller list. Amazon shows a few hundred products per search; Best Sellers lists have 100.",
            "default": 50
          },
          "maxResults": {
            "title": "Max products in total",
            "minimum": 0,
            "type": "integer",
            "description": "Stop the whole run after this many products (0 = no limit). You can also set a spending limit on the run.",
            "default": 0
          },
          "scrapeProductDetails": {
            "title": "Read product pages",
            "type": "boolean",
            "description": "On: every product's page is read for the Best Sellers Rank, seller, stock, specs, bullet points, images, variants, rating breakdown and Amazon's review summary. Off: only the search or best-seller list data (title, price, rating, reviews, bought in past month, badges), at a much lower price.",
            "default": true
          },
          "sortBy": {
            "title": "Sort search results",
            "enum": [
              "relevance",
              "price-low-to-high",
              "price-high-to-low",
              "avg-customer-review",
              "newest",
              "best-sellers"
            ],
            "type": "string",
            "description": "Order of search results for search terms (search links keep their own sorting).",
            "default": "relevance"
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "number",
            "description": "Leave out products below this price, in the store's currency."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "number",
            "description": "Leave out products above this price, in the store's currency."
          },
          "minRating": {
            "title": "Min star rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Leave out products rated below this (e.g. 4 or 4.5)."
          },
          "minReviews": {
            "title": "Min number of ratings",
            "minimum": 0,
            "type": "integer",
            "description": "Leave out products with fewer ratings than this."
          },
          "includeSponsored": {
            "title": "Include sponsored results",
            "type": "boolean",
            "description": "Also deliver paid ad placements from search results (marked isSponsored). Off by default, because ads repeat products and change on every visit.",
            "default": false
          },
          "deliveryPostcode": {
            "title": "Delivery ZIP / postcode",
            "type": "string",
            "description": "Prices, delivery dates and stock for this address, like choosing \"Deliver to\" on Amazon (e.g. 90210 on amazon.com, 10115 on amazon.de). Empty = the store's capital city (New York 10001 on amazon.com)."
          },
          "maxVariantsPerProduct": {
            "title": "Variants per product as rows",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Also read this many other variants (sizes, colors) of each product and deliver each as its own product row, with its own price and stock. 0 = off (every row still lists its variants and their ASINs).",
            "default": 0
          },
          "trackChanges": {
            "title": "Track price and stock changes",
            "type": "boolean",
            "description": "Compare every product with the last run that used the same tracker name and add a changes field: price before and after, change in %, stock, rating, review count and rank before.",
            "default": false
          },
          "onlyChangedProducts": {
            "title": "Only changed products",
            "type": "boolean",
            "description": "With tracking: deliver only products whose price or stock changed since the last run (plus products seen for the first time). Unchanged products are left out and not charged.",
            "default": false
          },
          "monitorName": {
            "title": "Tracker name",
            "type": "string",
            "description": "Name of the memory used by change tracking. Use a different name for each schedule or product list.",
            "default": "default"
          },
          "setDeliveryLocation": {
            "title": "Set the delivery location",
            "type": "boolean",
            "description": "Set the delivery postcode in each session before reading products (recommended). Without it Amazon shows prices for the proxy's location, which can be another country, without VAT or without a price.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Parallel pages",
            "minimum": 1,
            "maximum": 32,
            "type": "integer",
            "description": "Amazon pages read at the same time.",
            "default": 16
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxy works for Amazon's public pages and is the default and cheapest choice.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}