{
  "openapi": "3.0.1",
  "info": {
    "title": "E-commerce Scraper Pro: Multi Marketplace Product Intelligence",
    "description": "Scrape products from 14+ marketplaces (Amazon, Walmart, Target, eBay, Etsy, AliExpress, Best Buy, IKEA, Zalando, ASOS, Shopify). Pricing, stock, variants, images, ratings, AI summaries. Auto detects retailer. JSON-LD fallback covers any storefront. Pay per row.",
    "version": "0.1",
    "x-build-id": "FHpnJQI9IrJoxkRry"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapemint~ecommerce-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapemint-ecommerce-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/scrapemint~ecommerce-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapemint-ecommerce-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/scrapemint~ecommerce-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapemint-ecommerce-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": {
          "scrapeMode": {
            "title": "Scrape mode",
            "enum": [
              "auto",
              "playwright",
              "cheerio"
            ],
            "type": "string",
            "description": "Auto picks the fastest path per URL: Cheerio for static HTML pages, Playwright for JS heavy retailers (Amazon, Walmart, Target, AliExpress). Force one mode if you have a preference.",
            "default": "auto"
          },
          "productUrls": {
            "title": "Product detail URLs",
            "type": "array",
            "description": "Direct product page URLs. Mix any of the supported marketplaces (Amazon, Walmart, Target, eBay, Etsy, AliExpress, Best Buy, Costco, Wayfair, Home Depot, IKEA, Zalando, ASOS, Shopify). Unknown retailers fall back to JSON-LD.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "categoryUrls": {
            "title": "Category listing URLs",
            "type": "array",
            "description": "Category, search results, brand, or seller store URLs. The actor walks the listing, queues each product, and respects totalMaxProducts.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "keyword": {
            "title": "Keyword for search",
            "type": "string",
            "description": "Search term applied across each selected marketplace. Pair with marketplaces below.",
            "default": ""
          },
          "marketplaces": {
            "title": "Marketplaces for keyword search",
            "type": "array",
            "description": "Which marketplaces to run the keyword search on. Independent searches per marketplace, results merged into one dataset.",
            "items": {
              "type": "string",
              "enum": [
                "amazon_us",
                "amazon_uk",
                "amazon_de",
                "amazon_fr",
                "amazon_jp",
                "amazon_in",
                "walmart_us",
                "target_us",
                "bestbuy_us",
                "costco_us",
                "wayfair_us",
                "homedepot_us",
                "ebay_us",
                "etsy_us",
                "aliexpress",
                "ikea_us",
                "zalando_de",
                "asos_uk"
              ],
              "enumTitles": [
                "Amazon (US)",
                "Amazon (UK)",
                "Amazon (DE)",
                "Amazon (FR)",
                "Amazon (JP)",
                "Amazon (IN)",
                "Walmart (US)",
                "Target (US)",
                "Best Buy (US)",
                "Costco (US)",
                "Wayfair (US)",
                "Home Depot (US)",
                "eBay (US)",
                "Etsy (US)",
                "AliExpress (Global)",
                "IKEA (US)",
                "Zalando (DE)",
                "ASOS (UK)"
              ]
            },
            "default": []
          },
          "includeAdditionalProperties": {
            "title": "Include additional properties",
            "type": "boolean",
            "description": "Pull extras when present: variant matrix, ratings histogram, Q&A counts, shipping options, return policy summary, eco labels, certifications, dimensions and weight. Off keeps rows lean.",
            "default": true
          },
          "aiSummaryDataPoints": {
            "title": "AI summary - data points",
            "type": "array",
            "description": "Generate per product AI summaries for the chosen aspects. Requires an OpenAI API key (set in run env). Skip for raw data only.",
            "items": {
              "type": "string",
              "enum": [
                "pros",
                "cons",
                "best_for",
                "avoid_if",
                "value_rating",
                "sentiment_breakdown",
                "feature_highlights",
                "comparison_notes",
                "buyer_questions",
                "fit_recommendation"
              ],
              "enumTitles": [
                "Pros (top positives)",
                "Cons (top negatives)",
                "Best for (target audience)",
                "Avoid if (warning signals)",
                "Value rating (price vs quality)",
                "Sentiment breakdown (positive / neutral / negative)",
                "Feature highlights (top features)",
                "Comparison notes (vs alternatives)",
                "Buyer questions (FAQs)",
                "Fit recommendation (sizing or compatibility)"
              ]
            },
            "default": []
          },
          "aiSummaryCustomPrompt": {
            "title": "AI summary - custom prompt",
            "type": "string",
            "description": "Optional extra instruction passed to the AI summarizer. Example: 'Only mention long term durability and warranty terms'.",
            "default": ""
          },
          "totalMaxProducts": {
            "title": "Total maximum products",
            "minimum": 0,
            "maximum": 50000,
            "type": "integer",
            "description": "Hard cap on rows pushed per run. 0 means unlimited.",
            "default": 25
          },
          "searchEngine": {
            "title": "Search engine",
            "enum": [
              "none",
              "google_shopping",
              "bing_shopping",
              "duckduckgo"
            ],
            "type": "string",
            "description": "When categoryUrls is empty and keyword is set on a marketplace without a built in search, fall back to a search engine to find product URLs. Use 'none' to disable.",
            "default": "none"
          },
          "searchEngineCountry": {
            "title": "Search engine country",
            "enum": [
              "US",
              "GB",
              "CA",
              "AU",
              "DE",
              "FR",
              "IT",
              "ES",
              "NL",
              "JP",
              "IN",
              "BR",
              "MX"
            ],
            "type": "string",
            "description": "Country gl param. Affects which retailers Google or Bing surface.",
            "default": "US"
          },
          "searchEngineLanguage": {
            "title": "Search engine language",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "it",
              "pt",
              "nl",
              "ja",
              "hi"
            ],
            "type": "string",
            "description": "Language hl param.",
            "default": "en"
          },
          "currency": {
            "title": "Output currency",
            "enum": [
              "original",
              "USD",
              "EUR",
              "GBP",
              "CAD",
              "AUD",
              "JPY",
              "INR",
              "BRL",
              "MXN",
              "AED",
              "SGD"
            ],
            "type": "string",
            "description": "Normalize all prices to this currency in the row. Conversion uses the most recent rate at scrape time.",
            "default": "original"
          },
          "extractImages": {
            "title": "Extract image URLs",
            "type": "boolean",
            "description": "Pull primary plus gallery image URLs at original resolution.",
            "default": true
          },
          "maxImagesPerProduct": {
            "title": "Max images per product",
            "minimum": 0,
            "maximum": 60,
            "type": "integer",
            "description": "Cap on image URLs returned. Set 0 for all.",
            "default": 12
          },
          "extractVariants": {
            "title": "Extract variant matrix",
            "type": "boolean",
            "description": "When the product ships in sizes, colors, or styles, return every variant with its own price, stock, and SKU.",
            "default": true
          },
          "extractRatingHistogram": {
            "title": "Extract rating histogram",
            "type": "boolean",
            "description": "Pull the percentage split across 5, 4, 3, 2, 1 star reviews when the marketplace exposes it.",
            "default": false
          },
          "extractQuestionsCount": {
            "title": "Extract questions count",
            "type": "boolean",
            "description": "Pull the answered questions count when present (Amazon, Walmart, Best Buy).",
            "default": false
          },
          "extractShippingInfo": {
            "title": "Extract shipping info",
            "type": "boolean",
            "description": "Free shipping flag, delivery estimate text, in store pickup options where applicable.",
            "default": true
          },
          "dedupe": {
            "title": "Deduplicate across runs",
            "type": "boolean",
            "description": "Skip product IDs already pushed in previous runs. Turn off to refresh stale rows.",
            "default": true
          },
          "concurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Number of pages processed in parallel. Three to five is safe across retailers.",
            "default": 4
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify proxy. Residential is required for Amazon, Walmart, Target, AliExpress. Datacenter is fine for Shopify and most other retailers.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}