{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Seller Scraper — Seller Data, Feedback & Products",
    "description": "Find Amazon sellers by keyword, ASIN or seller ID. Extract seller profiles, 30-day to lifetime ratings, feedback, storefront products and public business details from Amazon US, Canada, UK, Germany and France.",
    "version": "0.1",
    "x-build-id": "QhciaivEUeWAQoRLv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zapticx~amazon-seller-data-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zapticx-amazon-seller-data-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/zapticx~amazon-seller-data-scraper/runs": {
      "post": {
        "operationId": "runs-sync-zapticx-amazon-seller-data-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/zapticx~amazon-seller-data-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zapticx-amazon-seller-data-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": "Search terms",
            "type": "array",
            "description": "Find sellers through Amazon search: each term's results (up to the limit below) go through the same seller discovery as Products. Extra spaces and duplicates are removed. Up to 20 terms. Provide search terms, products, sellers, or any combination.",
            "items": {
              "type": "string"
            }
          },
          "maxSearchProductsPerTerm": {
            "title": "Maximum products per search term",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Distinct products taken from each term's results, in Amazon's order (48 per result page; Amazon shows at most 7 pages). Terms x this limit may not exceed 1000 per run.",
            "default": 20
          },
          "sellers": {
            "title": "Seller IDs or seller URLs",
            "type": "array",
            "description": "Amazon seller IDs (e.g. A294P4X9EWVXLJ) or seller page links: seller profile (/sp?seller=…), storefront (/s?me=…, /shops/…) or the 'Sold by' link from a product page. Duplicates are removed; values that are not a seller ID or seller URL are reported as INVALID_INPUT and not fetched. Up to 500 per run.",
            "items": {
              "type": "string"
            }
          },
          "products": {
            "title": "Products (ASINs or product URLs)",
            "type": "array",
            "description": "Find the sellers of these products: ASINs (e.g. B0CG1LGWR6) or Amazon product links (/dp/…, /gp/product/…). Tracking parameters are ignored and duplicates removed. Each seller found is looked up once, however many products list it. Up to 200 per run. Provide sellers, products, or both.",
            "items": {
              "type": "string"
            }
          },
          "marketplace": {
            "title": "Marketplace",
            "enum": [
              "US",
              "CA",
              "UK",
              "DE",
              "FR"
            ],
            "type": "string",
            "description": "The Amazon store used for seller IDs, bare ASINs (e.g. B0CG1LGWR6) and search terms. Seller and product URLs carry their own store in their domain (amazon.com, amazon.ca, amazon.co.uk, amazon.de or amazon.fr) and are looked up there whatever this setting is.",
            "default": "US"
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "The most sellers delivered (and billed): sellers that load and pass your filters. Once reached, the run stops searching, checking products and looking up sellers. Sellers removed by the filters do not count. Applies to sellers you list too: raise it if you list more sellers than this. 0 = no limit.",
            "default": 100
          },
          "productSellerMode": {
            "title": "Sellers to take from each product",
            "enum": [
              "featured_offer",
              "all_offers"
            ],
            "type": "string",
            "description": "Featured offer: the seller of the offer Amazon features on the product page (the Buy Box). All sellers: every seller in Amazon's 'Other sellers' list, up to the limit below. Amazon's own offers (Amazon.com, Amazon Resale, AmazonFresh) have no seller profile and are only reported in the PRODUCT_DISCOVERY record.",
            "default": "featured_offer"
          },
          "maxSellersPerProduct": {
            "title": "Maximum sellers per product",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "All-sellers mode only: the most distinct sellers taken from one product, in Amazon's offer order.",
            "default": 10
          },
          "maxDiscoveredSellers": {
            "title": "Maximum sellers found through products",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "The most new sellers (not already requested directly) looked up from all products together, including sellers the filters then remove (this bounds the lookups, Maximum results bounds the delivered rows). Sellers beyond it are listed in PRODUCT_DISCOVERY but not looked up or billed.",
            "default": 100
          },
          "includeFeedback": {
            "title": "Include individual seller feedback",
            "type": "boolean",
            "description": "Also collect the individual feedback records Amazon lists on each seller's profile (rating, text, date, buyer name, suppression flag and seller response) into the separate Feedback dataset. Each feedback row is billed separately; off by default.",
            "default": false
          },
          "maxFeedbackPerSeller": {
            "title": "Maximum feedback per seller",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Exact upper limit of feedback rows delivered (and billed) per seller, newest first. Fewer are delivered when Amazon lists fewer. Amazon lists 5 per page, so the limit also bounds the pages read.",
            "default": 25
          },
          "includeProducts": {
            "title": "Include seller products",
            "type": "boolean",
            "description": "Also collect the products listed in each seller's Amazon storefront (ASIN, title, price, list price, rating and exact rating count) into the separate Products dataset. Each product row is billed separately; off by default.",
            "default": false
          },
          "maxProductsPerSeller": {
            "title": "Maximum products per seller",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Exact upper limit of unique products delivered (and billed) per seller, in storefront order. Amazon shows 16 per storefront page, and each page takes a few seconds, so large limits across many sellers make long runs (the run log warns when the estimate exceeds 10 minutes).",
            "default": 16
          },
          "filterPeriod": {
            "title": "Period for rating and feedback filters",
            "enum": [
              "12_months",
              "90_days",
              "30_days",
              "lifetime"
            ],
            "type": "string",
            "description": "Which of Amazon's feedback periods the rating, feedback-count and positive-% filters use. Sellers that fail any filter are not output, not billed, and get no feedback or product lookups; they are counted in RUN_SUMMARY. Filters apply to every seller, including sellers you list directly.",
            "default": "12_months"
          },
          "minSellerRating": {
            "title": "Minimum seller rating",
            "type": "string",
            "description": "1 to 5, e.g. 4.5 (inclusive, as Amazon displays it for the period). A seller with no rating in the period does not pass."
          },
          "minPositiveFeedbackPct": {
            "title": "Minimum positive feedback %",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Share of 4-5 star ratings in the period (inclusive). A seller with no ratings in the period does not pass."
          },
          "minFeedbackCount": {
            "title": "Minimum feedback count",
            "minimum": 0,
            "type": "integer",
            "description": "Seller ratings in the period (inclusive). Missing counts do not pass."
          },
          "maxFeedbackCount": {
            "title": "Maximum feedback count",
            "minimum": 0,
            "type": "integer",
            "description": "Seller ratings in the period (inclusive), e.g. to find smaller sellers. Missing counts do not pass."
          },
          "businessCountries": {
            "title": "Business countries",
            "type": "array",
            "description": "Only sellers whose business address country (two-letter code, e.g. US, CN, DE) is in this list. The country comes only from the business address the seller profile displays and is never assumed from the marketplace, so sellers without a displayed address do not pass. Amazon Canada shows no business address, so this filter removes every seller found on amazon.ca.",
            "items": {
              "type": "string"
            }
          },
          "excludeAmazon": {
            "title": "Exclude Amazon's own seller accounts",
            "type": "boolean",
            "description": "Skip Amazon's own selling entities that have a seller profile (e.g. 'Amazon Germany', 'Amazon US'). Amazon's own retail offers without a seller profile (e.g. Amazon.com, Amazon.ca, Amazon, Amazon Resale, Amazon Retourenkauf, Warehouse Deals) never become seller rows either way.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave this at the default (Apify Proxy) unless you have a specific reason to change it. With the default, the Actor chooses the connection for each marketplace itself: standard Apify proxies for Amazon US and Canada, UK residential proxies for Amazon UK, and local residential proxies for the Amazon Germany and France pages whose results depend on the visitor's country. If you choose residential proxy yourself, its country defaults to the Marketplace setting. Other proxy settings can change which offers and products Amazon shows.",
            "default": {
              "useApifyProxy": true
            }
          },
          "maxConcurrency": {
            "title": "Parallel sessions",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many sellers are fetched at the same time, each on its own proxy session with human-scale pacing.",
            "default": 5
          },
          "failRunIfUnhealthyPercentAbove": {
            "title": "Fail the run if more than this % of sellers could not be loaded",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Optional. Seller rows already delivered are kept (and billed); the run status just turns FAILED so alerts and schedules can react. Sellers that do not exist (NOT_FOUND) do not count as unhealthy."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}