{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Product Details Scraper: Price, BSR, Reviews, ASIN",
    "description": "Amazon scraper for product details by ASIN, product URL or UPC/EAN/ISBN on 21 Amazon stores: buy-box price, list price, seller, stock, delivery for your zip, rating, Amazon reviews, images, variants, category, best sellers rank (BSR). Product data as JSON, CSV or Excel. No login.",
    "version": "0.1",
    "x-build-id": "ZyQDdmrLNHbHft4hl"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/hyperbach~amazon-product-details-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-hyperbach-amazon-product-details-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/hyperbach~amazon-product-details-scraper/runs": {
      "post": {
        "operationId": "runs-sync-hyperbach-amazon-product-details-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/hyperbach~amazon-product-details-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-hyperbach-amazon-product-details-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": {
          "products": {
            "title": "Products: ASINs, URLs, short links or codes",
            "type": "array",
            "description": "One product per line, in any form: an ASIN (`B00MNV8E0C`), an ISBN-10 (`0735211299`), a product URL of any of the 21 stores (`/dp/`, `/gp/product/`, `/gp/aw/d/`, a slug URL with `?th=1`; read on its own store), a short link (`amzn.to/…`, `a.co/…`), or a product code: a UPC (12 digits) or EAN (13) is found with the store's search, an ISBN-13 goes straight to its print edition. One row per product: the same product given several ways is one row. A value that is not a product (a search or category URL, a typo) gets a free row that says why.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "productsFileUrl": {
            "title": "Products file URL",
            "pattern": "^(|https?://\\S+)$",
            "type": "string",
            "description": "A link to a text or CSV file of ASINs, URLs or codes (one per line or per cell), read once at the start and added to `products`. For long lists kept in a spreadsheet or a storage bucket.",
            "default": ""
          },
          "marketplace": {
            "title": "Store for ASINs and codes",
            "enum": [
              "com",
              "co.uk",
              "de",
              "fr",
              "es",
              "it",
              "ca",
              "com.au",
              "in",
              "co.jp",
              "com.mx",
              "com.br",
              "nl",
              "se",
              "pl",
              "sg",
              "ae",
              "sa",
              "com.tr",
              "eg",
              "com.be"
            ],
            "type": "string",
            "description": "The Amazon store a bare ASIN or code is read on. A product URL is always read on its own store. Prices come in the store's own currency, read from an exit in the store's country.",
            "default": "com"
          },
          "marketplaces": {
            "title": "Also read each ASIN on these stores",
            "type": "array",
            "description": "Compare one product across stores: each bare ASIN or code is also read on every store listed here (one row per store, each in its own currency). Empty = the store above only.",
            "items": {
              "type": "string",
              "enum": [
                "com",
                "co.uk",
                "de",
                "fr",
                "es",
                "it",
                "ca",
                "com.au",
                "in",
                "co.jp",
                "com.mx",
                "com.br",
                "nl",
                "se",
                "pl",
                "sg",
                "ae",
                "sa",
                "com.tr",
                "eg",
                "com.be"
              ],
              "enumTitles": [
                "amazon.com (United States)",
                "amazon.co.uk (United Kingdom)",
                "amazon.de (Germany)",
                "amazon.fr (France)",
                "amazon.es (Spain)",
                "amazon.it (Italy)",
                "amazon.ca (Canada)",
                "amazon.com.au (Australia)",
                "amazon.in (India)",
                "amazon.co.jp (Japan)",
                "amazon.com.mx (Mexico)",
                "amazon.com.br (Brazil)",
                "amazon.nl (Netherlands)",
                "amazon.se (Sweden)",
                "amazon.pl (Poland)",
                "amazon.sg (Singapore)",
                "amazon.ae (United Arab Emirates)",
                "amazon.sa (Saudi Arabia)",
                "amazon.com.tr (Türkiye)",
                "amazon.eg (Egypt)",
                "amazon.com.be (Belgium)"
              ]
            },
            "default": []
          },
          "zipCode": {
            "title": "Delivery postal code",
            "pattern": "^(|([A-Za-z.]{2,6}:)?[A-Za-z0-9][A-Za-z0-9 -]{1,9}(\\s*[,;]\\s*([A-Za-z.]{2,6}:)?[A-Za-z0-9][A-Za-z0-9 -]{1,9})*)$",
            "type": "string",
            "description": "The delivery location the pages are read for (price, availability and delivery date follow it). One code for the store above (`10001`), or one per store: `com:10001, co.uk:SW1A 1AA, de:10115`. Taken on amazon.com, .co.uk, .de, .fr, .es, .it, .ca, .com.au, .in, .co.jp, .com.mx, .com.br, .se, .pl, .sg and .com.tr; amazon.nl, .com.be, .ae, .sa and .eg set a location only for signed-in customers, so their rows are read at the store's default and say so. Empty = the page's default for the exit (every row says which location the page showed).",
            "default": ""
          },
          "deliveryCountry": {
            "title": "Ship-to country",
            "pattern": "^(|[A-Za-z]{2})$",
            "type": "string",
            "description": "A two-letter country code (`DE`): the stores without a postal code are read for delivery to that country (an amazon.com page for Germany shows the export price and the import charges). Empty = no ship-to country.",
            "default": ""
          },
          "maxVariantsPerProduct": {
            "title": "Variants per product as their own rows",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Read up to this many other variants of each product (sizes, colors) from their own pages, each as its own row with its own price and stock (charged as a product). 0 = the family is listed on the product's row (`variants`: every child ASIN with its labels) and not read.",
            "default": 0
          },
          "includeSellerDetails": {
            "title": "Third-party seller's rating",
            "type": "boolean",
            "description": "For products sold by a third-party seller, read the seller's page once per run and add its share of positive ratings and its ratings count to the row (an add-on per row that carries it; nothing is added to products Amazon sells).",
            "default": false
          },
          "onlyChanged": {
            "title": "Only products that changed",
            "type": "boolean",
            "description": "For a schedule: deliver (and charge) a product only when its price, list price, stock, seller, condition, best-seller rank or coupon changed since the last run of the same memory. Each row then says what changed and the previous values.",
            "default": false
          },
          "stateStoreName": {
            "title": "Memory name",
            "pattern": "^(|[A-Za-z0-9][A-Za-z0-9_.-]{0,62})$",
            "type": "string",
            "description": "Name of the memory kept between runs (with `onlyChanged`, or alone for a price history): every row carries the history of our own reads of that product (price, list price, stock, best-seller rank, ratings count; the last 30). Empty = a name derived from the product list.",
            "default": ""
          },
          "maxItems": {
            "title": "Max products",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop after this many product rows (charged rows; the free rows of misses do not count). 0 = no cap.",
            "default": 0
          },
          "runTag": {
            "title": "Run tag",
            "maxLength": 100,
            "type": "string",
            "description": "Any label you want on every row of this run (`run_tag`), to tell runs apart in a merged table.",
            "default": ""
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}