{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Reviews Scraper — No Login, Histogram + AI Summary",
    "description": "Extract Amazon product reviews with no login or cookie: rating, text, date, verified badge, helpful votes and images, from 18 marketplaces. Each product also gets the 5-1 star histogram and Amazon's 'Customers say' AI summary with aspect sentiment. Pay per review. JSON/CSV",
    "version": "0.0",
    "x-build-id": "1sOzb76d8cz9NYUyQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~amazon-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-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/memo23~amazon-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-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/memo23~amazon-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-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",
        "required": [
          "products"
        ],
        "properties": {
          "products": {
            "title": "⭐ ASINs or product URLs",
            "type": "array",
            "description": "Amazon ASINs (e.g. \"B07PXGQC1Q\") or full product URLs (/dp/…, /gp/product/…), mixed freely. A URL pins its marketplace; bare ASINs use the Marketplaces field below.",
            "items": {
              "type": "string"
            }
          },
          "marketplaces": {
            "title": "🌍 Marketplaces",
            "type": "array",
            "description": "Marketplaces to read. Bare ASINs are fetched on each one; a product URL is always read on its own marketplace first. amazon.com now shows reviews only to signed-in visitors, so on .com you get the product summary (rating, star histogram, 'Customers say') and the reviews come from the other marketplaces. co.uk, ca, de and fr show about 5-9 reviews per product, and EU sites often repeat the same reviews.",
            "items": {
              "type": "string",
              "enum": [
                "com",
                "co.uk",
                "de",
                "fr",
                "it",
                "es",
                "ca",
                "com.au",
                "co.jp",
                "in",
                "nl",
                "se",
                "pl",
                "com.be",
                "ae",
                "com.mx",
                "com.tr",
                "sg"
              ],
              "enumTitles": [
                "amazon.com (US)",
                "amazon.co.uk (UK)",
                "amazon.de (Germany)",
                "amazon.fr (France)",
                "amazon.it (Italy)",
                "amazon.es (Spain)",
                "amazon.ca (Canada)",
                "amazon.com.au (Australia)",
                "amazon.co.jp (Japan)",
                "amazon.in (India)",
                "amazon.nl (Netherlands)",
                "amazon.se (Sweden)",
                "amazon.pl (Poland)",
                "amazon.com.be (Belgium)",
                "amazon.ae (UAE)",
                "amazon.com.mx (Mexico)",
                "amazon.com.tr (Turkey)",
                "amazon.sg (Singapore)"
              ]
            },
            "default": [
              "com"
            ]
          },
          "aggregateMarketplaces": {
            "title": "Aggregate reviews across marketplaces",
            "type": "boolean",
            "description": "Read every product on ALL selected marketplaces and merge the reviews, without duplicates. Turn off to read each product on one marketplace only.",
            "default": true
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 1,
            "type": "integer",
            "description": "Ceiling of review rows per product (after duplicates and filters are removed). Amazon shows about 5-9 reviews per product on each marketplace that still shows them to visitors, so most products return fewer than 20.",
            "default": 100
          },
          "maxItems": {
            "title": "Max reviews (whole run)",
            "minimum": 1,
            "type": "integer",
            "description": "Hard ceiling of review rows across the whole run. Also capped by your plan and charge limit."
          },
          "filterByStars": {
            "title": "⭐ Filter by star rating",
            "type": "array",
            "description": "Keep only reviews with the selected star ratings — pick 1★ + 2★ for critical, 5★ for glowing. Leave empty for all ratings. Applied honestly: rows that don't match are never returned or charged.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "★☆☆☆☆  1 star (critical)",
                "★★☆☆☆  2 stars",
                "★★★☆☆  3 stars",
                "★★★★☆  4 stars",
                "★★★★★  5 stars (glowing)"
              ]
            },
            "default": []
          },
          "verifiedOnly": {
            "title": "✅ Verified Purchase only",
            "type": "boolean",
            "description": "Keep only reviews with the Verified Purchase badge.",
            "default": false
          },
          "filterByKeyword": {
            "title": "🔍 Keyword filter",
            "type": "string",
            "description": "Keep only reviews whose title or text contains this text (case-insensitive)."
          },
          "dateFrom": {
            "title": "📅 Date from",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Keep only reviews dated on/after this date. Reviews whose localized date can't be parsed are kept and carry the raw date string."
          },
          "dateTo": {
            "title": "📅 Date to",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Keep only reviews dated on/before this date."
          },
          "sort": {
            "title": "🔀 Sort output by",
            "enum": [
              "recent",
              "helpful"
            ],
            "type": "string",
            "description": "Order of the review rows: most recent first, or most helpful votes first.",
            "default": "recent"
          },
          "includeVariantReviews": {
            "title": "Include variant reviews",
            "type": "boolean",
            "description": "Amazon mixes reviews from all variants (colors, sizes) of a product family. Keep on for maximum depth; turn OFF to drop reviews attributed to a different variant ASIN than the one you asked for (each row carries `reviewedAsin` and `variantAttributes` either way).",
            "default": true
          },
          "includeProductSummary": {
            "title": "📊 Product summary row",
            "type": "boolean",
            "description": "Emit one extra row per product with the average rating, total ratings count, 5→1 star histogram percentages, and Amazon's AI-generated 'Customers say' summary with per-aspect sentiment (data no other scraper structures). Charged as its own cheap event.",
            "default": true
          },
          "fallbackMarketplaces": {
            "title": "Read reviews on other marketplaces when needed",
            "type": "boolean",
            "description": "amazon.com shows reviews only to signed-in visitors. When none of your marketplaces show reviews for a product, read the same ASIN on co.uk and ca, then de and fr. Each review row says which marketplace it came from. Turn off to stay on your marketplaces only.",
            "default": true
          },
          "concurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many pages to fetch in parallel. Automatically clamped to what the run's memory can safely hold (Amazon product pages are large, ~1.5–3MB each) — raise the run's memory to go faster. Default 8.",
            "default": 8
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}