{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Seller Contact Scraper — Emails, Phone, VAT & Ratings",
    "description": "Turn any Amazon search, best-seller list or product URL into a lead list of the third-party sellers behind the products — with legal business name, address, VAT number, phone and email (EU impressum), ratings and storefront. 18 marketplaces, pure HTTP. Opt-in email enrichment. JSON/CSV",
    "version": "0.0",
    "x-build-id": "eqIOfIuc3cXIKehOi"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~amazon-sellers-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-amazon-sellers-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/memo23~amazon-sellers-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-amazon-sellers-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/memo23~amazon-sellers-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-amazon-sellers-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": {
          "searchQueries": {
            "title": "🔍 Search queries",
            "type": "array",
            "description": "Keywords to search on Amazon. Each keyword runs its own paginated crawl on every selected marketplace; the sellers behind the returned products are then scraped. Example: \"phone case\", \"yoga mat\", \"dog toys\".",
            "items": {
              "type": "string"
            }
          },
          "marketplaces": {
            "title": "🌍 Marketplaces",
            "type": "array",
            "description": "Which Amazon marketplaces the search queries run on. EU marketplaces (DE, FR, IT, ES…) return the richest contact data — the legally required impressum includes email, phone, VAT and trade-register number. US (.com) returns business name + address (INFORM Act). Start URLs ignore this and use the domain in the URL.",
            "items": {
              "type": "string",
              "enum": [
                "com",
                "co.uk",
                "de",
                "fr",
                "it",
                "es",
                "ca",
                "com.au",
                "co.jp",
                "in",
                "nl",
                "se",
                "pl",
                "com.be",
                "ae",
                "com.mx",
                "com.tr",
                "sg"
              ],
              "enumTitles": [
                "amazon.com (US)",
                "amazon.co.uk (UK)",
                "amazon.de (Germany)",
                "amazon.fr (France)",
                "amazon.it (Italy)",
                "amazon.es (Spain)",
                "amazon.ca (Canada)",
                "amazon.com.au (Australia)",
                "amazon.co.jp (Japan)",
                "amazon.in (India)",
                "amazon.nl (Netherlands)",
                "amazon.se (Sweden)",
                "amazon.pl (Poland)",
                "amazon.com.be (Belgium)",
                "amazon.ae (UAE)",
                "amazon.com.mx (Mexico)",
                "amazon.com.tr (Turkey)",
                "amazon.sg (Singapore)"
              ]
            },
            "default": [
              "com"
            ]
          },
          "startUrls": {
            "title": "📎 Start URLs (optional)",
            "type": "array",
            "description": "Direct Amazon URLs, mixed freely: seller profiles (amazon.com/sp?seller=…), product pages (/dp/ASIN), search results (/s?k=…), best-seller lists (/gp/bestsellers/…) or category pages (/b?node=…). Any supported marketplace — the domain in the URL wins. Runs in addition to search queries.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max sellers (whole run)",
            "minimum": 1,
            "type": "integer",
            "description": "Hard ceiling of seller profiles to scrape across the whole run. Also capped by your plan and charge limit."
          },
          "maxItemsPerQuery": {
            "title": "Max sellers per query / URL",
            "minimum": 1,
            "type": "integer",
            "description": "Upper bound of sellers to emit per search query or per start URL.",
            "default": 100
          },
          "maxProductsPerQuery": {
            "title": "Products to inspect per query / URL",
            "minimum": 1,
            "type": "integer",
            "description": "How many products each search query / listing URL inspects while discovering sellers (one fetch per product; each product yields its buy-box seller plus other offer merchants). More products = more and deeper-tail sellers. ~48 products per search page.",
            "default": 100
          },
          "enrichEmails": {
            "title": "💌 Enrich missing emails (opt-in)",
            "type": "boolean",
            "description": "For sellers whose Amazon page shows no email (typical on amazon.com), resolve the seller's legal business name to a company website and scan it for contact emails. Best-effort; adds latency. Emails already published on Amazon are always included for free.",
            "default": false
          },
          "findCompanyWebsite": {
            "title": "🌐 Find the seller's own website (UK and EU sellers)",
            "type": "boolean",
            "description": "For sellers registered in the UK, Poland, Germany, France or Italy (the country code on their Amazon address), find the company's own website, even when Amazon already shows an email, starting with the domain of that email. A site counts only when one of its pages shows the seller's register or VAT number, its registered office (postcode and town) or its registered name with legal form, so a namesake's site is never returned; an unconfirmed site is reported in websiteCandidate with no email taken from it. Adds websiteMatchedBy, websiteFoundBy, websiteEmails and websitePhones, and fills contactWebsite. Billed as one contact email only when the site gives an email Amazon did not show. Sellers from other countries are skipped. Adds a few seconds per seller. Default: false.",
            "default": false
          },
          "qualifyByPayment": {
            "title": "💳 Qualify by payment (flag businesses that take money online)",
            "type": "boolean",
            "description": "Requires \"Enrich missing emails\" or \"Find the seller's own website\". Scans each business's website — reusing the pages already fetched for email discovery, so no extra cost or time — for payment processors and e-commerce platforms (Stripe, Shopify, PayPal, Paddle, Lemon Squeezy, WooCommerce, Square, Chargebee and more). Adds takesPayments (is this a real paying business?), paymentProcessors (which stack), stripeLiveKey (the public key if exposed) and paymentConfidence. Turn raw contacts into monetization-qualified leads. No extra charge — included with each enriched company.",
            "default": false
          },
          "concurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many pages to fetch in parallel. Every run gets 1024MB of memory, which safely holds 14 Amazon pages at once (product pages are ~2.8MB each), so values above 14 are capped at 14. Lower it only if you want to go easy on a marketplace. Default 14.",
            "default": 14
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}