{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon ASINs Scraper",
    "description": "Scrape Amazon product details by ASIN code or direct product URL across supported Amazon marketplaces. Extracts title, price, ratings, review count, availability, images, and optionally customer reviews. Ideal for product research, price tracking, and competitive marketplace analysis.",
    "version": "1.1",
    "x-build-id": "iYg7429l9ZC0vVU2R"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/w3crawler~amazon-asins-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-w3crawler-amazon-asins-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/w3crawler~amazon-asins-scraper/runs": {
      "post": {
        "operationId": "runs-sync-w3crawler-amazon-asins-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/w3crawler~amazon-asins-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-w3crawler-amazon-asins-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": {
          "mode": {
            "title": "Input mode",
            "enum": [
              "asin",
              "productUrl"
            ],
            "type": "string",
            "description": "Choose whether the input list contains ASINs or full public Amazon product URLs.",
            "default": "asin"
          },
          "asins": {
            "title": "ASINs",
            "maxItems": 1000,
            "type": "array",
            "description": "Amazon Standard Identification Numbers to process when mode is asin.",
            "items": {
              "type": "string",
              "minLength": 10,
              "maxLength": 10,
              "pattern": "^[A-Za-z0-9]{10}$"
            }
          },
          "productUrls": {
            "title": "Product URLs",
            "maxItems": 1000,
            "type": "array",
            "description": "Public Amazon product URLs to process when mode is productUrl.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1000
            }
          },
          "country": {
            "title": "Amazon marketplace",
            "enum": [
              "in",
              "com",
              "co.uk",
              "de",
              "co.jp",
              "ca",
              "com.au",
              "com.br"
            ],
            "type": "string",
            "description": "Marketplace used for ASIN URLs and locale defaults.",
            "default": "in"
          },
          "locale": {
            "title": "Page locale",
            "maxLength": 20,
            "type": "string",
            "description": "Accept-Language value sent to public Amazon pages.",
            "default": "en-IN"
          },
          "maxItems": {
            "title": "Maximum products",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum deduplicated input targets and dataset rows emitted.",
            "default": 50
          },
          "maxResults": {
            "title": "Maximum products alias",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Compatibility alias for maxItems."
          },
          "dedupe": {
            "title": "Deduplicate inputs",
            "type": "boolean",
            "description": "Skip duplicate marketplace/ASIN pairs before requests.",
            "default": true
          },
          "includeMedia": {
            "title": "Include product media",
            "type": "boolean",
            "description": "Include public product images when exposed by JSON-LD or the product image gallery.",
            "default": true
          },
          "extractReviews": {
            "title": "Extract public reviews",
            "type": "boolean",
            "description": "Include bounded review summaries found in public Product JSON-LD.",
            "default": false
          },
          "maxReviews": {
            "title": "Maximum reviews per product",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum reviews retained when extractReviews is enabled.",
            "default": 10
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 15,
            "maximum": 300,
            "type": "integer",
            "description": "Maximum duration for each public Amazon request.",
            "default": 120
          },
          "timeoutSecs": {
            "title": "Request timeout alias",
            "minimum": 15,
            "maximum": 300,
            "type": "integer",
            "description": "Compatibility alias for requestTimeoutSecs."
          },
          "requestTimeoutMs": {
            "title": "Request timeout alias (ms)",
            "minimum": 15000,
            "maximum": 300000,
            "type": "integer",
            "description": "Compatibility alias converted to seconds."
          },
          "timeoutMs": {
            "title": "Request timeout legacy alias (ms)",
            "minimum": 15000,
            "maximum": 300000,
            "type": "integer",
            "description": "Compatibility alias converted to seconds."
          },
          "requestDelayMs": {
            "title": "Request delay (ms)",
            "minimum": 0,
            "maximum": 15000,
            "type": "integer",
            "description": "Delay before each live public request.",
            "default": 500
          },
          "minDelayMs": {
            "title": "Request delay alias",
            "minimum": 0,
            "maximum": 15000,
            "type": "integer",
            "description": "Compatibility alias for requestDelayMs."
          },
          "pageDelayMs": {
            "title": "Request delay alias",
            "minimum": 0,
            "maximum": 15000,
            "type": "integer",
            "description": "Compatibility alias for requestDelayMs."
          },
          "maxConcurrency": {
            "title": "Maximum concurrency",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Maximum simultaneous target requests.",
            "default": 3
          },
          "concurrency": {
            "title": "Concurrency alias",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Compatibility alias for maxConcurrency."
          },
          "maxRequestRetries": {
            "title": "Maximum request retries",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Retries for timeouts, transient HTTP failures, and rate limits. Access challenges are not bypassed.",
            "default": 2
          },
          "maxRetries": {
            "title": "Retries alias",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Compatibility alias for maxRequestRetries."
          },
          "maxResponseBytes": {
            "title": "Maximum response bytes",
            "minimum": 100000,
            "maximum": 50000000,
            "type": "integer",
            "description": "Reject unusually large public responses before parsing.",
            "default": 15000000
          },
          "maxBytes": {
            "title": "Maximum response bytes alias",
            "minimum": 100000,
            "maximum": 50000000,
            "type": "integer",
            "description": "Compatibility alias for maxResponseBytes."
          },
          "userAgent": {
            "title": "User agent",
            "maxLength": 300,
            "type": "string",
            "description": "Optional transparent identifying user-agent string."
          },
          "fixtureFile": {
            "title": "Bundled QA fixture",
            "maxLength": 240,
            "type": "string",
            "description": "Optional relative path to an HTML fixture bundled with the Actor. When set, the fixture page is parsed instead of requesting a live public Amazon page. Used for deterministic QA runs of the Actor's own fixtures."
          },
          "fixtureFiles": {
            "title": "Bundled QA fixtures",
            "maxItems": 50,
            "type": "array",
            "description": "Optional relative paths to HTML fixtures bundled with the Actor, used in request order when no live public page is requested.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 240
            }
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional ordinary Apify Proxy or public HTTP(S) routing. No stealth, CAPTCHA solving, or access-control bypass is attempted.",
            "properties": {
              "useApifyProxy": {
                "title": "Use Apify Proxy",
                "type": "boolean",
                "description": "Route public requests through Apify Proxy."
              },
              "apifyProxyGroups": {
                "title": "Apify Proxy groups",
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Optional Apify Proxy groups."
              },
              "apifyProxyCountry": {
                "title": "Apify Proxy country",
                "type": "string",
                "description": "Optional two- or three-letter country code."
              },
              "proxyUrls": {
                "title": "Public proxy URLs",
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Optional public HTTP(S) proxy URLs used round-robin."
              }
            },
            "additionalProperties": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}