{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Reviews Scraper",
    "description": "Extract paginated public Amazon product reviews by ASIN or URL, with rating filters, review media and marketplace support. Direct HTTP is tried first and an optional residential retry is strictly bounded. Only complete review rows are billed.",
    "version": "0.1",
    "x-build-id": "HGHdCjUw34FxFl1g8"
  },
  "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.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "marketplace": {
            "title": "Amazon marketplace",
            "enum": [
              "com",
              "co.uk",
              "de",
              "fr",
              "it",
              "es",
              "ca"
            ],
            "type": "string",
            "description": "Amazon marketplace for plain ASIN inputs. amazon.com and amazon.ca answer reliably. The European marketplaces (co.uk, de, fr, it, es) refuse this Actor's addresses and return a block instead of reviews - see the README before planning a run against them.",
            "default": "com"
          },
          "maxProducts": {
            "title": "Maximum products",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Hard limit on unique products per run. Keeping this small makes review costs predictable.",
            "default": 3
          },
          "maxReviewsPerProduct": {
            "title": "Reviews per product",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Upper bound on reviews kept per product. Amazon shows roughly 8 reviews per product to signed-out visitors, so values above that simply keep whatever it served.",
            "default": 20
          },
          "maxPagesPerProduct": {
            "title": "Review pages per product (no longer applies)",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "No longer has any effect. Amazon closed the paginated review pages to signed-out visitors, and the product page serves a single block with no next page.",
            "default": 2
          },
          "sortBy": {
            "title": "Review order (no longer applies)",
            "enum": [
              "recent",
              "helpful"
            ],
            "type": "string",
            "description": "No longer has any effect. Sorting belonged to the review pages Amazon closed; sort the dataset afterwards instead.",
            "default": "recent"
          },
          "starFilter": {
            "title": "Star rating filter (no longer applies)",
            "enum": [
              "all_stars",
              "one_star",
              "two_star",
              "three_star",
              "four_star",
              "five_star"
            ],
            "type": "string",
            "description": "No longer has any effect. Filtering belonged to the review pages Amazon closed; filter the dataset afterwards instead.",
            "default": "all_stars"
          },
          "deadlineSecs": {
            "title": "Run deadline (seconds)",
            "minimum": 10,
            "maximum": 150,
            "type": "integer",
            "description": "Actor-side wall-clock deadline, independent of the Apify timeout. An uncharged diagnostic is returned when it is reached.",
            "default": 90
          },
          "enableProxyFallback": {
            "title": "Enable one proxy retry",
            "type": "boolean",
            "description": "When a direct request is blocked, rate-limited, fails, or receives Amazon's soft 404 response, make at most one proxied retry for the entire run. The retry uses rotating datacenter addresses, or your own proxy servers when you supply them below.",
            "default": false
          },
          "enableResidentialFallback": {
            "title": "Enable one proxy retry (deprecated name)",
            "type": "boolean",
            "description": "Deprecated alias of \"Enable one proxy retry\", kept so existing saved inputs keep working. This actor does not offer metered residential proxy groups; the retry always uses rotating datacenter addresses or your own proxy servers.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Used only for the single optional retry. Your own proxy servers (proxyUrls) are used exactly as given. Apify proxy requests are served from rotating datacenter addresses: metered groups such as RESIDENTIAL and GOOGLE_SERP are not offered and are replaced with datacenter, with a notice in the dataset.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}