{
  "openapi": "3.0.1",
  "info": {
    "title": "Ecommerce Scraper API - Amazon, Walmart, Google Shopping",
    "description": "Scrape structured ecommerce data with your own scraping API key: Amazon search results, product pages by ASIN, offer listings and best sellers, Walmart and Target search and product pages, Best Buy and Etsy product pages, and Google Shopping search and product prices. Parsed JSON, pay per result.",
    "version": "0.1",
    "x-build-id": "TFf4ORtahT9ymdiuE"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~ecommerce-product-scraper-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-ecommerce-product-scraper-api",
        "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/nabeelbaghoor~ecommerce-product-scraper-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-ecommerce-product-scraper-api",
        "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/nabeelbaghoor~ecommerce-product-scraper-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-ecommerce-product-scraper-api",
        "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": {
          "source": {
            "title": "What to read",
            "enum": [
              "amazonSearch",
              "amazonProduct",
              "amazonPricing",
              "amazonBestsellers",
              "walmartSearch",
              "walmartProduct",
              "targetSearch",
              "targetProduct",
              "bestbuyProduct",
              "etsyProduct",
              "googleShoppingSearch",
              "googleShoppingProduct"
            ],
            "type": "string",
            "description": "One source per run. Search, best seller and offer sources return one row per item on the page. Product sources return one row per product. Every source asks the provider for its dedicated parser, so rows are structured data rather than HTML.",
            "default": "amazonSearch"
          },
          "queries": {
            "title": "Keywords or identifiers",
            "type": "array",
            "description": "One per line. A search keyword for the search sources, a 10-character ASIN for the Amazon product and offer sources, a browse node (category) ID for Amazon best sellers, a retailer product ID for Walmart, Target, Best Buy and Etsy, or a product token (the `token` field of a Google Shopping search row) for the Google Shopping product source.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Maximum rows",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Stop after this many rows across the whole run. Each search page is one billed job at the provider, so this also caps what the run spends there.",
            "default": 50
          },
          "startPage": {
            "title": "Start page",
            "minimum": 1,
            "type": "integer",
            "description": "First results page to read. Used by Amazon search, offer listing and best sellers, Walmart search and Google Shopping search.",
            "default": 1
          },
          "pages": {
            "title": "Pages per keyword",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many results pages to read for each line, starting at the start page. Each page is a separate billed job at the provider.",
            "default": 1
          },
          "domain": {
            "title": "Marketplace domain",
            "type": "string",
            "description": "Top-level domain of the marketplace, without the dot. Amazon: com, ca, co.uk, de, fr, it, es, nl, pl, se, ie, com.be, com.tr, ae, sa, eg, in, co.jp, cn, sg, com.au, com.br or com.mx. Walmart: com, com.mx, ca or co.cr. Best Buy: com or ca. Leave blank for the provider default (com)."
          },
          "geoLocation": {
            "title": "Deliver to / geo location",
            "type": "string",
            "description": "Where results should be localised for. Amazon: a ZIP or postal code inside the marketplace country (for example 90210 on com, W105LT on co.uk) or a 2-letter country code for delivery abroad. Etsy: a ZIP code or 2-letter country code. Google Shopping: a location such as \"New York,New York,United States\". Used by Amazon, Etsy and Google Shopping sources."
          },
          "locale": {
            "title": "Interface language (locale)",
            "type": "string",
            "description": "Accept-Language value for the page. Amazon uses forms like en_US, de_DE or fr_CA and only on marketplaces that support that language. Google Shopping uses forms like en-us. Leave blank for the marketplace default."
          },
          "currency": {
            "title": "Currency (Amazon)",
            "type": "string",
            "description": "Currency code for Amazon prices, such as USD, EUR or AUD. Leave blank for the marketplace default."
          },
          "amazonSortBy": {
            "title": "Sort (Amazon search)",
            "enum": [
              "featured",
              "price_low_to_high",
              "price_high_to_low",
              "average_review",
              "most_recent",
              "bestsellers"
            ],
            "type": "string",
            "description": "Sort order for Amazon search results."
          },
          "walmartSortBy": {
            "title": "Sort (Walmart search)",
            "enum": [
              "best_match",
              "price_low",
              "price_high",
              "best_seller"
            ],
            "type": "string",
            "description": "Sort order for Walmart search results. The provider default is best match."
          },
          "googleShoppingSortBy": {
            "title": "Sort (Google Shopping search)",
            "enum": [
              "r",
              "rv",
              "p",
              "pd"
            ],
            "type": "string",
            "description": "Sort order for Google Shopping search results."
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "number",
            "description": "Lowest price to include, in whole currency units (for example 25 or 49.99). Used by Amazon, Walmart and Google Shopping search. Amazon takes prices in cents, and the conversion is done for you."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "number",
            "description": "Highest price to include, in whole currency units. Used by Amazon, Walmart and Google Shopping search."
          },
          "amazonCategoryId": {
            "title": "Category node ID (Amazon search)",
            "type": "string",
            "description": "Limit Amazon search to one browse node (product category), for example 9056987011."
          },
          "amazonMerchantId": {
            "title": "Seller ID filter (Amazon search)",
            "type": "string",
            "description": "Limit Amazon search to items sold by one seller, by the seller's merchant ID."
          },
          "amazonRefinements": {
            "title": "Refinements (Amazon search)",
            "type": "array",
            "description": "Amazon's own filter parameters, one per line, in the form Amazon uses such as p_123:256097. Run a search first and copy values from the refinements section of its parsed record.",
            "items": {
              "type": "string"
            }
          },
          "autoselectVariant": {
            "title": "Pick a buyable variant (Amazon product)",
            "type": "boolean",
            "description": "For accurate price and buy box data on a parent ASIN, ask Amazon for the page of an automatically selected variation. Leave off to read the parent product page as it is.",
            "default": false
          },
          "fulfillmentType": {
            "title": "Fulfillment type",
            "enum": [
              "pickup",
              "delivery",
              "shipping",
              "shop_in_store",
              "same_day_delivery"
            ],
            "type": "string",
            "description": "Walmart, Target and Best Buy only. Walmart takes pickup, delivery or shipping. Target search takes pickup, shipping, shop_in_store or same_day_delivery; Target product takes pickup, delivery or shipping. Best Buy takes pickup (with a store ID) or shipping (with a delivery ZIP). A value the chosen source does not take is left off."
          },
          "walmartFulfillmentSpeed": {
            "title": "Fulfillment speed (Walmart search)",
            "enum": [
              "today",
              "tomorrow",
              "2_days",
              "anytime"
            ],
            "type": "string",
            "description": "Only show Walmart items available within this time."
          },
          "deliveryZip": {
            "title": "Delivery ZIP",
            "type": "string",
            "description": "Shipping-to postal code for Walmart, Target and Best Buy."
          },
          "storeId": {
            "title": "Store ID",
            "type": "string",
            "description": "A store location for Walmart, Target, Best Buy or Etsy. Target, Best Buy and Etsy take a numeric ID."
          },
          "disableAutocorrect": {
            "title": "Turn off spelling correction (Google Shopping)",
            "type": "boolean",
            "description": "Search for the keyword exactly as written instead of Google's corrected spelling.",
            "default": false
          },
          "renderJavaScript": {
            "title": "Render JavaScript",
            "type": "boolean",
            "description": "Ask the provider to render the page in a browser before parsing. Target and Google Shopping search are always rendered, as the provider requires. For Google Shopping product pages this adds prices from the More stores section. Rendered jobs may cost more at the provider.",
            "default": false
          },
          "apiUsername": {
            "title": "API username",
            "type": "string",
            "description": "Your own Web Scraper API username from your provider dashboard. This actor is bring-your-own-key and never ships credentials of its own. Leave blank to use the DATA_API_USERNAME environment secret."
          },
          "apiKey": {
            "title": "API password",
            "type": "string",
            "description": "Your own Web Scraper API password. You may also paste username:password here and leave the username blank. Leave blank to use the DATA_API_KEY environment secret."
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 600,
            "type": "integer",
            "description": "Pacing ceiling for jobs sent to the provider. Realtime jobs are slow, so this rarely binds; lower it if your plan's rate limit is being hit.",
            "default": 30
          },
          "baseUrl": {
            "title": "API base URL",
            "type": "string",
            "description": "Override the host the actor calls. Only useful for testing against a different environment."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}