{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Product Scraper - Search, Best Sellers",
    "description": "One Amazon scraper for six jobs: search, product detail, best sellers, new releases, seller storefronts and keyword ideas. Across 20 marketplaces: title, brand, price, rating, review count, availability, Best Sellers Rank, images and specs. No browser. Export JSON, CSV or Excel. Pay per result.",
    "version": "0.1",
    "x-build-id": "iKhz3HbfCu5GnYIwT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~amazon-data-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-amazon-data-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/automation_craft~amazon-data-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-amazon-data-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/automation_craft~amazon-data-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-amazon-data-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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "What do you want to scrape?",
            "enum": [
              "search",
              "product",
              "bestsellers",
              "newreleases",
              "seller",
              "suggestions"
            ],
            "type": "string",
            "description": "Pick one data type. Each mode uses a different input field below (the field it needs is named in its description):\n\n• <b>Search</b> - products for a keyword (uses <b>Search terms</b>)\n• <b>Product detail</b> - full data for specific products (uses <b>ASINs or product URLs</b>)\n• <b>Best sellers</b> - a category's best-seller ranking (uses <b>Category</b>)\n• <b>New releases</b> - a category's newest products (uses <b>Category</b>)\n• <b>Seller storefront</b> - all products from a seller (uses <b>Seller IDs</b>)\n• <b>Keyword suggestions</b> - Amazon autocomplete for a prefix (uses <b>Search terms</b>)",
            "default": "search"
          },
          "search": {
            "title": "Search terms",
            "type": "array",
            "description": "Used by <b>Search</b> and <b>Keyword suggestions</b> modes. One or more keywords, e.g. <code>wireless headphones</code>. In Search mode each term returns product cards; in Keyword suggestions mode each term returns Amazon's autocomplete completions.",
            "default": [
              "wireless headphones"
            ],
            "items": {
              "type": "string"
            }
          },
          "asins": {
            "title": "ASINs or product URLs",
            "type": "array",
            "description": "Used by <b>Product detail</b> mode. One entry per product - either a 10-character ASIN (e.g. <code>B09XS7JWHH</code>) or a full Amazon product URL. A full URL's marketplace overrides the Marketplace field below.",
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "Category",
            "type": "array",
            "description": "Used by <b>Best sellers</b> and <b>New releases</b> modes. An Amazon category slug (e.g. <code>electronics</code>, <code>books</code>, <code>toys-and-games</code>, <code>kitchen</code>) OR a full best-sellers/new-releases URL. You can list several. Tip: open a Best Sellers page on Amazon and copy the word after <code>/bestsellers/</code> in the URL.",
            "items": {
              "type": "string"
            }
          },
          "sellerIds": {
            "title": "Seller IDs",
            "type": "array",
            "description": "Used by <b>Seller storefront</b> mode. One or more Amazon seller IDs (the value after <code>seller=</code> or <code>me=</code> in a seller's storefront URL, e.g. <code>A2L77EE7U53NWQ</code>). Returns every product listed on each seller's storefront.",
            "items": {
              "type": "string"
            }
          },
          "marketplace": {
            "title": "Marketplace",
            "enum": [
              "com",
              "co.uk",
              "de",
              "fr",
              "it",
              "es",
              "in",
              "ca",
              "com.au",
              "com.br",
              "com.mx",
              "co.jp",
              "nl",
              "se",
              "ae",
              "sg",
              "pl",
              "com.tr",
              "sa",
              "eg"
            ],
            "type": "string",
            "description": "Which Amazon site to scrape. For bare ASINs/keywords/categories this decides the domain; a full product URL overrides it. Works on all listed marketplaces.",
            "default": "in"
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Hard cap on the total number of result rows this run will produce (across all your inputs). Keeps cost predictable. You are only charged per result row returned.",
            "default": 100
          },
          "maxPagesPerQuery": {
            "title": "Max pages per query",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "For Search, Seller, Best sellers and New releases modes: how many result pages to follow per input (each page is ~16–60 products). 1 = first page only. Ignored by Product detail and Keyword suggestions modes.",
            "default": 1
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Maximum requests fetched in parallel.",
            "default": 8
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Proxy for requests. Residential proxies are the default and strongly recommended, Amazon blocks datacenter IPs quickly. The Actor pins the residential exit to the marketplace's country automatically (for example UK IPs for amazon.co.uk), because Amazon serves a bot challenge to out-of-country IPs. Set a country here only if you need to override that.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}