{
  "openapi": "3.0.1",
  "info": {
    "title": "Shopee Reviews Scraper - 虾皮 Ratings, Photos & Seller Replies",
    "description": "Shopee reviews scraper for any Shopee shop in all 8 markets: star rating, text, buyer photos and video, the product and variation, three sub-scores and the seller's reply. Put the market in the URL: a shop id works on one market only. $3.79 per 1,000 on the free plan, down to $2.79 on paid plans.",
    "version": "0.1",
    "x-build-id": "aRvwsn1PkfrAO66BT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dami_studio~shopee-shop-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dami_studio-shopee-shop-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~shopee-shop-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dami_studio-shopee-shop-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~shopee-shop-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dami_studio-shopee-shop-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": [
          "startUrls"
        ],
        "properties": {
          "startUrls": {
            "title": "Shopee shop or product URLs",
            "type": "array",
            "description": "Shop URLs (https://shopee.sg/shop/123456 or https://shopee.sg/shopusername) return that shop's reviews. Product URLs (…-i.{shop}.{item} or /product/{shop}/{item}) return the reviews from the shop-wide sweep that belong to that product. Shopee publishes no per-product review feed, so that is a subset, not the product's full history. Always include the market host: shop ids are scoped per market, and an id from the wrong market returns an empty result.",
            "default": [
              "https://shopee.sg/shop/1103391312"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxReviewsPerShop": {
            "title": "Max reviews per shop",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Most reviews to return per shop. With any of the three filters below on, only the reviews that pass count, so the run reads on until it has this many or the shop has no more. When very few match, it may stop sooner and leave a free note row saying so. Shopee itself serves at most about 1,000 reviews per star rating (roughly 5,000 per shop), so values above that cannot be met.",
            "default": 100
          },
          "starRatings": {
            "title": "Star ratings to collect",
            "type": "array",
            "description": "Which star buckets to sweep. Shopee paginates each star rating separately, so narrowing this makes a run faster. Whatever you pick, a capped run spreads its budget evenly across them rather than filling up from five stars down.",
            "items": {
              "type": "string",
              "enum": [
                "5",
                "4",
                "3",
                "2",
                "1"
              ],
              "enumTitles": [
                "5 stars",
                "4 stars",
                "3 stars",
                "2 stars",
                "1 star"
              ]
            },
            "default": [
              "5",
              "4",
              "3",
              "2",
              "1"
            ]
          },
          "onlyWithText": {
            "title": "Only reviews that have written text",
            "type": "boolean",
            "description": "Many Shopee ratings are stars only. Turn this on to keep only reviews with an actual comment. Only those count toward Max reviews per shop.",
            "default": false
          },
          "onlyWithMedia": {
            "title": "Only reviews with photos or video",
            "type": "boolean",
            "description": "Keep only reviews that include buyer photos or video. Only those count toward Max reviews per shop.",
            "default": false
          },
          "reviewsSince": {
            "title": "Only reviews newer than",
            "pattern": "^\\s*(?:(?:(?:0[1-9]\\d{2}|[1-9]\\d{3})-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|02-(?:0[1-9]|1\\d|2[0-8]))|(?:(?:0[1-9]|[1-9]\\d)(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)|(?:[1-9]\\d{0,3}|0[1-9]\\d{0,2}|00[1-9]\\d?|000[1-9])\\s*(?:[Dd][Aa][Yy]|[Ww][Ee][Ee][Kk])[Ss]?)?\\s*$",
            "type": "string",
            "description": "Leave empty for every review. Or give a date (2026-10-01) or a number of days or weeks (30 days, 2 weeks) and the run stops reading each star rating once it reaches older reviews. Older reviews are not written and not charged. Any other wording, or a date in the future, stops the run before it reads anything."
          },
          "onlyLocalBuyers": {
            "title": "Only reviews from local buyers",
            "type": "boolean",
            "description": "Shops that sell in several markets also show reviews written in another one. Turn this on to keep only the reviews Shopee marks as from this shop's own market. Like the two filters above, only the reviews it keeps count toward Max reviews per shop, and the ones it leaves out are not charged.",
            "default": false
          },
          "includeShopSummary": {
            "title": "Include a shop summary row",
            "type": "boolean",
            "description": "Adds one row per shop with its average star rating, good/normal/bad counts, follower count, item count and seller response rate.",
            "default": true
          },
          "requestDelayMs": {
            "title": "Delay between requests (ms)",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Raise this if you are scraping many shops in one run.",
            "default": 250
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}