{
  "openapi": "3.0.1",
  "info": {
    "title": "Ozon.ru Product Reviews & Q&A Scraper | Парсер отзывов Ozon",
    "description": "All reviews for any Ozon product - ratings, photos, videos, pros/cons, seller responses, and Q&A. Media gallery and questions included free. JSON/CSV/Excel. No login. | Отзывы Ozon: рейтинг, фото, видео, ответы продавца, вопросы. Медиа и Q&A бесплатно.",
    "version": "0.0",
    "x-build-id": "SJUxSfyFHaAL3CNrt"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zen-studio~ozon-product-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zen-studio-ozon-product-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/zen-studio~ozon-product-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-zen-studio-ozon-product-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/zen-studio~ozon-product-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zen-studio-ozon-product-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": [
          "urls"
        ],
        "properties": {
          "urls": {
            "title": "Ссылки на товары / Product URLs",
            "type": "array",
            "description": "По одной ссылке на строку. Формат: <code>https://www.ozon.ru/product/название-123456/</code><br>One URL per line. Product is identified by the numeric ID at the end.<br><br><b>Бесплатный тариф:</b> обрабатывается один запрос или одна ссылка за запуск, остальные пропускаются.<br><b>Free tier:</b> one query or link per run is processed, the rest are skipped.",
            "items": {
              "type": "string"
            }
          },
          "maxReviews": {
            "title": "Макс. отзывов на товар / Max reviews per product",
            "minimum": 0,
            "type": "integer",
            "description": "Сколько отзывов на товар. <code>0</code> = максимум доступных.<br>How many reviews per product. <code>0</code> = maximum available.<br><br><b>Бесплатный тариф:</b> 10 запусков и 100 отзывов за всё время, до 5 отзывов за запуск по одной ссылке. <b>Free tier:</b> 10 runs and 100 reviews lifetime, up to 5 reviews per run from one URL, whatever this field asks for.",
            "default": 100
          },
          "sort": {
            "title": "Сортировка / Sort order",
            "enum": [
              "published_at_desc",
              "score_desc",
              "score_asc"
            ],
            "type": "string",
            "description": "Какие отзывы получите первыми. В сочетании с лимитом определяет выборку.<br>Controls which reviews you get first.",
            "default": "published_at_desc"
          },
          "scrapeQuestions": {
            "title": "Вопросы о товаре / Scrape Q&A",
            "type": "boolean",
            "description": "Собирать вопросы и ответы о товаре. Тарифицируются так же, как отзывы. Без авторизации Ozon отдаёт не больше ~80 вопросов на товар, поэтому сверяйте <code>questionsFetched</code> с <code>totalQuestions</code>.<br>Collect product questions & answers. Billed the same way as reviews. Without login Ozon serves at most ~80 questions per product, so compare <code>questionsFetched</code> with <code>totalQuestions</code>.",
            "default": false
          },
          "scrapeReviews": {
            "title": "Собирать отзывы / Collect reviews",
            "type": "boolean",
            "description": "Отключите, чтобы собрать только вопросы и ответы, без отзывов. <code>maxReviews: 0</code> означает «все отзывы», а не «ни одного».<br>Turn off to collect questions &amp; answers only, without reviews. <code>maxReviews: 0</code> means <i>all</i> reviews, not none.",
            "default": true
          },
          "scrapeComments": {
            "title": "Ответы и комментарии / Replies and comments",
            "type": "boolean",
            "description": "Собирать ответы продавца и комментарии под отзывами. Каждый ответ тарифицируется как отзыв, а ответы есть примерно у каждого второго отзыва, поэтому счёт за запуск может вырасти примерно вдвое. Запуск также будет дольше.<br>Collect seller replies and the discussion under each review. Each reply is billed like a review, and roughly half of all reviews have one, so a run can cost about twice as much. Runs also take longer.",
            "default": false
          },
          "maxMediaItems": {
            "title": "Макс. фото и видео на товар / Max media items per product",
            "minimum": 0,
            "type": "integer",
            "description": "Сколько фото и видео из галереи товара собирать. Галерея общая по карточке, а не только по выбранным отзывам, поэтому у популярных товаров она очень большая. <code>0</code> = без ограничения (медленнее).<br>How many gallery photos and videos to collect per product. The gallery covers the whole product card, not just the reviews you requested, so it is very large on popular products. <code>0</code> = unlimited (slower).",
            "default": 500
          },
          "feedback": {
            "title": "Feedback to the maintainers",
            "type": "string",
            "description": "For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}