{
  "openapi": "3.0.1",
  "info": {
    "title": "Finnish Company Scraper - Y-tunnus, Email & Phone + PRH",
    "description": "Finnish B2B leads from company websites' statutory § 176 block — Y-tunnus (mod-11 checked), email, phone, address, ALV-numero, e-invoice address — verified in the PRH/YTJ register. Or discover companies in PRH by town, TOL code and form and read their sites. $9 per 1,000 rows.",
    "version": "0.1",
    "x-build-id": "24mlaBTXhBIjg1Koe"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapersdelight~fi-prh-website-ytunnus-contact-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapersdelight-fi-prh-website-ytunnus-contact-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/scrapersdelight~fi-prh-website-ytunnus-contact-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapersdelight-fi-prh-website-ytunnus-contact-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/scrapersdelight~fi-prh-website-ytunnus-contact-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapersdelight-fi-prh-website-ytunnus-contact-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "auto",
              "domains",
              "register"
            ],
            "type": "string",
            "description": "\"Domain list\" reads the websites you supply. \"PRH register discovery\" finds companies in the Finnish PRH/YTJ register by the filters below, takes each company's registered website, and reads that. \"Auto\" picks register discovery when you give register filters and no domains, and the domain list otherwise.",
            "default": "auto"
          },
          "domains": {
            "title": "Finnish company websites (domain-list mode)",
            "type": "array",
            "description": "One entry per company: a bare domain (\"nyron.fi\"), a homepage URL (\"https://www.marlea.fi\") or a direct page URL (\"https://x.fi/yhteystiedot\"). Any TLD is accepted (.fi, .com, .net, .eu …). Leave empty — together with the register filters — to run the built-in 10-site Finnish demo batch.",
            "items": {
              "type": "string"
            }
          },
          "registerLocations": {
            "title": "Register: location (kotipaikka / post town)",
            "type": "array",
            "description": "PRH register discovery. Towns as PRH stores them, e.g. \"Tampere\", \"Helsinki\", \"Oulu\" (case does not matter). Each value is one register query; combined with the other register filters as every combination.",
            "items": {
              "type": "string"
            }
          },
          "registerBusinessLines": {
            "title": "Register: business line (TOL 2025 code or text)",
            "type": "array",
            "description": "Main business line as a Statistics Finland TOL code or a Finnish word (\"ohjelmisto\"). PRH moved to TOL 2025 on 2026-01-01 (typeCodeSet TOIMI4): MEASURED in Tampere, the TOL 2025 code \"62100\" (computer programming) matches 813 companies while the old TOL 2008 \"62010\" matches 10 unreclassified ones. \"43220\" (plumbing, heating and air-conditioning installation) and \"69201\" (accounting) exist in both. A code shorter than five digits is re-applied as a true PREFIX, because PRH matches it as a substring (measured: \"62\" returned 86230 and 46220).",
            "items": {
              "type": "string"
            }
          },
          "registerCompanyForms": {
            "title": "Register: company form",
            "type": "array",
            "description": "PRH company-form codes. OY = limited company, OYJ = public limited company, KY = limited partnership, AY = general partnership, OK = co-operative. Leave empty for all forms.",
            "items": {
              "type": "string",
              "enum": [
                "OY",
                "OYJ",
                "KY",
                "AY",
                "OK",
                "SÄÄ",
                "SL",
                "VALTLL",
                "KOY",
                "AOY"
              ],
              "enumTitles": [
                "OY — limited company",
                "OYJ — public limited company",
                "KY — limited partnership",
                "AY — general partnership",
                "OK — co-operative",
                "SÄÄ — foundation",
                "SL — branch of a foreign trader",
                "VALTLL — state-owned company",
                "KOY — property company",
                "AOY — housing company"
              ]
            }
          },
          "registerPostCodes": {
            "title": "Register: post code",
            "type": "array",
            "description": "Five-digit Finnish post codes (visiting or postal address), e.g. \"00100\".",
            "items": {
              "type": "string"
            }
          },
          "registerName": {
            "title": "Register: company name contains",
            "type": "string",
            "description": "PRH name search (current, previous, parallel and auxiliary names)."
          },
          "registerRegisteredFrom": {
            "title": "Register: registered on or after",
            "type": "string",
            "description": "Company registration date from (YYYY-MM-DD). Measured: newly registered companies rarely list a website yet (8% of 500 Helsinki companies registered since 2026-06-01)."
          },
          "registerRegisteredTo": {
            "title": "Register: registered on or before",
            "type": "string",
            "description": "Company registration date to (YYYY-MM-DD)."
          },
          "maxRegisterCompanies": {
            "title": "Max register companies examined",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "Cap on PRH register rows read (100 per register request). Only active, non-housing companies WITH a registered website go on to a website read. Register rows are never billed.",
            "default": 2000
          },
          "excludeHousingCompanies": {
            "title": "Exclude housing & property companies",
            "type": "boolean",
            "description": "Skip asunto-osakeyhtiöt, kiinteistö osakeyhtiöt and similar. MEASURED: they register their PROPERTY MANAGER's website as their own, so the site's statutory block names another company; and the first 500 Rovaniemi register rows held 367 of them.",
            "default": true
          },
          "onlyActiveCompanies": {
            "title": "Only active companies",
            "type": "boolean",
            "description": "Skip register companies whose Business ID is not Valid, that are removed from or ceased in the trade register, or that are in liquidation, bankruptcy or re-organisation.",
            "default": true
          },
          "verifyAgainstRegister": {
            "title": "Verify each Y-tunnus in the PRH register (domain-list mode)",
            "type": "boolean",
            "description": "For every checksum-valid Y-tunnus read off a website, fetch its PRH record and add the register block: registered name, company form, TOL business line, status, VAT / employer registration, addresses — plus whether the website's name agrees with the register. Free and on by default; the register's own values never overwrite what the website printed.",
            "default": true
          },
          "requireRegisterMatch": {
            "title": "Only rows the register confirms",
            "type": "boolean",
            "description": "Domain-list mode: deliver (and bill) only rows whose Y-tunnus PRH returns and whose website name does not disagree with the register name.",
            "default": false
          },
          "startUrls": {
            "title": "Start URLs (list source)",
            "type": "array",
            "description": "The same domain list handed over as URLs, so Make, Zapier, Clay or a Google Sheet can pass it natively. Merged with the domain list.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "sourceDatasetId": {
            "title": "Enrich an existing dataset",
            "type": "string",
            "description": "Dataset ID of a previous Actor run. Each item's domain / website / verkkosivut column is read and enriched."
          },
          "domainFieldName": {
            "title": "Domain field / CSV column",
            "type": "string",
            "description": "Which field of the source dataset (or CSV column) holds the website. Leave empty to auto-detect domain / website / url / verkkosivut / kotisivu / www."
          },
          "domainsFileUrl": {
            "title": "Domain list file URL",
            "type": "string",
            "description": "URL of a CSV, TXT, JSON or JSONL file holding the websites."
          },
          "skipDomains": {
            "title": "Suppression list",
            "type": "array",
            "description": "Domains (or Y-tunnukset) to skip outright — existing customers, competitors, do-not-contact entries.",
            "items": {
              "type": "string"
            }
          },
          "previousDatasetId": {
            "title": "Skip rows already delivered (dataset ID)",
            "type": "string",
            "description": "Dataset ID of an earlier run of THIS Actor. Its stableId / businessId / domain values become a suppression list, so a re-run never re-delivers — and never re-charges you for — a company you already bought."
          },
          "maxItems": {
            "title": "Max results (billed rows)",
            "minimum": 0,
            "type": "integer",
            "description": "Hard cap on rows DELIVERED AND BILLED this run. 0 = unlimited.",
            "default": 1000
          },
          "maxDomains": {
            "title": "Max websites attempted",
            "minimum": 0,
            "type": "integer",
            "description": "Cap on websites ATTEMPTED (either mode), applied before any website request. 0 = no cap.",
            "default": 0
          },
          "maxDiscoveryRequestsPerDomain": {
            "title": "Max discovery requests per website",
            "minimum": 0,
            "maximum": 40,
            "type": "integer",
            "description": "Hard cap on requests per website after the homepage.",
            "default": 8
          },
          "maxPagesParsed": {
            "title": "Max pages parsed per website",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many pages may be parsed and merged for one website (homepage included). The Y-tunnus sits in the footer, on yhteystiedot, on toimitusehdot or in the tietosuojaseloste; 3 covers the measured spread.",
            "default": 3
          },
          "perDomainTimeoutSecs": {
            "title": "Per-website timeout (seconds)",
            "minimum": 5,
            "maximum": 600,
            "type": "integer",
            "description": "Wall-clock deadline for one website.",
            "default": 60
          },
          "requestConcurrency": {
            "title": "Request concurrency",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Websites worked in parallel. Lowered automatically, with a warning, if the run's memory cannot support it (~70 MB per parallel website).",
            "default": 10
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "Timeout for a single HTTP request.",
            "default": 25
          },
          "maxRequestRetries": {
            "title": "Max request retries",
            "minimum": 0,
            "maximum": 6,
            "type": "integer",
            "description": "Retries per request on a transient failure.",
            "default": 2
          },
          "discoveryChannels": {
            "title": "Discovery channels",
            "type": "array",
            "description": "How each website's statutory block is located. Ranked links use FINNISH scoring — yhteystiedot, toimitusehdot / tilausehdot, tietosuojaseloste, yritys / meistä — plus Swedish and English. The sitemap and WordPress index only run when the footer offered no candidate link.",
            "items": {
              "type": "string",
              "enum": [
                "homepage",
                "anchor",
                "sitemap",
                "wpJson",
                "pathGuess"
              ],
              "enumTitles": [
                "Homepage footer + JSON-LD (free)",
                "Ranked Finnish links (yhteystiedot / toimitusehdot / tietosuojaseloste)",
                "XML sitemap",
                "WordPress REST page index",
                "Guessed Finnish paths"
              ]
            },
            "default": [
              "homepage",
              "anchor",
              "sitemap",
              "wpJson"
            ]
          },
          "renderJsPages": {
            "title": "Render client-side pages in a real browser",
            "type": "boolean",
            "description": "A real Chromium for websites where plain HTTP found no statutory block and the homepage looks client-rendered. OFF by default (measured on the Swedish sibling at 3-4x the compute per website for a few per cent more rows). Needs at least 1536 MB of memory; below that it is disabled rather than risk an out-of-memory failure.",
            "default": false
          },
          "browserConcurrency": {
            "title": "Browser concurrency",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "How many Chromium contexts may render at once.",
            "default": 2
          },
          "browserWaitMs": {
            "title": "Browser settle time (ms)",
            "minimum": 0,
            "maximum": 15000,
            "type": "integer",
            "description": "Wait after DOM load (plus a scroll that mounts lazy footers) before reading a rendered page.",
            "default": 2500
          },
          "followWwwAndRootVariants": {
            "title": "Try www and apex variants",
            "type": "boolean",
            "description": "If the homepage fails, retry the other host form (www.x.fi <-> x.fi) before declaring the website unreachable.",
            "default": true
          },
          "deepJsDiscovery": {
            "title": "Deep JS fallback",
            "type": "boolean",
            "description": "Search the page's inline JSON and JavaScript bundles for a legal-page URL (up to 6 extra requests per website, browser-free).",
            "default": false
          },
          "respectRobotsTxt": {
            "title": "Respect robots.txt",
            "type": "boolean",
            "description": "Fetch and honour each site's robots.txt before requesting anything. Off by default.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Default: no proxy — requests go out directly from Apify's network (measured: 91% of live Finnish company sites answer that way), with one RESIDENTIAL (Finland) retry only when a site actually blocks. Supply your own proxy here to route every request through it.",
            "default": {
              "useApifyProxy": false
            }
          },
          "proxyCountry": {
            "title": "Proxy country",
            "enum": [
              "none",
              "FI",
              "SE",
              "DE"
            ],
            "type": "string",
            "description": "Force EVERY request through Apify RESIDENTIAL exit nodes in this country (metered per byte). Leave on None for direct requests with residential only as an escalation.",
            "default": "none"
          },
          "escalateToResidentialOnBlock": {
            "title": "Escalate to residential on a block",
            "type": "boolean",
            "description": "On a 403 / challenge (never on a dead host or a 404), retry the request once through Apify RESIDENTIAL + country FI.",
            "default": true
          },
          "escalateToUnblockerOnBlock": {
            "title": "Escalate to Apify Unblocker on a block",
            "type": "boolean",
            "description": "A second escalation for the Cloudflare-managed tail. Off by default because Unblocker requests are billed to your Apify account on top of the row price.",
            "default": false
          },
          "customUserAgent": {
            "title": "Custom User-Agent",
            "type": "string",
            "description": "Override the browser User-Agent sent on every request."
          },
          "extraHttpHeaders": {
            "title": "Extra HTTP headers",
            "type": "object",
            "description": "Additional request headers, merged over the defaults."
          },
          "tldFilterMode": {
            "title": "TLD filter mode",
            "enum": [
              "none",
              "include",
              "exclude"
            ],
            "type": "string",
            "description": "No TLD filter by default: Finnish companies trade on .com, .net and .eu as well as .fi.",
            "default": "none"
          },
          "tldFilter": {
            "title": "TLDs",
            "type": "array",
            "description": "The TLDs the mode above applies to, without the dot: fi, com, net.",
            "items": {
              "type": "string"
            }
          },
          "requireBusinessId": {
            "title": "Only rows with a Y-tunnus",
            "type": "boolean",
            "description": "Deliver (and bill) only rows carrying a Y-tunnus (from the website, or from the register in register mode).",
            "default": false
          },
          "requireContact": {
            "title": "Only rows with an email or phone",
            "type": "boolean",
            "description": "Deliver (and bill) only rows whose website gave an email or a phone number.",
            "default": false
          },
          "requireEmail": {
            "title": "Only rows with an email",
            "type": "boolean",
            "description": "Deliver (and bill) only rows whose website gave an email address.",
            "default": false
          },
          "excludeLiquidation": {
            "title": "Exclude liquidation / bankruptcy / re-organisation",
            "type": "boolean",
            "description": "Drop rows whose website states selvitystila / konkurssi / yrityssaneeraus, or whose PRH record carries one of those situations.",
            "default": false
          },
          "minFieldsRequired": {
            "title": "Minimum populated fields",
            "minimum": 0,
            "maximum": 16,
            "type": "integer",
            "description": "Quality floor: a row must carry at least this many of the 16 website value fields to be delivered and billed. 0 = no floor.",
            "default": 0
          },
          "emailPolicy": {
            "title": "Email policy",
            "enum": [
              "all",
              "role-only",
              "exclude-role"
            ],
            "type": "string",
            "description": "\"Role only\" keeps info@ / myynti@ / asiakaspalvelu@ style mailboxes; \"Exclude role\" keeps only named mailboxes.",
            "default": "all"
          },
          "dedupeBy": {
            "title": "Deduplicate by",
            "enum": [
              "ytunnus-then-domain",
              "domain",
              "ytunnus",
              "none"
            ],
            "type": "string",
            "description": "Which key collapses duplicates BEFORE anything is pushed or charged. Default: the Y-tunnus when there is a checksum-valid one (the register's in register mode), the registrable domain otherwise.",
            "default": "ytunnus-then-domain"
          },
          "validateTaxId": {
            "title": "Checksum-validate identifiers",
            "type": "boolean",
            "description": "Run the Y-tunnus mod-11 check digit (weights 7,9,10,5,8,4,2) on every Y-tunnus and on the digits of every FI VAT number, and emit the verdict.",
            "default": true
          },
          "extractOfficer": {
            "title": "Extract a named contact person",
            "type": "boolean",
            "description": "A toimitusjohtaja / yhteyshenkilö / omistaja named next to a label on the website.",
            "default": true
          },
          "extractSocials": {
            "title": "Extract social profiles",
            "type": "boolean",
            "description": "LinkedIn, Facebook, Instagram, X, YouTube and TikTok links on the pages read.",
            "default": true
          },
          "extractPolicyUrls": {
            "title": "Extract terms & privacy URLs",
            "type": "boolean",
            "description": "The site's toimitusehdot and tietosuojaseloste URLs.",
            "default": true
          },
          "includeMissRows": {
            "title": "Include unbilled miss rows",
            "type": "boolean",
            "description": "Emit a row for every website / register company that produced no billed lead — dead, blocked, parked, publishes nothing, belongs to another company, register row without a website, filtered, duplicate — with status and missReason. These rows are NEVER charged; in register mode they still carry the full PRH register block.",
            "default": false
          },
          "includeFieldSources": {
            "title": "Include per-field page URLs",
            "type": "boolean",
            "description": "A fieldSources object naming the exact page URL each field was read from.",
            "default": true
          },
          "flattenOutput": {
            "title": "Flat columns",
            "type": "boolean",
            "description": "On: one flat row for Sheets / Clay / CSV. Off: fields grouped into company, identifiers, contact, eInvoicing, register and meta objects.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}