{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Best Sellers Scraper — Top 60 Ranks, Full Product Row",
    "description": "Amazon Best Sellers, New Releases or Most Wished For: name a category or paste a link and get up to 60 ranks as full product rows: price, buy box, stock, rating, reviews, variants, images, specs. From $1.50 per 1,000 bestsellers, one flat fee, no add-on events. Empty or blocked: nothing charged.",
    "version": "1.0",
    "x-build-id": "d9T9LyJXzp7chv72B"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/steadyfetch~amazon-bestsellers-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-steadyfetch-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/steadyfetch~amazon-bestsellers-scraper/runs": {
      "post": {
        "operationId": "runs-sync-steadyfetch-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/steadyfetch~amazon-bestsellers-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-steadyfetch-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",
        "required": [
          "categories"
        ],
        "properties": {
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Amazon department names, e.g. [\"electronics\"], or a ranked-list link like https://www.amazon.com/gp/bestsellers/kitchen/ — a pasted link decides its own store and list. A category that does not exist on that store, an empty list and a blocked page are never charged: each comes back as a row saying which. A keyword belongs in steadyfetch/amazon-search-scraper, an ASIN or product link in steadyfetch/amazon-product-scraper, a seller id or storefront in steadyfetch/amazon-seller-scraper. Send the field as a list — leaving it out is fine, but this one field cannot be null. Every optional field below accepts null — the Marketplace and List dropdowns included — and null there simply means \"use the default\". A dropdown value that is not on its list is answered with one uncharged row naming the values that work, never quietly swapped for the default. Leave this untouched and click Start to run a 5-rank sample (the amazon.com \"electronics\" Best Sellers).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "marketplace": {
            "title": "Marketplace",
            "type": "string",
            "description": "Which Amazon store to read. Amazon runs a separate catalogue — and a separate set of department names — per country. A pasted link decides its own store. The domain, the country code or the country name all work — amazon.co.uk, GB and United Kingdom are the same store. Null or empty means amazon.com; a store that is not on this list is answered with one uncharged row naming the stores that are.",
            "default": "amazon.com"
          },
          "list": {
            "title": "List",
            "type": "string",
            "description": "Which ranked list to read for the categories you typed as plain names. A pasted link decides its own list. Movers & Shakers is not offered: Amazon builds that grid in the browser, so the page carries no rows to read. The value or the name of the list both work — new-releases and \"New Releases\" are the same list. Null or empty means Best Sellers; a list that is not on this one is answered with one uncharged row naming the lists that are.",
            "default": "bestsellers"
          },
          "maxItemsPerCategory": {
            "title": "Max products per category",
            "minimum": 1,
            "type": "integer",
            "description": "How many ranks to return per category, in Amazon's own rank order. 60 is the ceiling because 60 is what Amazon puts on the page: ranks 1-30 on page one and 51-80 on page two. Ranks 31-50 and 81-100 are loaded by the browser and are not in the page at all. Ask for more and the run continues at 60, with one uncharged row saying so.",
            "default": 60
          },
          "maxItems": {
            "title": "Max products (whole run)",
            "minimum": 0,
            "type": "integer",
            "description": "Hard cap on delivered products across all categories. 0 means no run-wide cap. Up to 5,000 per run — ask for more and the run continues at 5,000, with one uncharged row saying so.",
            "default": 0
          },
          "maxRunSeconds": {
            "title": "Max run seconds",
            "type": "integer",
            "description": "The run stops cleanly before this and reports what is left, instead of being killed by the platform timeout. Between 60 and 21,600 seconds — ask outside that and the run continues at the nearest of the two, with one uncharged row saying so.",
            "default": 3600
          },
          "includeVariants": {
            "title": "Include variants",
            "type": "boolean",
            "description": "Every colour, size or flavour of each product, with its own ASIN. Turn off for a smaller row; the price does not change.",
            "default": true
          },
          "includeSpecs": {
            "title": "Include specifications",
            "type": "boolean",
            "description": "The product-details table (brand, model, dimensions, materials and so on). Turn off for a smaller row; the price does not change.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}