{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Product Scraper: Search, Best Sellers & ASIN Detail",
    "description": "Scrape Amazon products from keyword search, Best Sellers and ASIN detail pages in one run and one schema: price, list price, discount, rating, review count, Best Sellers rank, brand, image. US, UK, DE, FR and more. Price completeness measured on every run. $3 per 1,000 products.",
    "version": "0.1",
    "x-build-id": "gHP1nNlaHaDO5XG3Q"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/atlasdataworks~amazon-unified-extractor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-atlasdataworks-amazon-unified-extractor",
        "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/atlasdataworks~amazon-unified-extractor/runs": {
      "post": {
        "operationId": "runs-sync-atlasdataworks-amazon-unified-extractor",
        "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/atlasdataworks~amazon-unified-extractor/run-sync": {
      "post": {
        "operationId": "run-sync-atlasdataworks-amazon-unified-extractor",
        "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": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords to search on Amazon, e.g. \"laptop\". Amazon caps keyword search at about 7 pages.",
            "items": {
              "type": "string"
            }
          },
          "bestsellerCategories": {
            "title": "Bestseller categories",
            "type": "array",
            "description": "Best Sellers category slugs as they appear in the marketplace URL after /gp/bestsellers/, e.g. \"electronics\" on amazon.com or \"ce-de\" on amazon.de. Returns the ranked list (one page). Some tiles legitimately have no price, so Best Sellers rows are excluded from the price-completeness metric.",
            "items": {
              "type": "string"
            }
          },
          "asins": {
            "title": "ASINs",
            "type": "array",
            "description": "Specific ASINs to fetch product-detail pages for. Detail pages are the only source of brand, availability, feature bullets, Best Sellers ranks, category path, bought-in-past-month, Prime, buy box, seller, badges, variants, specs and the image set, and are charged as the premium product-detail event.",
            "items": {
              "type": "string"
            }
          },
          "scrapeProductDetails": {
            "title": "Fetch a detail page for every product found",
            "type": "boolean",
            "description": "Enriches every search/bestseller result with its detail page. Costs one extra request per product and charges the premium product-detail event per delivered record. Off by default.",
            "default": false
          },
          "maxItemsPerQuery": {
            "title": "Max products per query",
            "minimum": 1,
            "type": "integer",
            "description": "Upper bound on products returned per search keyword or bestseller category.",
            "default": 100
          },
          "maxPagesPerQuery": {
            "title": "Max search pages per keyword",
            "minimum": 1,
            "maximum": 7,
            "type": "integer",
            "description": "Amazon restricts keyword search to roughly 7 pages; values above 7 are clamped.",
            "default": 5
          },
          "includeSponsored": {
            "title": "Include sponsored placements",
            "type": "boolean",
            "description": "Sponsored results are excluded by default and always flagged with sponsored=true when included, so ads are never silently mixed into organic results.",
            "default": false
          },
          "domain": {
            "title": "Amazon domain",
            "type": "string",
            "description": "Marketplace host, e.g. www.amazon.com, www.amazon.co.uk, www.amazon.de.",
            "default": "www.amazon.com"
          },
          "cheapMode": {
            "title": "Cheap mode (lower price completeness)",
            "type": "boolean",
            "description": "Uses a cheaper proxy tier. Measured at about 84% price completeness versus 100% on the default residential tier - you are trading away this actor's main guarantee. Off by default.",
            "default": false
          },
          "scrapeDoToken": {
            "title": "scrape.do API token (optional override)",
            "type": "string",
            "description": "Leave this empty. The actor ships with its own access and needs nothing from you. Only set it if you have your own scrape.do account and would rather the requests ran on it."
          },
          "maxTotalChargeUsd": {
            "title": "Budget cap (USD)",
            "minimum": 1,
            "type": "integer",
            "description": "When the cap is reached the run stops delivering, reports how much of the result set was delivered, and never charges past it."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}