{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Bestsellers Scraper By Category",
    "description": "Amazon Bestsellers Scraper by Category extracts bestselling products by Amazon category, including product titles, ASINs, prices, ratings, reviews, rankings, sellers, and product URLs. Discover trending products, analyze competitors, and research profitable categories.",
    "version": "0.1",
    "x-build-id": "4j487IK5WQlpk5Tjw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapio~amazon-bestsellers-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapio-amazon-bestsellers-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/scrapio~amazon-bestsellers-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapio-amazon-bestsellers-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/scrapio~amazon-bestsellers-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapio-amazon-bestsellers-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": {
          "categoryTreeRootUrls": {
            "title": "🌳 Best Sellers root category URLs",
            "type": "array",
            "description": "🔗 Amazon Best Sellers category page URLs. Each one becomes a ROOT of the browse-node / category tree this scraper walks.",
            "items": {
              "type": "string"
            }
          },
          "maxProductsPerRoot": {
            "title": "📦 Product cap per root URL",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "🎯 Maximum best-seller products to pull per root category URL. Category-tree nodes are extra and are NOT counted against this cap."
          },
          "productSubcategoryLevels": {
            "title": "🪜 Product subcategory levels",
            "minimum": 1,
            "type": "integer",
            "description": "📂 How deep to pull PRODUCTS: 1️⃣ = root category only, 2️⃣+ = also harvest products from the direct subcategories."
          },
          "outputCategoryTree": {
            "title": "🌳 Output category tree",
            "type": "boolean",
            "description": "Emit category-node records {type:\"category\", categoryName, categoryUrl, nodeId, parentNode, depth, productCount}. Turn OFF for a products-only run. Default is ON.",
            "default": true
          },
          "treeDepth": {
            "title": "🔢 Category tree depth",
            "minimum": 1,
            "maximum": 6,
            "type": "integer",
            "description": "How many levels of the category graph to discover. 1️⃣ = start category + its direct subcategories, 2️⃣ = also grandchildren, etc. Each extra level fetches every node once. Example: treeDepth=2 maps a category, its children and their children. Default is 1.",
            "default": 1
          },
          "storefrontLanguage": {
            "title": "🗣️ Storefront language",
            "enum": [
              "",
              "cs",
              "da",
              "de",
              "en",
              "es",
              "fr",
              "nl",
              "pl",
              "pt",
              "sv",
              "tr",
              "he",
              "ar",
              "mrta",
              "hi",
              "bn",
              "ta",
              "te",
              "kn",
              "ml",
              "ko",
              "zh_CN",
              "zh_TW",
              "ja"
            ],
            "type": "string",
            "description": "🌍 Preferred Amazon storefront language. ⚠️ Each Amazon domain supports a different language set; unsupported choices fall back to the domain default."
          },
          "includeExtendedProductDetails": {
            "title": "🧾 Include extended product details",
            "type": "boolean",
            "description": "📋 Attach an extra per-product details block (offer count, parsed price value / currency, thumbnail) when available."
          },
          "solveBlockingCaptchas": {
            "title": "🧩 Solve blocking captchas",
            "type": "boolean",
            "description": "🔓 When Amazon shows a Robot Check / captcha, run extra solver retries to get past the block (⚠️ may incur extra cost)."
          },
          "crawlProxyConfiguration": {
            "title": "🛰️ Crawl proxy configuration",
            "type": "object",
            "description": "🔒 Proxy settings for the crawl. Default is DIRECT. Use residential proxies if Amazon soft-blocks the datacenter IP."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}