{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Seller Central Review Scraper & Monitor – Brand Reviews",
    "description": "Export and monitor every customer review from Seller Central's Brand Customer Reviews (Brand Registry) for US, EU (DE/IT/FR/ES/UK), JP and IN — with Order ID, photos and product rating. Schedule it with 'Only new reviews' to get each new review once. Sign in yourself in Live View.",
    "version": "0.6",
    "x-build-id": "9v3Rm30VbjS5eM7W5"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/k-data-lab~amazon-seller-central-review-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-k-data-lab-amazon-seller-central-review-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/k-data-lab~amazon-seller-central-review-scraper/runs": {
      "post": {
        "operationId": "runs-sync-k-data-lab-amazon-seller-central-review-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/k-data-lab~amazon-seller-central-review-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-k-data-lab-amazon-seller-central-review-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": [
          "marketplaces"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "scrape",
              "login"
            ],
            "type": "string",
            "description": "First time? Choose <b>Login</b>, pick your marketplaces, start, then open the run's <b>Live View</b> tab and sign in to Seller Central yourself (email, password, 2-step code). The session is saved privately in your Apify account. After that, run in <b>Scrape</b> mode — no copying cookies.",
            "default": "scrape"
          },
          "marketplaces": {
            "title": "Marketplaces",
            "type": "array",
            "description": "Which Seller Central marketplaces to scrape. DE / IT / FR / ES / UK all use the one <b>Europe</b> session and are scraped one after another (DE → IT → FR → ES → UK).",
            "items": {
              "type": "string",
              "enum": [
                "US",
                "DE",
                "IT",
                "FR",
                "ES",
                "UK",
                "JP",
                "IN"
              ],
              "enumTitles": [
                "🇺🇸 US",
                "🇩🇪 Germany (EU session)",
                "🇮🇹 Italy (EU session)",
                "🇫🇷 France (EU session)",
                "🇪🇸 Spain (EU session)",
                "🇬🇧 United Kingdom (EU session)",
                "🇯🇵 Japan",
                "🇮🇳 India"
              ]
            },
            "default": [
              "US"
            ]
          },
          "loginTimeoutMinutes": {
            "title": "Login mode: minutes to sign in (per region)",
            "minimum": 2,
            "maximum": 30,
            "type": "integer",
            "description": "How long Login mode waits for you to finish signing in to each region before moving on.",
            "default": 10
          },
          "sessionUS": {
            "title": "🇺🇸 US session",
            "type": "string",
            "description": "<b>Optional — not needed if you used Login mode.</b> Fallback: Paste your logged-in Seller Central session for 🇺🇸 US (<code>sellercentral.amazon.com</code>). Easiest: install the free <b>Cookie-Editor</b> browser extension → open <code>https://sellercentral.amazon.com/brand-customer-reviews/</code> while logged in → Cookie-Editor → <b>Export → JSON</b> → paste here. A raw <code>Cookie:</code> request header copied from DevTools also works. ⚠️ Sessions expire — copy a fresh one before each scheduled run (at least every few days). Stored encrypted; never logged."
          },
          "sessionEU": {
            "title": "🇪🇺 Europe session",
            "type": "string",
            "description": "<b>Optional — not needed if you used Login mode.</b> Fallback: Paste your logged-in Seller Central session for 🇪🇺 Europe (<code>sellercentral-europe.amazon.com</code>). Easiest: install the free <b>Cookie-Editor</b> browser extension → open <code>https://sellercentral-europe.amazon.com/brand-customer-reviews/</code> while logged in → Cookie-Editor → <b>Export → JSON</b> → paste here. A raw <code>Cookie:</code> request header copied from DevTools also works. One Europe session covers DE, IT, FR, ES and UK. ⚠️ Sessions expire — copy a fresh one before each scheduled run (at least every few days). Stored encrypted; never logged."
          },
          "sessionJP": {
            "title": "🇯🇵 Japan session",
            "type": "string",
            "description": "<b>Optional — not needed if you used Login mode.</b> Fallback: Paste your logged-in Seller Central session for 🇯🇵 Japan (<code>sellercentral.amazon.co.jp</code>). Easiest: install the free <b>Cookie-Editor</b> browser extension → open <code>https://sellercentral.amazon.co.jp/brand-customer-reviews/</code> while logged in → Cookie-Editor → <b>Export → JSON</b> → paste here. A raw <code>Cookie:</code> request header copied from DevTools also works. ⚠️ Sessions expire — copy a fresh one before each scheduled run (at least every few days). Stored encrypted; never logged."
          },
          "sessionIN": {
            "title": "🇮🇳 India session",
            "type": "string",
            "description": "<b>Optional — not needed if you used Login mode.</b> Fallback: Paste your logged-in Seller Central session for 🇮🇳 India (<code>sellercentral.amazon.in</code>). Easiest: install the free <b>Cookie-Editor</b> browser extension → open <code>https://sellercentral.amazon.in/brand-customer-reviews/</code> while logged in → Cookie-Editor → <b>Export → JSON</b> → paste here. A raw <code>Cookie:</code> request header copied from DevTools also works. ⚠️ Sessions expire — copy a fresh one before each scheduled run (at least every few days). Stored encrypted; never logged."
          },
          "maxPagesPerMarketplace": {
            "title": "Max pages per marketplace",
            "minimum": 1,
            "maximum": 400,
            "type": "integer",
            "description": "Newest reviews first. Reviews per marketplace ≈ pages × page size (30 × 50 = 1,500). Stops early when reviews run out.",
            "default": 30
          },
          "pageSize": {
            "title": "Reviews per page",
            "minimum": 25,
            "maximum": 100,
            "type": "integer",
            "description": "25, 50 or 100 (Seller Central page sizes).",
            "default": 50
          },
          "stars": {
            "title": "Star ratings",
            "type": "array",
            "description": "Only critical reviews: choose 1, 2, 3.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "★1",
                "★2",
                "★3",
                "★4",
                "★5"
              ]
            },
            "default": [
              "1",
              "2",
              "3",
              "4",
              "5"
            ]
          },
          "minReviewDate": {
            "title": "Only reviews on/after (yyyy-mm-dd)",
            "type": "string",
            "description": "Optional. Also stops paging early once pages are older than this date."
          },
          "onlyNewReviews": {
            "title": "Only new reviews (monitoring)",
            "type": "boolean",
            "description": "For daily / hourly schedules: each review is delivered — and billed — <b>once</b>. The actor remembers the Review IDs it already returned (record <code>SEEN_&lt;marketplace&gt;</code> in your session store) and skips them next time; paging also stops as soon as a page has nothing new, so repeat runs are fast and cheap. Delete that record to start over.",
            "default": false
          },
          "reviewsFromDaysAgo": {
            "title": "Only reviews from the last N days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Optional relative window that moves with your schedule (e.g. 7 = the last week). Works like <i>Only reviews on/after</i>; if both are set, the later date wins. 0 or empty = off."
          },
          "asinFilter": {
            "title": "ASIN filter",
            "type": "array",
            "description": "Optional. Keep only reviews of these ASINs (child ASINs).",
            "items": {
              "type": "string"
            }
          },
          "fetchOrderId": {
            "title": "Fetch Order ID",
            "type": "boolean",
            "description": "Adds the Amazon order ID of verified-purchase reviews (from Seller Central's own reviews API, same session).",
            "default": true
          },
          "fetchImages": {
            "title": "Fetch reviewer photo URLs",
            "type": "boolean",
            "description": "Fills Has Photo / Image URL. Needs an Amazon <b>shopper</b> session below (photos are only shown to signed-in shoppers).",
            "default": false
          },
          "storefrontSession": {
            "title": "Amazon shopper (storefront) session — for photos",
            "type": "string",
            "description": "Only if Fetch photos is on: Cookie-Editor JSON exports from the Amazon store sites (e.g. www.amazon.com, www.amazon.de) while signed in as a shopper. You can paste several exports one after another inside one JSON array."
          },
          "accountUS": {
            "title": "Account name (US)",
            "type": "string",
            "description": "e.g. 'Spigen Inc'"
          },
          "accountEU": {
            "title": "Account name (Europe)",
            "type": "string",
            "description": "e.g. 'Spigen EU'. Also used to switch between DE / IT / FR / ES / UK."
          },
          "accountJP": {
            "title": "Account name (Japan)",
            "type": "string",
            "description": "e.g. 'Spigen 公式直営店'"
          },
          "accountIN": {
            "title": "Account name (India)",
            "type": "string",
            "description": "e.g. 'Spigen India'"
          },
          "outputFieldNames": {
            "title": "Output field names",
            "enum": [
              "title",
              "camel"
            ],
            "type": "string",
            "description": "Column names in the output.",
            "default": "title"
          },
          "detectionAvoidance": {
            "title": "Pace",
            "enum": [
              "LOW",
              "MEDIUM",
              "HIGH"
            ],
            "type": "string",
            "description": "Delays and scrolling between pages. Every page load also retries with backoff (8s → 25s → 60s) on throttling or robot checks, and regions are scraped one after another.",
            "default": "MEDIUM"
          },
          "returnRefreshedSessions": {
            "title": "Save refreshed sessions",
            "type": "boolean",
            "description": "Amazon rotates session cookies while you browse. When on, the refreshed cookies are saved to this run's key-value store (record REFRESHED_SESSIONS, private to your account) so you can paste them into the next run and keep sessions alive longer.",
            "default": false
          },
          "useSavedSessions": {
            "title": "Use sessions saved by Login mode",
            "type": "boolean",
            "description": "Scrape mode reuses the sessions you saved with Login mode (when that region's paste field is empty).",
            "default": true
          },
          "saveSessions": {
            "title": "Keep saved sessions fresh",
            "type": "boolean",
            "description": "After a successful region, the refreshed cookies (Amazon rotates them while you browse) are saved back, so sessions last longer. Pasted sessions are saved this way too, so next time you don't need to paste.",
            "default": true
          },
          "sessionStoreName": {
            "title": "Session store name",
            "type": "string",
            "description": "Named key-value store in YOUR Apify account that holds saved sessions (one record per region: SESSION_US, SESSION_EU …). Use a different name per brand / seller account. Delete the store to forget all sessions.",
            "default": "sc-review-sessions"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}