{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Product Search: prices, ratings, ASINs",
    "description": "Amazon product data at $0.004 per product, 20% below the alternative we tested (free plan), with 41 filled fields per product in that test. Search by keyword, URL or ASIN: price, list price, rating, reviews, Prime, badges, bought-in-past-month, images and specs. No login.",
    "version": "0.1",
    "x-build-id": "eSmZMVHthvvW8YYWc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/transparent_meteorite~amazon-product-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-transparent_meteorite-amazon-product-search",
        "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/transparent_meteorite~amazon-product-search/runs": {
      "post": {
        "operationId": "runs-sync-transparent_meteorite-amazon-product-search",
        "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/transparent_meteorite~amazon-product-search/run-sync": {
      "post": {
        "operationId": "run-sync-transparent_meteorite-amazon-product-search",
        "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": {
          "keywords": {
            "title": "Search keywords",
            "type": "array",
            "description": "One search per line, e.g. \"wireless mouse\". Results come in Amazon's own ranking order.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Amazon URLs (search, category or product)",
            "type": "array",
            "description": "Search pages (/s?k=...), category pages (/b?node=... or /s?rh=n:...) or product pages (/dp/ASIN) on any of the 19 supported Amazon sites. The country is read from each URL, and filters already in a search URL are kept.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "urls": {
            "title": "Amazon URLs (plain list, older field)",
            "type": "array",
            "description": "Same as the URL list above, as plain text lines. Kept so existing tasks and API calls keep working.",
            "items": {
              "type": "string"
            }
          },
          "asins": {
            "title": "ASINs",
            "type": "array",
            "description": "10-character product IDs, e.g. B07CMS5Q6P. Fetched from the marketplace chosen below.",
            "items": {
              "type": "string"
            }
          },
          "countryCode": {
            "title": "Country (Amazon site)",
            "enum": [
              "US",
              "CA",
              "UK",
              "DE",
              "IT",
              "ES",
              "NL",
              "SE",
              "PL",
              "BE",
              "IN",
              "JP",
              "AU",
              "MX",
              "BR",
              "AE",
              "SA",
              "SG",
              "TR"
            ],
            "type": "string",
            "description": "Amazon site for keywords and ASINs. URLs carry their own site. 19 sites tested; amazon.fr is not offered because it blocks every automated request."
          },
          "marketplace": {
            "title": "Marketplace (older field)",
            "enum": [
              "US",
              "CA",
              "UK",
              "DE",
              "IT",
              "ES",
              "NL",
              "SE",
              "PL",
              "BE",
              "IN",
              "JP",
              "AU",
              "MX",
              "BR",
              "AE",
              "SA",
              "SG",
              "TR"
            ],
            "type": "string",
            "description": "Older name for Country, kept for existing tasks. Country wins when both are set."
          },
          "zipCode": {
            "title": "Delivery zip / postcode",
            "type": "string",
            "description": "Optional. Sets the \"Deliver to\" location before scraping, so prices, stock and delivery dates match that area. Examples: 10001 (US), SW1A 1AA (UK), 10115 (DE). If Amazon refuses it the run continues with the default location and says so in the log."
          },
          "maxItems": {
            "title": "Max products",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stop after this many products in total (you pay per product delivered).",
            "default": 20
          },
          "maxItemsPerQuery": {
            "title": "Max products per keyword or URL",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Optional cap per keyword / URL, so one broad search does not use the whole budget. 0 = no cap (only Max products applies)."
          },
          "maxPages": {
            "title": "Search pages per keyword or URL",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many result pages to read per search (about 16-60 products each).",
            "default": 1
          },
          "sort": {
            "title": "Sort results by",
            "enum": [
              "relevance",
              "price-asc",
              "price-desc",
              "avg-rating",
              "newest",
              "best-sellers"
            ],
            "type": "string",
            "description": "Amazon sort order for keyword and category searches."
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "In the site currency, whole units (e.g. 10 = $10 / 10 EUR)."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "In the site currency, whole units."
          },
          "minRating": {
            "title": "Min star rating",
            "enum": [
              "1",
              "2",
              "3",
              "4",
              "4.5"
            ],
            "type": "string",
            "description": "Drop products rated below this (unrated products are dropped too)."
          },
          "primeOnly": {
            "title": "Prime only",
            "type": "boolean",
            "description": "Keep only products with a Prime badge. Logged-out pages show Prime reliably on amazon.com; on other sites few or no rows carry the badge, so this filter can return nothing there.",
            "default": false
          },
          "department": {
            "title": "Department",
            "type": "string",
            "description": "Optional Amazon search alias, e.g. electronics, kitchen, beauty, toys-and-games, computers. Same value as the i= parameter in an Amazon search URL."
          },
          "scrapeProductDetails": {
            "title": "Open each product page (full details)",
            "type": "boolean",
            "description": "On by default: adds breadcrumbs, feature bullets, all images, dimensions, weight, seller, variants, A+ content and availability (about 42 fields instead of 17). One extra request per product, fetched 8 at a time. Turn off for a faster, lighter search-card-only run.",
            "default": true
          },
          "includeDetails": {
            "title": "Open each product page (older field)",
            "type": "boolean",
            "description": "Older name for the switch above, kept for existing tasks. If either is off, product pages are skipped."
          },
          "maxOffers": {
            "title": "Seller offers per product",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Optional. Adds an offers list (price, condition, seller, seller ID, ships from, delivery date) from Amazon's \"Other sellers\" panel. One extra request per product. 0 = off.",
            "default": 0
          },
          "autoProxyFallback": {
            "title": "Switch to residential proxy when blocked",
            "type": "boolean",
            "description": "On by default: if you left the proxy off and Amazon blocks the datacenter IP, the run switches itself to Apify residential proxy in that country instead of returning nothing. Turn off to never use a proxy you did not choose.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Amazon blocks many datacenter IPs. Residential proxy gives the best success rate; each retry uses a fresh session.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}