{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Seller Data Extractor By Keyword Search",
    "description": "Amazon Seller Data Extractor By Keyword Search finds Amazon sellers through keyword searches and extracts seller names, ratings, reviews, product data, prices, and profile details. Ideal for seller research, competitor analysis, supplier discovery, and e-commerce intelligence.",
    "version": "0.1",
    "x-build-id": "CWHqHH8l9xUXTYx1h"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/api-empire~amazon-seller-data-extractor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-api-empire-amazon-seller-data-extractor",
        "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-seller-data-extractor/runs": {
      "post": {
        "operationId": "runs-sync-api-empire-amazon-seller-data-extractor",
        "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-seller-data-extractor/run-sync": {
      "post": {
        "operationId": "run-sync-api-empire-amazon-seller-data-extractor",
        "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": {
          "searchKeywords": {
            "title": "🔎 Search keywords",
            "type": "array",
            "description": "One search phrase per row (example: \"handmade ceramics\"). Each keyword runs its own Amazon search → product → seller resolution pipeline. Also accepts the base actor's old 'keywordInputs' key.",
            "items": {
              "type": "string"
            }
          },
          "searchCategory": {
            "title": "🗂️ Amazon department (category index)",
            "type": "string",
            "description": "Amazon's department/category index for the search (e.g. \"aps\"=All Departments, \"electronics\", \"kitchen\"). Applies to every keyword above. Default \"aps\" searches all departments."
          },
          "keywordSortOrder": {
            "title": "↕️ Keyword search result order",
            "enum": [
              "Featured",
              "Best Sellers",
              "Price: Low to High",
              "Price: High to Low",
              "Avg. Customer Review",
              "Newest Arrivals",
              "Relevance"
            ],
            "type": "string",
            "description": "How Amazon orders the search results we walk to find sellers."
          },
          "maxSellersPerKeyword": {
            "title": "🎯 Max unique sellers per keyword",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Stop each keyword's discovery once this many DISTINCT sellers (de-duped by seller ID) have been found."
          },
          "discoveryUrls": {
            "title": "🔗 Discovery container URLs (search or seller storefront)",
            "type": "array",
            "description": "Paste an Amazon search-results URL OR a seller's own storefront-listing URL (https://www.amazon.com/s?me=<sellerId>) to enumerate ALL of its ASINs and resolve every seller found. A plain product (/dp/) or seller (/sp?seller=) URL is instead looked up directly, exactly like the base actor's 'startUrls'.",
            "items": {
              "type": "string"
            }
          },
          "businessTransparencyLookup": {
            "title": "🇪🇺 Fetch EU business-transparency panel",
            "type": "boolean",
            "description": "When ON and the marketplace domain is amazon.de/.fr/.it/.es/.nl/.se/.pl, fetches each seller's page a second time with '&marketplaceID=' added to surface VAT/trade-register/business-type/address. No-op (skipped, logged) on non-EU domains. Also fills the base's previously-dead 'seller_phone_number' field for real when disclosed."
          },
          "productAsinsOrSellerIds": {
            "title": "📦 Amazon ASINs or seller IDs",
            "type": "array",
            "description": "One ASIN (e.g. B00P8XQPY4) or seller ID (e.g. A33W53J5GVPZ8K) per row. Also accepts the base actor's old 'asinInputs' key.",
            "items": {
              "type": "string"
            }
          },
          "sellerIdsToLookup": {
            "title": "👤 Seller IDs / merchant IDs",
            "type": "array",
            "description": "Amazon seller IDs like A33W53J5GVPZ8K, when you already know exactly who to research. Also accepts the base actor's old 'usernameInputs' key.",
            "items": {
              "type": "string"
            }
          },
          "marketplaceToSearch": {
            "title": "🌐 Amazon marketplace domain",
            "type": "string",
            "description": "Examples: amazon.com, amazon.co.uk, amazon.de, amazon.co.jp. Also accepts the base actor's old 'amazonDomain' key. EU domains (.de/.fr/.it/.es/.nl/.se/.pl) unlock the business-transparency panel above."
          },
          "pageLocaleHint": {
            "title": "🗣️ Page language (locale)",
            "type": "string",
            "description": "Optional locale string (en-US, de-DE…). Leave blank to let Amazon decide. Also accepts the base actor's old 'language' key."
          },
          "targetProxyCountry": {
            "title": "🌎 Target proxy country",
            "type": "string",
            "description": "ISO-style country for routing (or AUTO). Also accepts the base actor's old 'proxyCountry' key."
          },
          "captchaHelperEnabled": {
            "title": "🤖 Use captcha solver",
            "type": "boolean",
            "description": "Flip ON if Amazon throws puzzles often. Also accepts the base actor's old 'useCaptchaSolver' key (same behavior as the base)."
          },
          "reviewSortPreference": {
            "title": "⭐ Review sort order",
            "enum": [
              "recent",
              "helpful",
              "rating"
            ],
            "type": "string",
            "description": "How feedback is ordered when collected. Also accepts the base actor's old 'sortOrder' key."
          },
          "maxReviewsPerSeller": {
            "title": "💬 Max reviews per seller",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap feedback rows per seller (0 = grab everything the page allows). Also accepts the base actor's old 'maxComments' key."
          },
          "maxParallelSellerLookups": {
            "title": "⚡ Max parallel direct lookups",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Concurrency for the direct ASIN/seller-ID/URL lookup tier. Also accepts the base actor's old 'maxConcurrency' key."
          },
          "maxParallelKeywordSearch": {
            "title": "⚡ Max parallel search-page fetches (keyword tier)",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Its OWN concurrency lane for keyword/URL discovery search pages — kept separate from the direct-lookup tier above so a big keyword discovery run never starves or overloads your direct ASIN/seller lookups."
          },
          "maxParallelProductFetch": {
            "title": "⚡ Max parallel product/seller fetches (keyword tier)",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Its OWN concurrency lane for resolving discovered products → sellers during keyword/URL discovery."
          },
          "proxyConfiguration": {
            "title": "🧩 Proxy configuration (optional)",
            "type": "object",
            "description": "This actor always runs on residential proxies for both the direct-lookup and keyword-discovery tiers. UI choices here stay for compatibility but may be overridden automatically."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}