{
  "openapi": "3.0.1",
  "info": {
    "title": "Ozon Products Scraper",
    "description": "Scrape Ozon.ru products by keyword, category, seller or brand URL: card price, price without Ozon card, old price, rating, reviews, seller, stock. Optional full product page, reviews, Q&A, other sellers and price tracking. Export to JSON, CSV or Excel.",
    "version": "0.0",
    "x-build-id": "Fw8OCy5KeW2JXwhUg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nice_dev~ozon-products-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nice_dev-ozon-products-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/nice_dev~ozon-products-scraper/runs": {
      "post": {
        "operationId": "runs-sync-nice_dev-ozon-products-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/nice_dev~ozon-products-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-nice_dev-ozon-products-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": {
          "startUrls": {
            "title": "Start URLs",
            "maxItems": 1000,
            "type": "array",
            "description": "Ozon.ru URLs: search (`https://www.ozon.ru/search/?text=...`), category (`/category/...`), seller (`/seller/...`), brand (`/brand/...`), or product (`/product/...`). Filters and sorting set on the site are kept, pagination is automatic. When this list is not empty, **Search keyword** and **More search keywords** are ignored; caps, post-filters and monitoring still apply. Max 1 000 URLs.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "query": {
            "title": "Search keyword",
            "maxLength": 200,
            "type": "string",
            "description": "Search text, as typed in the Ozon search bar (Russian or English, e.g. `наушники` or `iphone 15`)."
          },
          "searchQueries": {
            "title": "More search keywords",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Several keywords in one run: one search per keyword, added to **Search keyword**. A product found by several searches is saved once.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "productIds": {
            "title": "Product SKUs",
            "maxItems": 1000,
            "uniqueItems": true,
            "type": "array",
            "description": "Ozon product numbers (SKU, the `Артикул` shown on a product page, e.g. `1234567890`). Each one is read like a product URL. Max 1 000.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "storefront": {
            "title": "Storefront",
            "enum": [
              "ru",
              "kz"
            ],
            "type": "string",
            "description": "Which Ozon site to read: ozon.ru (Russia, prices in ₽) or ozon.kz (Kazakhstan, real local prices in ₸). A pasted link must be from the same site. On ozon.kz a few filters are not available yet: the run refuses them by name before reading anything.",
            "default": "ru"
          },
          "maxItems": {
            "title": "Max products",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of products to save for the whole run (after deduplication and filters). 0 = no limit.",
            "default": 100
          },
          "maxItemsPerQuery": {
            "title": "Max products per search",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Cap for EACH search (keyword, or search / category / seller URL), so that the first search cannot use up the whole **Max products** budget. 0 = no per-search cap.",
            "default": 0
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "score",
              "rating",
              "price",
              "price_desc",
              "new",
              "discount"
            ],
            "type": "string",
            "description": "Order of the search results on Ozon. Ignored for the URLs that already carry a sorting. **Only new products** does not change it: with *Newest first* a monitoring run stops reading once it meets a long run of products it already delivered.",
            "default": "score"
          },
          "minPrice": {
            "title": "Min price (RUB)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Lowest Ozon Card price, in roubles."
          },
          "maxPrice": {
            "title": "Max price (RUB)",
            "minimum": 1,
            "maximum": 100000000,
            "type": "integer",
            "description": "Highest Ozon Card price, in roubles. Leave empty for no maximum."
          },
          "hasDiscount": {
            "title": "Discounted products only",
            "type": "boolean",
            "description": "Ozon filter `Товары со скидкой`: only products with a crossed-out price.",
            "default": false
          },
          "onSale": {
            "title": "Sale products only",
            "type": "boolean",
            "description": "Ozon filter `Распродажа`: only products in the current sale.",
            "default": false
          },
          "brandCertified": {
            "title": "Verified brand only",
            "type": "boolean",
            "description": "Ozon filter `Бренд проверен`: the seller guarantees original products of this brand.",
            "default": false
          },
          "officialStoresOnly": {
            "title": "Official brand stores only",
            "type": "boolean",
            "description": "Ozon filter `Официальные магазины бренда`.",
            "default": false
          },
          "sellerIds": {
            "title": "Seller IDs",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Only products sold by these sellers (Ozon seller id, the number at the end of a `/seller/...` URL; `0` = Ozon itself).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "brandIds": {
            "title": "Brand IDs",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Only products of these brands (Ozon brand id, the number at the end of a `/brand/...` URL).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "delivery": {
            "title": "Delivery time",
            "enum": [
              "any",
              "express",
              "today",
              "tomorrow",
              "3days",
              "7days"
            ],
            "type": "string",
            "description": "Ozon filter `Срок доставки`: only products delivered within this time (to the **Delivery city**).",
            "default": "any"
          },
          "isInstallment": {
            "title": "Instalments only",
            "type": "boolean",
            "description": "Ozon filter `Рассрочка`: only products that can be paid in parts.",
            "default": false
          },
          "highRatingOnly": {
            "title": "High rating only",
            "type": "boolean",
            "description": "Ozon filter `Высокий рейтинг`: only products Ozon marks as highly rated. Not every category has this filter: if Ozon does not apply it, the log says so.",
            "default": false
          },
          "madeInRussiaOnly": {
            "title": "Made in Russia only",
            "type": "boolean",
            "description": "Ozon filter `Сделано в России`: only products made in Russia. Not every category has this filter: if Ozon does not apply it, the log says so.",
            "default": false
          },
          "countryIds": {
            "title": "Country of origin (IDs)",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Ozon filter \"Страна-изготовитель\": only products made in these countries. Use the country number: open an Ozon search or category, tick a country in that filter, and read the number after \"country=\" in the address (20 = China, 2 = Russia). Several numbers = products from any of them. Not every category has this filter: if Ozon does not apply it, the log says so.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "language": {
            "title": "Language",
            "enum": [
              "az-Latn",
              "en",
              "hy",
              "kk",
              "mn",
              "ru",
              "tk",
              "tr",
              "uz-Latn",
              "zh-Hans"
            ],
            "type": "string",
            "description": "Language Ozon shows the product texts in (title, description, characteristics). Ozon translates what it can. On ozon.kz: Русский or Қазақ only.",
            "default": "ru"
          },
          "currency": {
            "title": "Currency",
            "enum": [
              "RUB",
              "USD",
              "BYN",
              "KZT",
              "ILS",
              "AMD",
              "UZS",
              "KGS",
              "AZN",
              "GEL",
              "MNT",
              "AUD",
              "DKK",
              "JPY",
              "CAD",
              "CNY",
              "MDL",
              "NOK",
              "PLN",
              "SGD",
              "TRY",
              "UAH",
              "GBP",
              "CZK",
              "SEK",
              "CHF"
            ],
            "type": "string",
            "description": "Currency the prices are given in. Ozon shows approximate amounts in any currency but the rouble (the order itself is charged in roubles). On ozon.kz the prices are in tenge (KZT): leave it as it is.",
            "default": "RUB"
          },
          "deliveryCity": {
            "title": "Delivery city",
            "maxLength": 100,
            "type": "string",
            "description": "City whose pickup point Ozon uses for the prices, delivery dates and stock, as written on Ozon (e.g. `Новосибирск`). Empty = Moscow (set on every IP, whatever city the IP is in). On ozon.kz: empty = the city Ozon gives the IP."
          },
          "extractDetails": {
            "title": "Full product page",
            "type": "boolean",
            "description": "Open each product page (2 extra requests) for the seller, stock left, all characteristics, description, category path, brand, variants (colour / size with their SKUs), video, questions count and the cheapest offer of another seller. Charged per product read this way (event `product-details`); a product whose second page or delivery box could not be read is delivered with what it has and charged `product`.",
            "default": false
          },
          "includeOtherSellers": {
            "title": "Other sellers (buy box)",
            "type": "boolean",
            "description": "Needs **Full product page**. The offers of the same product by other sellers (the 100 cheapest the site lists; **Other sellers order** can put the fastest delivery first): seller with rating and legal details, price, delivery date, link. 1 extra request per product; charged per product that has other offers (event `other-sellers`).",
            "default": false
          },
          "otherSellersSort": {
            "title": "Other sellers order",
            "enum": [
              "price",
              "date"
            ],
            "type": "string",
            "description": "Used with **Other sellers**: which offers come first (Ozon sorting).",
            "default": "price"
          },
          "includeReviews": {
            "title": "Customer reviews",
            "type": "boolean",
            "description": "Needs **Full product page**. Customer reviews of each product: rating, text, pros, cons, date, author first name, photos, videos, likes, star counts. 1 extra request per 30 reviews. Charged per review delivered (event `review`).",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Used with **Customer reviews** (30 reviews per page read).",
            "default": 20
          },
          "reviewSort": {
            "title": "Reviews order",
            "enum": [
              "usefulness_desc",
              "score_desc",
              "score_asc"
            ],
            "type": "string",
            "description": "Used with **Customer reviews**: which reviews come first (Ozon sorting).",
            "default": "usefulness_desc"
          },
          "includeReviewComments": {
            "title": "Review comments",
            "type": "boolean",
            "description": "Needs **Customer reviews** (ignored without it). Adds the comments under each review, with the seller's answer: `sellerResponse` and `comments`. At most 30 comment requests per product and 50 comments per review (the rest of a product's reviews, or of a review, is saved without them; the run summary says so). 1 extra request per review that has comments; charged per review whose comments are delivered (event `review-comment`).",
            "default": false
          },
          "includeQuestions": {
            "title": "Customer questions",
            "type": "boolean",
            "description": "Needs **Full product page**. Customer questions of each product with the answers shown under them (seller or buyers): text, author, date, likes, best answer. 1 extra request per 10 questions; charged per question delivered (event `question`). Ozon shows questions in Russian only: with another **Language** there are none.",
            "default": false
          },
          "maxQuestionsPerProduct": {
            "title": "Max questions per product",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Used with **Customer questions**.",
            "default": 10
          },
          "questionsSort": {
            "title": "Questions order",
            "enum": [
              "usefulness_desc",
              "created_at_desc",
              "has_answers_desc"
            ],
            "type": "string",
            "description": "Used with **Customer questions**: which questions come first (Ozon sorting). With **Max questions per product** set low, this decides which questions you get.",
            "default": "usefulness_desc"
          },
          "includeSellerProfile": {
            "title": "Seller profile",
            "type": "boolean",
            "description": "Needs **Full product page**. Opens the page of each seller once per run for its profile: followers and reviews count (`sellerFollowers`, `sellerReviewCount`), Premium mark, badges, time on Ozon and verified brands. The next products of the same seller get the profile at no charge. Charged per seller read (event `seller-profile`).",
            "default": false
          },
          "includePriceHistory": {
            "title": "Price history",
            "type": "boolean",
            "description": "Needs **Full product page**. For a product Ozon marks `Стало дешевле`: the price now and the average price of the month before (`priceHistory`). Ozon gives no full price curve. 1 extra request per product; charged per product that has it (event `price-history`).",
            "default": false
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Drop the products whose title contains one of these WHOLE words (case and accents ignored): `art` drops \"Art deco\" but keeps \"Smart watch\". Several words in one entry (`hand made`) must appear together, in that order. Chinese, Japanese, Korean, Thai, Lao, Khmer and Burmese words are found anywhere in the title (no spaces there).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "minRating": {
            "title": "Min rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Drop the products rated below this (1-5 stars). Products with no rating yet are dropped too."
          },
          "minReviews": {
            "title": "Min reviews count",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Drop the products with fewer reviews than this."
          },
          "minDiscount": {
            "title": "Min discount %",
            "minimum": 0,
            "maximum": 99,
            "type": "integer",
            "description": "Drop the products whose discount is below this percent (crossed-out price vs Ozon Card price). Products with no discount are dropped too."
          },
          "inStockOnly": {
            "title": "In stock only",
            "type": "boolean",
            "description": "Drop the products the search result shows as sold out. Products whose stock Ozon does not say are kept.",
            "default": false
          },
          "includeKeywords": {
            "title": "Required keywords",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only the products whose title contains at least one of these words (case and accents ignored).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "onlyNew": {
            "title": "Only new products",
            "type": "boolean",
            "description": "Skip the products that a previous run (same **Memory key**) already delivered: they are not saved and not charged, and their page is not even opened. First run = everything is new.",
            "default": false
          },
          "includePriceChanges": {
            "title": "Report price changes",
            "type": "boolean",
            "description": "Needs **Only new products**. A product already delivered under this **Memory key** comes back when its search-result price has changed since the run that delivered it: `previousPrice`, `priceChange`, `priceChangePct` and `priceChangedAt` are filled. It comes back as its search-result card: its product page and the extras (reviews, questions, other sellers, seller profile, price history) are not read or charged again. Charged per product as **Price change**, on top of the product; a product whose price did not move is skipped and costs nothing. The first run after you tick it learns the prices and reports no change.",
            "default": false
          },
          "minPriceChangePct": {
            "title": "Min price change %",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Used with **Report price changes**: smaller moves (up or down, in percent) are ignored. 0 = every change.",
            "default": 0
          },
          "monitorFields": {
            "title": "Fields to monitor",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "Needs **Only new products** and **Report price changes**. Which changes bring an already delivered product back: its price, its stock (in stock ↔ sold out) or its rating. One Price change event per returned product, whatever the number of changes. **Min price change %** applies to the price only.",
            "items": {
              "type": "string",
              "enum": [
                "price",
                "availability",
                "rating"
              ],
              "enumTitles": [
                "Price",
                "Stock (in stock / sold out)",
                "Rating"
              ]
            },
            "default": [
              "price"
            ]
          },
          "stateKey": {
            "title": "Memory key",
            "pattern": "^[a-zA-Z0-9_-]{1,64}$",
            "maxLength": 64,
            "type": "string",
            "description": "Name of the memory used by **Only new products**. Give each schedule / task its own key (e.g. `headphones-watch`) so that they do not share their memory. Letters, digits, `-` and `_`.",
            "default": "default"
          },
          "resetState": {
            "title": "Reset the memory",
            "type": "boolean",
            "description": "Forget everything remembered under this **Memory key** before the run: this run returns (and charges) every product again. Untick it afterwards.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration (included proxy: paying users only)",
            "type": "object",
            "description": "Keep **Apify Proxy**: the Actor reaches Ozon through Russian IP addresses, included in the price (the proxy group, the country and **No proxy** chosen here are ignored). Your own proxies (`proxyUrls`), if you give some, must be Russian. On the Apify free plan the included proxy is not available: add your own proxy URLs, or the run stops at once with a message.",
            "default": {
              "useApifyProxy": true
            }
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Ozon pages read in parallel.",
            "default": 4
          },
          "maxRequestsPerMinute": {
            "title": "Max requests per minute",
            "minimum": 10,
            "maximum": 600,
            "type": "integer",
            "description": "Most requests to Ozon in any 60 seconds, all of them counted: results pages, product pages, reviews and other sellers. A budget, not an even pace (spread them with the minimum delay below). Lower it if the log shows Ozon turning requests away.",
            "default": 120
          },
          "minRequestIntervalMs": {
            "title": "Min delay between requests",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Smallest gap between two requests, in milliseconds. 0 = no gap.",
            "default": 0
          },
          "maxRequestRetries": {
            "title": "Max request retries",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Retries per request before it is marked as failed. A request Ozon turns away is also retried on a new proxy session up to 10 times without using up these retries.",
            "default": 5
          },
          "debugLog": {
            "title": "Debug log",
            "type": "boolean",
            "description": "Include debug messages in the run log.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}