{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Bestsellers Scraper: Product Photo & Spec Details",
    "description": "Amazon Bestsellers Scraper extracts top-selling products from any Amazon bestseller category. Capture titles, prices, ratings, ranks, images, and key details. Ideal for market research, product validation, competitor tracking, and workflows needing structured bestseller data.",
    "version": "0.1",
    "x-build-id": "e8VqWP8uGRKIgt4iT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/api-empire~amazon-bestsellers-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-api-empire-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/api-empire~amazon-bestsellers-scraper/runs": {
      "post": {
        "operationId": "runs-sync-api-empire-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/api-empire~amazon-bestsellers-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-api-empire-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": {
          "bestSellerCategoryUrls": {
            "title": "🔗 Best Sellers category URLs to enrich",
            "type": "array",
            "description": "📋 One or more Amazon Best Sellers category page URLs (each must contain 'best-sellers' or 'bestsellers'). Every ranked product found here becomes a row; turn on PDP enrichment below to add its full detail page. Example: https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/",
            "items": {
              "type": "string"
            }
          },
          "topProductsPerCategory": {
            "title": "📊 Top products to rank per category",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "📈 How many top-ranked best-seller products to capture from each category URL (1–500). Example: 100."
          },
          "subcategoryCrawlDepth": {
            "title": "📁 Subcategory crawl depth",
            "minimum": 1,
            "type": "integer",
            "description": "1️⃣ = main category only, 2️⃣+ = also crawl the left-nav subcategory tree (one extra level). Default is 2."
          },
          "fetchProductDetails": {
            "title": "🧬 Fetch product photo & spec details (PDP enrichment)",
            "type": "boolean",
            "description": "✅ When enabled, each ranked product's detail page is fetched to add brand, fullTitle, bestsellerRanks[], features[], images[], variations[], seller{}, productSpecification[], productDescription, availability and breadcrumbCategories[]. When off, only the fast best-sellers grid fields are returned. Re-expresses the base 'Detailed information' option (the base detailedInformation key is still honored). Default is false."
          },
          "maxDetailFetches": {
            "title": "🔢 Max product-detail fetches (per run)",
            "minimum": 0,
            "type": "integer",
            "description": "🧮 Cap on how many product detail pages to fetch in the whole run (only applies when 'Fetch product details' is on). 0 = enrich every scraped product. Example: 50 enriches only the first 50 products. Default is 0 (unlimited)."
          },
          "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": "🗣️ Language to use on Amazon. ⚠️ Disclaimer: each Amazon domain has a different set of supported languages. If you choose a language that is not supported by the domain, the scraper will use the default language of the domain."
          },
          "bypassCaptchaBlocks": {
            "title": "🤖 Bypass captcha blocks",
            "type": "boolean",
            "description": "🔓 When Amazon serves a robot-check/captcha page, keep retrying with extra backoff to work past the block (⚠️ may slow the run and increase requests). Re-expresses the base 'Use Captcha solver' option (the base useCaptchaSolver key is still honored). Default is false."
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy configuration",
            "type": "object",
            "description": "🔒 Proxy settings. Default is DIRECT. Residential proxy is recommended when fetching product details at scale to avoid blocks."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}