{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Scraper AIO | Products, Best Sellers, Prices & BSR",
    "description": "All-in-one Amazon scraper: keyword/URL search, full product pages (price, Best Sellers Rank, star breakdown, bullets, images, variants, seller) and the public Best Sellers & New Releases rankings. Filter by price, rating, reviews, Prime. 18 marketplaces. From $2 per 1,000 results.",
    "version": "0.0",
    "x-build-id": "MD9hq5yGzhKmPsflj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tactful_anvil~amazon-product-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tactful_anvil-amazon-product-search-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/tactful_anvil~amazon-product-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-tactful_anvil-amazon-product-search-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/tactful_anvil~amazon-product-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-tactful_anvil-amazon-product-search-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": {
          "keywords": {
            "title": "Search keywords",
            "type": "array",
            "description": "One search per line, exactly what you would type into the Amazon search box (e.g. \"air fryer\", \"wireless earbuds\").",
            "default": [
              "air fryer"
            ],
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "Or: Amazon search / category URLs",
            "type": "array",
            "description": "Full amazon.* URLs copied from the browser — search results with any filters (price, brand, Prime, rating), category browse pages (/s?i=…&rh=…), Best Sellers lists are NOT supported here (use ASINs).",
            "items": {
              "type": "string"
            }
          },
          "asins": {
            "title": "Product ASINs or product URLs (full details)",
            "type": "array",
            "description": "10-character ASINs or amazon.*/dp/… URLs. Each one is fetched as a full product page (Best Sellers Rank, bullets, images, variants, seller, specs).",
            "items": {
              "type": "string"
            }
          },
          "domain": {
            "title": "Amazon marketplace",
            "enum": [
              "amazon.com",
              "amazon.co.uk",
              "amazon.de",
              "amazon.ca",
              "amazon.fr",
              "amazon.it",
              "amazon.es",
              "amazon.com.au",
              "amazon.in",
              "amazon.co.jp",
              "amazon.com.mx",
              "amazon.nl",
              "amazon.se",
              "amazon.pl",
              "amazon.ae",
              "amazon.sa",
              "amazon.sg",
              "amazon.com.br"
            ],
            "type": "string",
            "description": "Marketplace for keyword searches and ASIN lookups. Prices are returned in that marketplace's currency.",
            "default": "amazon.com"
          },
          "maxResultsPerQuery": {
            "title": "Max results per search",
            "minimum": 1,
            "maximum": 700,
            "type": "integer",
            "description": "Product cards to collect per keyword/URL (≈22 organic+sponsored per page, Amazon caps at 7–20 pages). Max 700.",
            "default": 48
          },
          "includeSponsored": {
            "title": "Include sponsored (ad) listings",
            "type": "boolean",
            "description": "Sponsored cards are returned with sponsored: true. Untick to keep only organic ranking.",
            "default": true
          },
          "enrichDetails": {
            "title": "Fetch full product page for every search result",
            "type": "boolean",
            "description": "Adds a product-detail row (BSR, bullets, images, variants, seller, specs) for each search result — charged per product detail.",
            "default": false
          },
          "category": {
            "title": "Search department (optional)",
            "type": "string",
            "description": "Amazon department alias for keyword searches, e.g. electronics, kitchen, beauty, toys-and-games, sporting, garden, pets. Empty = All departments."
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "price-asc-rank",
              "price-desc-rank",
              "review-rank",
              "date-desc-rank",
              "exact-aware-popularity-rank"
            ],
            "type": "string",
            "description": "Amazon sort for keyword searches.",
            "default": "relevance"
          },
          "priceMin": {
            "title": "Min price",
            "minimum": 0,
            "type": "number",
            "description": "Lower price bound in the marketplace currency (Amazon `low-price`); also drops cheaper cards from pasted URLs. 0 = no filter.",
            "default": 0
          },
          "priceMax": {
            "title": "Max price",
            "minimum": 0,
            "type": "number",
            "description": "Upper price bound (Amazon `high-price`). 0 = no filter.",
            "default": 0
          },
          "minRating": {
            "title": "Min star rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Keep only cards rated at least this (e.g. 4.3). Unrated cards are dropped. Dropped cards are never charged.",
            "default": 0
          },
          "minReviews": {
            "title": "Min review count",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only cards with at least this many ratings (proven sellers). Never charged when dropped.",
            "default": 0
          },
          "primeOnly": {
            "title": "Prime only",
            "type": "boolean",
            "description": "Only Prime-eligible cards (Amazon `rh=p_85` filter on amazon.com + card badge check on every marketplace).",
            "default": false
          },
          "includeMarketSummary": {
            "title": "Add free market-summary row per search",
            "type": "boolean",
            "description": "One extra row per keyword (type: market-summary) with price min/median/max, avg rating, sponsored share, total bought last month, Best Seller / Amazon's Choice ASINs. Never charged.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy (optional)",
            "type": "object",
            "description": "Leave empty to use the built-in fallback chain (direct → Apify datacenter proxy → residential relay). Point it at your own residential proxy for the highest success rate on big runs.",
            "default": {}
          },
          "bestSellersCategories": {
            "title": "Best Sellers: category slugs",
            "type": "array",
            "description": "Scrape Amazon's public Best Sellers ranking for these category slugs (e.g. `kitchen`, `electronics`, `books`, `toys-and-games`). Amazon server-renders about 30 ranked products per page (the rest of each page of 50 is loaded by JavaScript, which an HTTP scraper cannot see) — raise 'Ranking pages' to go deeper. Leave empty to skip.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "bestSellersUrls": {
            "title": "Best Sellers: paste ranking URLs",
            "type": "array",
            "description": "Or paste full Amazon ranking URLs, e.g. https://www.amazon.com/gp/bestsellers/kitchen or https://www.amazon.com/gp/new-releases/electronics. Movers & Shakers pages are NOT supported.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "bestSellersList": {
            "title": "Ranking type",
            "enum": [
              "bestsellers",
              "new-releases"
            ],
            "type": "string",
            "description": "Which ranking to read when you give category slugs.",
            "default": "bestsellers"
          },
          "bestSellersPages": {
            "title": "Ranking pages per category",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How many ranking pages per category. Each page yields about 30 ranked products (page 1 = ranks 1-30, page 2 = ranks 51-80, and so on). Charged as search results.",
            "default": 1
          },
          "variantPrices": {
            "title": "Fetch price for every variant (colour, size, style)",
            "type": "boolean",
            "description": "For products that have variants, also fetch each variant's own page and add `variantPrices[]` — ASIN, variant name, price, list price, stock, rating and review count per variant. Costs one extra page load per variant (no extra charge), so keep the cap low on big runs.",
            "default": false
          },
          "maxVariantsPerProduct": {
            "title": "Max variants per product",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many variants to price per product when the option above is on.",
            "default": 5
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}