{
  "openapi": "3.0.1",
  "info": {
    "title": "Douyin Scraper: Videos, Creators, Comments & Trends",
    "description": "Scrape Douyin (Chinese TikTok) without an account: videos, creator profiles, comments and replies, related videos and trending topics, 210 fields. Export to JSON, CSV or Excel.",
    "version": "0.0",
    "x-build-id": "xkBQXfbLn1019WNNZ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nice_dev~douyin-videos-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nice_dev-douyin-videos-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~douyin-videos-scraper/runs": {
      "post": {
        "operationId": "runs-sync-nice_dev-douyin-videos-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~douyin-videos-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-nice_dev-douyin-videos-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": {
          "videoUrls": {
            "title": "Video URLs",
            "maxItems": 1000,
            "uniqueItems": true,
            "type": "array",
            "description": "Douyin video or photo-post links (`https://www.douyin.com/video/7682152870929567026`), short share links (`https://v.douyin.com/abc123/`), the whole share text copied from the app, or bare video ids (17 to 20 digits). One result per video. Max 1 000.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "profileUrls": {
            "title": "Creator profile URLs",
            "maxItems": 500,
            "uniqueItems": true,
            "type": "array",
            "description": "Creator pages (`https://www.douyin.com/user/MS4wLjABAAAArB6pB4M5W77nh-dtEpir53PoXSWn6vpZIFoJdFRHRrM`), short share links of a profile, the whole share text of the app, or a bare creator id: the long sec_uid of the page address, or the numeric uid (such as `63163250759`). The Douyin ID (the short name shown under the nickname) is not accepted: Douyin refuses it. For each creator: their videos, newest first (pinned videos come first on Douyin, see **Skip pinned videos**), and one profile row if **Creator profile rows** is ticked. Max 500.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxVideosPerProfile": {
            "title": "Max videos per creator",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Videos read for EACH creator, newest first (up to 50 per page read). Douyin shows a visitor without an account the first page only, so about 44 videos per creator whatever this number says. 0 = no video rows, the profile only. Also capped by **Max results**.",
            "default": 20
          },
          "includeProfileRows": {
            "title": "Creator profile rows",
            "type": "boolean",
            "description": "One row per creator of **Creator profile URLs** (and of a link to a creator pasted in another list): Douyin ID, bio, followers, following, total likes, video count, IP location (province), gender, age, verification, live status. Charged as a profile row (see Pricing). Off = the videos only.",
            "default": false
          },
          "skipPinned": {
            "title": "Skip pinned videos",
            "type": "boolean",
            "description": "Leave out the videos the creator pinned at the top of the profile (they are often old and break a newest-first reading).",
            "default": false
          },
          "includeAuthorProfiles": {
            "title": "Full author profile on each video",
            "type": "boolean",
            "description": "Add the author's IP location (province), video count, real following count, gender, age, school and live status to every video row (1 extra request per new author, read once per run). Charged per video row it completes as **Author profile** (see Pricing). The author's follower count, total likes and verification badge are free on a creator's videos and when an author filter is on; on a video link, a sound or a collection they are empty without this option or a filter.",
            "default": false
          },
          "includeAccountStats": {
            "title": "Creator statistics",
            "type": "boolean",
            "description": "Add to each creator profile row: average and median likes, comments, shares and saves per video, average engagement rate, videos per week and date of the latest video, over the creator's latest videos (up to 36, pinned ones left out; a visitor without an account gets the first page only, about 44, enough for the 36; usually 1 extra request per creator). Charged per profile row as **Creator statistics** (see Pricing). Works on profile rows only: without **Creator profile rows** or a keyword search for creators it does nothing.",
            "default": false
          },
          "includeBioContacts": {
            "title": "Contacts written in the bio",
            "type": "boolean",
            "description": "Add to each creator profile row the e-mail addresses, phone numbers and WeChat IDs the creator wrote in the bio. Charged as **Bio contact** only for a profile row where at least one contact is found (see Pricing). Works on profile rows only: without **Creator profile rows** or a keyword search for creators it does nothing.",
            "default": false
          },
          "maxRelatedPerVideo": {
            "title": "Related videos per video",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "For each video of **Video URLs**, also deliver up to this many of the videos Douyin recommends next to it (相关推荐), each as a video row with `relatedTo` = the video it came from (1 extra request per 10-20 related videos; charged as videos). 0 = off.",
            "default": 0
          },
          "musicUrls": {
            "title": "Sound URLs",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Douyin sound pages (`https://www.douyin.com/music/7561006047303010321`), share links of a sound, the whole share text copied from the app, or bare sound ids (17 to 20 digits). For each sound: the videos made with it, up to **Max videos per sound**. Max 100.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxVideosPerMusic": {
            "title": "Max videos per sound",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Videos read for EACH sound of **Sound URLs**. Also capped by **Max results**.",
            "default": 20
          },
          "collectionUrls": {
            "title": "Collection URLs",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Douyin collection pages (`https://www.douyin.com/collection/7673031667082070079`), share links of a collection, the whole share text copied from the app, or bare collection ids (17 to 20 digits). For each collection: its videos in the collection's order, up to **Max videos per collection**. Max 100.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxVideosPerCollection": {
            "title": "Max videos per collection",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Videos read for EACH collection of **Collection URLs**. Also capped by **Max results**.",
            "default": 50
          },
          "includeComments": {
            "title": "Scrape comments",
            "type": "boolean",
            "description": "Read the comments of each delivered video: text, likes, reply count, date, commenter's nickname and IP location (province), hot / pinned / liked-by-author flags, images.",
            "default": false
          },
          "maxCommentsPerVideo": {
            "title": "Max comments per video",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Top-level comments read per video (20 per page, Douyin's own order: hot first). 0 = all the video has (can be thousands).",
            "default": 20
          },
          "includeReplies": {
            "title": "Include replies",
            "type": "boolean",
            "description": "Also read the replies under each comment (1 extra request per comment with replies). Each reply is a comment row with `isReply` = true and its parent comment id.",
            "default": false
          },
          "maxRepliesPerComment": {
            "title": "Max replies per comment",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Replies read under each comment when **Include replies** is on. 0 = all.",
            "default": 5
          },
          "includeDanmaku": {
            "title": "Scrape bullet comments (弹幕)",
            "type": "boolean",
            "description": "Read the bullet comments of each delivered video: text, moment of the video they appear at, likes and the author's uid. Each one is a row of its own, charged as a bullet comment (see Pricing).",
            "default": false
          },
          "maxDanmakuPerVideo": {
            "title": "Max bullet comments per video",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Most bullet comments saved for EACH video when **Scrape bullet comments** is on. Also capped by **Max results**.",
            "default": 100
          },
          "includeTrends": {
            "title": "Scrape trending topics",
            "type": "boolean",
            "description": "One row per topic of the boards chosen below: rank, topic, heat value, label (new / hot / exclusive…), number of videos, time it started trending, lead video. Charged as a trend row (see Pricing).",
            "default": false
          },
          "trendBoards": {
            "title": "Boards",
            "uniqueItems": true,
            "type": "array",
            "description": "Which boards to read. **Hot** is the main board (50 topics); the others are Douyin's entertainment, society and challenge boards.",
            "items": {
              "type": "string",
              "enum": [
                "hot",
                "entertainment",
                "society",
                "challenge"
              ],
              "enumTitles": [
                "Hot (热榜)",
                "Entertainment (娱乐榜)",
                "Society (社会榜)",
                "Challenges (挑战榜)"
              ]
            },
            "default": [
              "hot"
            ]
          },
          "trendVideos": {
            "title": "Lead video of each topic",
            "type": "boolean",
            "description": "Also deliver the lead video of each trending topic as a video row (1 extra request per topic; charged as a video).",
            "default": false
          },
          "query": {
            "title": "Search keyword",
            "maxLength": 200,
            "type": "string",
            "description": "Keyword as typed in the Douyin app, in Chinese or not (e.g. `咖啡`, `iPhone 17`)."
          },
          "searchQueries": {
            "title": "More search keywords",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Several keywords in one run, one search each. Added to **Search keyword**; a video found by several searches is saved once.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sessionCookie": {
            "title": "Your Douyin session cookie",
            "type": "string",
            "description": "The cookie of YOUR logged-in douyin.com tab (DevTools › Network › any request to douyin.com › Request headers › cookie, copied whole, like `sessionid=abc123; ttwid=xyz789`), or at least its sessionid part. Needed for keyword search only. Use an account of your own: Douyin may ask it to log in again after heavy use."
          },
          "searchType": {
            "title": "Search for",
            "enum": [
              "videos",
              "creators"
            ],
            "type": "string",
            "description": "**Videos** = one video row per result. **Creators** = one profile row per account found (Douyin's user search).",
            "default": "videos"
          },
          "searchSort": {
            "title": "Search sort",
            "enum": [
              "relevance",
              "most-liked",
              "latest"
            ],
            "type": "string",
            "description": "Douyin's own sort of the search results. Videos search only: a creators search ignores it.",
            "default": "relevance"
          },
          "searchPublishTime": {
            "title": "Published within",
            "enum": [
              "any",
              "day",
              "week",
              "half-year"
            ],
            "type": "string",
            "description": "Douyin's own date filter of the search. Videos search only: a creators search ignores it. For any other window, use **Posted after** / **Posted before** below.",
            "default": "any"
          },
          "searchDuration": {
            "title": "Video length",
            "enum": [
              "any",
              "under-1-min",
              "1-5-min",
              "over-5-min"
            ],
            "type": "string",
            "description": "Douyin's own length filter of the search. Videos search only: a creators search ignores it.",
            "default": "any"
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of rows saved for the whole run, all types together (videos, profiles, comments, trends, bullet comments), after deduplication and filters. 0 = no limit.",
            "default": 100
          },
          "maxItemsPerQuery": {
            "title": "Max results per source",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Cap for EACH source (a creator, a sound, a collection, a keyword, a board, a pasted video with its comments), so that the first one cannot use up the whole **Max results** budget. 0 = no per-source cap.",
            "default": 0
          },
          "downloadVideos": {
            "title": "Download video files (MP4)",
            "type": "boolean",
            "description": "Save each delivered video as an MP4 file (the smallest stream of at least 720p, H.264 first, without the Douyin watermark when Douyin serves one; photo posts: every image). Charged as **Video file** once per started 5 MB of the file saved (a 3 MB video = 1, a 12 MB video = 3; a photo post: all its images together); the column `videoFileMb` gives the size (see Pricing).",
            "default": false
          },
          "downloadCovers": {
            "title": "Download cover images",
            "type": "boolean",
            "description": "Save the cover image of each delivered video. Charged per image saved as **Cover file** (see Pricing).",
            "default": false
          },
          "maxVideoFileMb": {
            "title": "Max video file size",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Largest video file kept. A video is saved in a smaller stream when the best one is larger than this; none small enough: not downloaded (the row says why, nothing is charged for the file). The most a single file can cost is one Video file event per 5 MB of this limit (100 MB = 20 events).",
            "default": 100
          },
          "postedAfter": {
            "title": "Posted after",
            "type": "string",
            "description": "Only videos published on or after this date (`createTimeIso`): `2026-09-01`, or a period before now such as `7 days`, `2 weeks`, `1 month` (API: `24 hours` and full ISO date-times work too). On a creator, reading stops at the first older video that is not pinned."
          },
          "postedBefore": {
            "title": "Posted before",
            "type": "string",
            "description": "Only videos published on or before this date (the whole day is included), or older than a period such as `30 days`."
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Drop the videos whose description, title or hashtags contain one of these words (case and accents ignored).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeKeywords": {
            "title": "Must contain keywords",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only the videos whose description, title or hashtags contain at least one of these words. Empty = no filter.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "minLikes": {
            "title": "Min likes",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Only videos with at least this many likes.",
            "default": 0
          },
          "minComments": {
            "title": "Min comments",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Only videos with at least this many comments.",
            "default": 0
          },
          "minShares": {
            "title": "Min shares",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Only videos shared at least this many times.",
            "default": 0
          },
          "minDurationSeconds": {
            "title": "Min length",
            "minimum": 0,
            "maximum": 36000,
            "type": "integer",
            "description": "Only videos at least this long. Photo posts have no length and are dropped when this is set.",
            "default": 0
          },
          "maxDurationSeconds": {
            "title": "Max length",
            "minimum": 0,
            "maximum": 36000,
            "type": "integer",
            "description": "Only videos at most this long. 0 = no maximum.",
            "default": 0
          },
          "mediaType": {
            "title": "Post type",
            "enum": [
              "all",
              "video",
              "images"
            ],
            "type": "string",
            "description": "Videos, photo posts (图文), or both.",
            "default": "all"
          },
          "minAuthorFollowers": {
            "title": "Min author followers",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Only videos whose author has at least this many followers (one extra read per creator, kept in memory for the run).",
            "default": 0
          },
          "maxAuthorFollowers": {
            "title": "Max author followers",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Only videos whose author has at most this many followers (micro-influencer search; one extra read per creator, kept in memory for the run). 0 = no maximum.",
            "default": 0
          },
          "verifiedOnly": {
            "title": "Verified authors only",
            "type": "boolean",
            "description": "Only videos of authors with a Douyin verification badge, personal or business (one extra read per creator, kept in memory for the run).",
            "default": false
          },
          "onlyNew": {
            "title": "Only new results",
            "type": "boolean",
            "description": "Skip the videos, comments and bullet comments that a previous run (same **Memory key**) already delivered: they are not saved and not charged. On a creator, reading stops once it meets a run of already-known videos (never more than the previous run delivered for that creator, and never more than your caps allow; pinned ones aside). Profiles and trends are always delivered. On a sound, a collection or a keyword search the list is not read newest first, so each run delivers the videos never delivered before, up to **Max results** or the maximum per sound, collection or search, even when the search is sorted by date. First run = everything is new.",
            "default": false
          },
          "stateKey": {
            "title": "Memory key",
            "pattern": "^[a-zA-Z0-9_-]{1,64}$",
            "maxLength": 64,
            "type": "string",
            "description": "Name of the memory used by **Only new results**. Give each schedule / task its own key (e.g. `brand-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 result again. Untick it afterwards.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy or your own proxies. Keep the default: it is included in the price. The residential Apify proxy is not available in this Actor.",
            "default": {
              "useApifyProxy": true
            }
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum number of Douyin requests processed in parallel.",
            "default": 4
          },
          "maxRequestsPerMinute": {
            "title": "Max requests per minute",
            "minimum": 5,
            "maximum": 600,
            "type": "integer",
            "description": "Most requests to Douyin in any 60 seconds, all of them counted (video pages, creator pages, comment pages, trend boards). A budget, not an even pace. Lower it if the log shows refusals.",
            "default": 60
          },
          "minRequestIntervalMs": {
            "title": "Min delay between requests",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Smallest gap between two requests, in milliseconds. Unlike the per-minute rate, this spreads the requests evenly. 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 Douyin turns away is also retried in a fresh browser session without using up these retries. A page that does not answer at all is retried only once more.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}