{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Search Scraper With Product Detail Pages",
    "description": "Amazon Search Scraper extracts product listings and detailed product page data, including titles, prices, ASINs, ratings, reviews, images, descriptions, availability, seller details, and URLs. Ideal for product research, price tracking, competitor analysis, and e-commerce intelligence.",
    "version": "0.1",
    "x-build-id": "4zLGLDsGH6F5K6dxw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapier~amazon-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapier-amazon-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/scrapier~amazon-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapier-amazon-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/scrapier~amazon-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapier-amazon-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": {
          "searchTerms": {
            "title": "🔍 Keywords or Amazon search URLs",
            "type": "array",
            "description": "Add one or more entries; each one runs as its own search.\n\nExamples:\n  • `laptop`\n  • `wireless headphones`\n  • `https://www.amazon.com/s?k=gaming+chair`\n  • `https://www.amazon.co.uk/s?k=running+shoes`\n\nPlain keywords use amazon.com. Paste a country search URL to use that marketplace instead (com, co.uk, de, fr, it, es, ca).",
            "items": {
              "type": "string"
            }
          },
          "productLimit": {
            "title": "📦 Products per search term",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum products to collect **for each** search term. Example: 2 search terms with a limit of 5 returns up to 10 rows in total. Default is 5.\n\nIf you send the legacy `maxResults` key instead, it is used as this per-search-term limit."
          },
          "resultOrder": {
            "title": "↕️ Result order",
            "enum": [
              "relevanceblender",
              "price-asc-rank",
              "price-desc-rank",
              "review-rank",
              "date-desc-rank",
              "exact-aware-popularity-rank"
            ],
            "type": "string",
            "description": "The order Amazon applies to the results before they are collected. These are the six orders Amazon itself offers on the results page."
          },
          "enrichFromProductPage": {
            "title": "🧬 Add detail-page fields",
            "type": "boolean",
            "description": "When on, every collected product is also read from its own product page so the row gains brand, best seller ranks, category path, availability, sold by, ships from, coupon text, the authoritative review count, feature bullets and the variant map. When off, only search-result fields are returned and those columns stay empty. Default is on.",
            "default": true
          },
          "maxDetailFetches": {
            "title": "🔢 Detail-page budget",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "How many products in this run may be enriched from their own page. The budget is spent in collection order and shared across all search terms; products beyond it keep their search-result fields and are marked `skipped` in the `detailStatus` column. Set 0 to disable the pass entirely. Default is 10.",
            "default": 10
          },
          "detailFields": {
            "title": "🧾 Detail-page fields to collect",
            "type": "array",
            "description": "Pick which detail-page field groups to fill. Leaving every option selected is the default.",
            "items": {
              "type": "string",
              "enum": [
                "brand",
                "rank",
                "categoryPath",
                "variants",
                "availability",
                "seller",
                "coupon",
                "reviews",
                "features"
              ],
              "enumTitles": [
                "🏭 Brand",
                "🏆 Best seller ranks",
                "🗂️ Category path",
                "🧬 Variant ASINs & labels",
                "📦 Availability",
                "🛒 Sold by / ships from",
                "🎟️ Coupon & savings text",
                "🧾 Review count",
                "📋 Feature bullets"
              ]
            },
            "default": [
              "brand",
              "rank",
              "categoryPath",
              "variants",
              "availability",
              "seller",
              "coupon",
              "reviews",
              "features"
            ]
          },
          "urls": {
            "title": "🧩 urls (legacy alias of Search terms)",
            "type": "array",
            "description": "Accepted for backward compatibility. Used only when 🔍 Search terms is empty.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "🧩 maxResults (legacy alias of Products per search term)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Accepted for backward compatibility. Used only when 📦 Products per search term is empty. Note that it now applies per search term, so every term you enter is actually searched."
          },
          "sortBy": {
            "title": "🧩 sortBy (legacy alias of Result order)",
            "enum": [
              "relevanceblender",
              "recent"
            ],
            "type": "string",
            "description": "Accepted for backward compatibility. Used only when ↕️ Result order is empty. The old `recent` value now maps onto Amazon's real newest-arrivals order instead of quietly returning featured results."
          },
          "proxyConfiguration": {
            "title": "🌐 Connection configuration",
            "type": "object",
            "description": "Leave this as prefilled unless you have a reason to change it. The prefilled option is the one that returns complete result pages."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}