{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Reviews Scraper — Ratings Histogram & Customers Say",
    "description": "Get reviews for any Amazon product by ASIN or URL — rating, title, body, verified purchase, date, helpful votes, images, plus the star-rating histogram and the AI 'Customers say' aspect sentiment. Public pages only: no login, no cookies. 12 marketplaces. Export JSON/CSV.",
    "version": "0.1",
    "x-build-id": "CYgtd4Va0pMbZN5vN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapersdelight~amazon-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapersdelight-amazon-reviews-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/scrapersdelight~amazon-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapersdelight-amazon-reviews-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/scrapersdelight~amazon-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapersdelight-amazon-reviews-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": {
          "productUrls": {
            "title": "Products (ASINs or URLs)",
            "type": "array",
            "description": "One Amazon product per line — a bare ASIN (\"B09B8V1LZ3\") or any product URL (/dp/…, /gp/product/…, amzn.to short links are not resolved). A URL on amazon.co.uk, amazon.de etc. is scraped on that marketplace; bare ASINs use the Marketplaces list below. Leave empty to run the documented sample (3 products).",
            "default": [
              "B09B8V1LZ3",
              "B0BDHWDR12",
              "B00FLYWNYQ"
            ],
            "items": {
              "type": "string"
            }
          },
          "marketplaces": {
            "title": "Marketplaces",
            "type": "array",
            "description": "Which Amazon sites to read each bare ASIN from. Every ASIN is crossed with every marketplace, and each marketplace shows its own set of top reviews for the same product — the cheapest way to get more reviews per ASIN without a login. Supported: amazon.com, amazon.co.uk, amazon.de, amazon.ca, amazon.fr, amazon.it, amazon.es, amazon.com.au, amazon.in, amazon.co.jp, amazon.com.mx, amazon.com.br.",
            "default": [
              "amazon.com"
            ],
            "items": {
              "type": "string"
            }
          },
          "includeInternationalReviews": {
            "title": "Include \"Top reviews from other countries\"",
            "type": "boolean",
            "description": "Amazon's product page shows the marketplace's own top reviews plus a second block of top reviews from other countries. ON keeps both (rows are flagged with isInternational + reviewCountry). OFF keeps only the marketplace's own reviews.",
            "default": true
          },
          "filterByRatings": {
            "title": "Keep only these star ratings",
            "type": "array",
            "description": "Leave empty to keep every review. Pick e.g. 1 and 2 to keep only critical reviews, or 5 for praise only. Filtered-out reviews are never billed.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 star",
                "2 stars",
                "3 stars",
                "4 stars",
                "5 stars"
              ]
            },
            "default": []
          },
          "verifiedOnly": {
            "title": "Verified-purchase reviews only",
            "type": "boolean",
            "description": "Drop reviews without Amazon's \"Verified Purchase\" badge. Filtered-out reviews are never billed.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product × marketplace",
            "minimum": 0,
            "type": "integer",
            "description": "Cap per product page. 0 = everything the public page shows (typically 8–10 local reviews plus a few from other countries). The page is the ceiling: Amazon's full review list is behind a login, and this Actor never logs in.",
            "default": 0
          },
          "maxItems": {
            "title": "Max reviews in total (cost cap)",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many unique reviews across the whole run. 100 reviews = $0.30. Set 0 for no cap.",
            "default": 100
          },
          "requestConcurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 6,
            "type": "integer",
            "description": "Product pages fetched in parallel (1–6). Each page is one request on a fresh proxy session.",
            "default": 4
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify RESIDENTIAL proxy is the default and is what was measured. The proxy country is matched to each marketplace automatically (US for amazon.com, GB for amazon.co.uk, DE for amazon.de …) unless you pin one here. Datacenter exits hit Amazon's CAPTCHA interstitial far more often — they are retried on fresh sessions but expect fewer rows.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}