{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Reviews Scraper - Ratings, Text & Verified Badge",
    "description": "Amazon reviews scraper for reviews by ASIN or product URL. Each row has the rating, title, full text, author, date, country, verified-purchase badge, helpful votes and review photos. Amazon shows signed-out visitors about 8 reviews per product, so that is what comes back. $2.00 per 1,000 reviews.",
    "version": "0.1",
    "x-build-id": "qz4Fr2UPikCchuKEU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dami_studio~amazon-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dami_studio-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/dami_studio~amazon-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dami_studio-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/dami_studio~amazon-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dami_studio-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": {
          "products": {
            "title": "Product URLs or ASINs",
            "type": "array",
            "description": "Amazon product URLs or 10-character ASINs. This review-only actor does not scrape product catalog or search results. From the API you can also send objects such as {\"url\": \"https://www.amazon.ca/dp/B0CHWRXH8B\"} or {\"asin\": \"B0CHWRXH8B\"}.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "marketplace": {
            "title": "Amazon marketplace",
            "enum": [
              "com",
              "co.uk",
              "de",
              "fr",
              "it",
              "es",
              "ca",
              "com.au",
              "co.jp",
              "com.mx",
              "com.br",
              "nl",
              "sg"
            ],
            "type": "string",
            "description": "Amazon store for plain ASINs; a full product link carries its own store. Since late October 2026 amazon.com shows its reviews only to signed-in shoppers, so they can't be read here: pick the store you want the reviews from, such as ca or co.uk. amazon.it showed none in our checks. On any store, a product Amazon does not serve on a run gets a free NOT_SERVED row instead, so read the README before planning a big run.",
            "default": "com"
          },
          "maxProducts": {
            "title": "Maximum products",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Hard limit on unique products per run, up to 100. Keeping this small makes review costs predictable. Above 10, raise the run deadline below too: allow about 15 seconds a product.",
            "default": 3
          },
          "maxReviewsPerProduct": {
            "title": "Reviews per product",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Upper bound on reviews kept per product. Amazon shows roughly 13 reviews per product to signed-out visitors, so values above that simply keep whatever it served.",
            "default": 20
          },
          "deadlineSecs": {
            "title": "Run deadline (seconds)",
            "minimum": 10,
            "maximum": 1800,
            "type": "integer",
            "description": "Actor-side wall-clock deadline, independent of the Apify timeout, up to 1,800 seconds. An uncharged diagnostic is returned when it is reached.",
            "default": 90
          },
          "verifiedOnly": {
            "title": "Verified purchases only",
            "type": "boolean",
            "description": "Keep only reviews with Amazon's Verified Purchase badge. Reviews it leaves out are not charged.",
            "default": false
          },
          "withMediaOnly": {
            "title": "Reviews with photos or a video only",
            "type": "boolean",
            "description": "Keep only reviews that carry at least one buyer photo or a video. An optional add-on. For now a run that uses it reads up to 10 products.",
            "default": false
          },
          "ratingFilter": {
            "title": "Star rating",
            "enum": [
              "all",
              "5",
              "4",
              "3",
              "2",
              "1",
              "positive",
              "critical"
            ],
            "type": "string",
            "description": "Keep only reviews with this rating. An optional add-on. For now a run that uses it reads up to 10 products.",
            "default": "all"
          },
          "reviewKeywords": {
            "title": "Words the review must contain",
            "type": "array",
            "description": "Keep only reviews whose title or text contains at least one of these words or phrases, in any letter case. An optional add-on. For now a run that uses it reads up to 10 products.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeAmazonSummary": {
            "title": "Add Amazon's review summary",
            "type": "boolean",
            "description": "Adds Amazon's own \"Customers say\" summary of the product and the topics it lists (sound quality, fit and so on) with how many customers mention each, positive and negative. Amazon writes this text from all of the product's reviews; it is copied as printed.",
            "default": false
          },
          "includeProductDetails": {
            "title": "Add product price, photos and bullet points",
            "type": "boolean",
            "description": "Adds the price in the buy box, the product photos and the feature bullet points to every review row. The price is null when the buy box shows none.",
            "default": false
          },
          "includeReviewerPicture": {
            "title": "Add the reviewer's picture link",
            "type": "boolean",
            "description": "Adds a link to the reviewer's profile picture when they have set one, and null when they have not.",
            "default": false
          },
          "hideReviewerDetails": {
            "title": "Leave out reviewer details",
            "type": "boolean",
            "description": "Leaves the reviewer's name, profile link, id and picture out of every row. Use it when you need the reviews but not who wrote them.",
            "default": false
          },
          "enableProxyFallback": {
            "title": "Retry switch (no longer needed)",
            "type": "boolean",
            "description": "Kept so saved inputs keep working. Every run now asks again for a page that fails or comes back without its reviews, so this switch changes nothing. A product that still comes back without reviews is reported as NOT_SERVED rather than as having none.",
            "default": false
          },
          "enableResidentialFallback": {
            "title": "Retry switch, old name (no longer needed)",
            "type": "boolean",
            "description": "Old name of the switch above, kept so saved inputs keep working. It changes nothing now.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Used when a page is asked for again. Proxy servers of your own, if you enter any, are used exactly as given."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}