{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Reviews Scraper (US): Export & Monitor Reviews",
    "description": "Scrape Amazon.com reviews with no login. Filter by star rating, date and verified purchase, get up to about 1,000 reviews per product including photo and video reviews, and export CSV, JSON or Excel. Schedule it to get only new reviews.",
    "version": "0.2",
    "x-build-id": "nqajCuOQbcn6QQo3g"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/stanvanrooy6~amazon-review-scraper-us/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-stanvanrooy6-amazon-review-scraper-us",
        "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/stanvanrooy6~amazon-review-scraper-us/runs": {
      "post": {
        "operationId": "runs-sync-stanvanrooy6-amazon-review-scraper-us",
        "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/stanvanrooy6~amazon-review-scraper-us/run-sync": {
      "post": {
        "operationId": "run-sync-stanvanrooy6-amazon-review-scraper-us",
        "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": "Amazon.com products",
            "type": "array",
            "description": "Amazon.com product URLs or 10 character ASINs, 1 to 50 per run. Other Amazon marketplaces are not supported.",
            "items": {
              "type": "string"
            }
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 1,
            "maximum": 3000,
            "type": "integer",
            "description": "Most new reviews to collect for each product (up to 3,000). You only pay for reviews delivered. Small products may have fewer.",
            "default": 100
          },
          "mode": {
            "title": "Which reviews",
            "enum": [
              "recent",
              "expanded"
            ],
            "type": "string",
            "description": "Newest reviews: up to 100 of the latest reviews, or up to 100 per star if you pick star ratings. Maximum coverage: the newest and most helpful reviews for every star plus the photo and video reviews from the product page, duplicates removed, often 500 to 1,000 per product.",
            "default": "recent"
          },
          "includePhotoVideoReviews": {
            "title": "Add photo and video reviews",
            "type": "boolean",
            "description": "Maximum coverage mode only. Also reads the reviews with customer photos and videos from the Amazon product page, which adds hundreds of reviews on many products. When Amazon does not show them for a product, you still get its regular reviews.",
            "default": true
          },
          "ratings": {
            "title": "Star ratings",
            "type": "array",
            "description": "Only keep these star ratings, for example [1, 2] for negative reviews. Leave empty for all stars.",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5
            },
            "default": []
          },
          "verifiedOnly": {
            "title": "Verified purchases only",
            "type": "boolean",
            "description": "Only keep reviews with Amazon's Verified Purchase badge.",
            "default": false
          },
          "dateFrom": {
            "title": "Reviews from date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Only keep reviews on or after this date (YYYY-MM-DD)."
          },
          "dateTo": {
            "title": "Reviews to date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Only keep reviews on or before this date (YYYY-MM-DD)."
          },
          "collectionId": {
            "title": "Monitoring collection ID",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,49}$",
            "type": "string",
            "description": "Name for a watch list, for example my-products. Every run with the same name skips reviews it already delivered, so scheduled runs return only new reviews. Leave empty for a one off scrape."
          },
          "knownReviewIds": {
            "title": "Review IDs to skip",
            "type": "array",
            "description": "review_id values from earlier results to leave out of this run (up to 10,000).",
            "items": {
              "type": "string"
            }
          },
          "includeAuthor": {
            "title": "Include reviewer names",
            "type": "boolean",
            "description": "Add the reviewer's public name to each review. Off by default.",
            "default": false
          },
          "failOnPartial": {
            "title": "Fail the run if a product is incomplete",
            "type": "boolean",
            "description": "When a product cannot be read correctly (for example the source changed its format), mark the run as failed. Collected reviews are always kept. Products that stopped early because the source slowed down are reported as incomplete and do not fail the run.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "How many pages to load at the same time. The default works for most runs.",
            "default": 4
          },
          "maxPagesPerPartition": {
            "title": "Pages per list",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Each star and sort list has up to 10 pages of 10 reviews. Lower this to read fewer pages.",
            "default": 10
          },
          "productTimeoutSeconds": {
            "title": "Time limit per product (seconds)",
            "minimum": 15,
            "maximum": 1800,
            "type": "integer",
            "description": "Stop collecting a product after it has been running this long. Reviews already collected are kept.",
            "default": 900
          },
          "maxRuntimeSeconds": {
            "title": "Time limit per run (seconds)",
            "minimum": 30,
            "maximum": 7200,
            "type": "integer",
            "description": "Stop collecting after this long. Reviews already collected are kept. Keep the run timeout in Run options longer than this.",
            "default": 3600
          },
          "proxyMode": {
            "title": "Connection",
            "enum": [
              "auto",
              "direct",
              "residential"
            ],
            "type": "string",
            "description": "Auto connects directly and switches to an Apify US residential proxy if a request fails. Direct never uses a proxy. Residential always uses one and needs residential proxy access.",
            "default": "auto"
          },
          "keywords": {
            "title": "Include keywords",
            "type": "array",
            "description": "Keep retrieved content containing these literal words or phrases, case-insensitive. This filters retrieved content; it does not extend source coverage.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Exclude content containing any of these literal words or phrases, case-insensitive.",
            "items": {
              "type": "string"
            }
          },
          "keywordMatch": {
            "title": "Keyword matching",
            "enum": [
              "any",
              "all"
            ],
            "type": "string",
            "description": "Require any or all inclusion keywords. Exclusions always take precedence.",
            "default": "any"
          },
          "mediaType": {
            "title": "Review media",
            "enum": [
              "all",
              "any",
              "images",
              "videos",
              "none"
            ],
            "type": "string",
            "description": "Keep all reviews, reviews with any media, images, videos, or no media. Applies to the retrieved sample before charging. Use Maximum coverage with photo and video reviews enabled for broader media coverage.",
            "default": "all"
          },
          "minHelpfulVotes": {
            "title": "Minimum helpful votes",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Keep reviews with at least this many helpful votes. Zero disables this filter. Reviews without a vote count, including product-page media reviews, are excluded when this is positive.",
            "default": 0
          },
          "excludeVine": {
            "title": "Exclude Vine reviews",
            "type": "boolean",
            "description": "Exclude reviews marked as Vine reviews by the source.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}