{
  "openapi": "3.0.1",
  "info": {
    "title": "SeLoger Scraper: Listings, Prices and Agencies",
    "description": "Scrape SeLoger property ads for sale and rent by town, postal code or filters, or paste search links, no login. Rows carry price, price per m2, surface, rooms, DPE, place, photos and the agency's name, phone and SIRET. Read agencies, monitor new ads and price changes; JSON, CSV or API.",
    "version": "0.1",
    "x-build-id": "2bsGzmof632ORFVLg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~seloger-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-seloger-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/automation_craft~seloger-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-seloger-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/automation_craft~seloger-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-seloger-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": {
          "places": {
            "title": "Places",
            "type": "array",
            "description": "Towns, arrondissements, neighbourhoods, departments, regions or postal codes, as you would type them on SeLoger: Paris, Paris 18e, Lyon 3e, Montmartre, Gironde, Bretagne, 75018, 33 (a department number), Saint-Denis (93). A name must match exactly one SeLoger place (add the department or postal code when several share it); a name that matches none or several gives a free row with the candidates. SeLoger place codes (AD08FR31096) are accepted too.",
            "items": {
              "type": "string"
            }
          },
          "transaction": {
            "title": "Buy or rent",
            "enum": [
              "buy",
              "rent"
            ],
            "type": "string",
            "description": "Ads for sale or for rent. Default buy."
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Default apartment and house.",
            "items": {
              "type": "string",
              "enum": [
                "apartment",
                "house",
                "parking",
                "plot",
                "building",
                "other",
                "office",
                "retail",
                "warehouse",
                "hotel_restaurant",
                "agricultural"
              ],
              "enumTitles": [
                "Apartment",
                "House",
                "Parking or garage",
                "Plot of land",
                "Building",
                "Other (divers)",
                "Office",
                "Retail or business premises",
                "Warehouse or workshop",
                "Hotel or restaurant",
                "Agricultural or forest"
              ]
            }
          },
          "projectTypes": {
            "title": "Project types",
            "type": "array",
            "description": "For sale: resale, new_build, life_annuity, investment, construction_project. For rent: standard, flatsharing, short_term. Default every kind.",
            "items": {
              "type": "string",
              "enum": [
                "resale",
                "new_build",
                "life_annuity",
                "investment",
                "construction_project",
                "standard",
                "flatsharing",
                "short_term"
              ],
              "enumTitles": [
                "Resale (ancien)",
                "New build (neuf)",
                "Life annuity (viager)",
                "Investment",
                "Construction project",
                "Standard rental",
                "Flatsharing (colocation)",
                "Short term rental"
              ]
            }
          },
          "minPrice": {
            "title": "Minimum price (EUR)",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "The lowest price, in euros (the monthly rent for rentals)."
          },
          "maxPrice": {
            "title": "Maximum price (EUR)",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "The highest price, in euros (the monthly rent for rentals)."
          },
          "minPricePerSqm": {
            "title": "Minimum price per m2 (EUR)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "The lowest price per square metre, checked on every row (SeLoger's own figure, else the price divided by the surface). An ad without a price per m2 is left out, free."
          },
          "maxPricePerSqm": {
            "title": "Maximum price per m2 (EUR)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "The highest price per square metre, checked on every row. An ad without a price per m2 is left out, free."
          },
          "minSurface": {
            "title": "Minimum surface (m2)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "The smallest living surface in square metres."
          },
          "maxSurface": {
            "title": "Maximum surface (m2)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "The largest living surface in square metres."
          },
          "minPlotSurface": {
            "title": "Minimum plot surface (m2)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "The smallest plot of land in square metres."
          },
          "maxPlotSurface": {
            "title": "Maximum plot surface (m2)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "The largest plot of land in square metres."
          },
          "minRooms": {
            "title": "Minimum rooms (pièces)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "The fewest rooms."
          },
          "maxRooms": {
            "title": "Maximum rooms (pièces)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "The most rooms."
          },
          "minBedrooms": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "The fewest bedrooms."
          },
          "maxBedrooms": {
            "title": "Maximum bedrooms",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "The most bedrooms."
          },
          "minYearBuilt": {
            "title": "Built in or after",
            "minimum": 1000,
            "maximum": 2100,
            "type": "integer",
            "description": "The earliest year of construction."
          },
          "maxYearBuilt": {
            "title": "Built in or before",
            "minimum": 1000,
            "maximum": 2100,
            "type": "integer",
            "description": "The latest year of construction."
          },
          "energyClasses": {
            "title": "Energy classes (DPE)",
            "type": "array",
            "description": "Only ads with one of these energy performance classes (DPE).",
            "items": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ],
              "enumTitles": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ]
            }
          },
          "features": {
            "title": "Features",
            "type": "array",
            "description": "Only ads with every one of these features.",
            "items": {
              "type": "string",
              "enum": [
                "balcony_terrace",
                "garden",
                "parking_garage",
                "equipped_kitchen",
                "cellar",
                "vacant",
                "reduced_mobility_access",
                "elevator",
                "commission_free",
                "swimming_pool",
                "exclusive",
                "houseboat"
              ],
              "enumTitles": [
                "Balcony or terrace",
                "Garden",
                "Parking or garage",
                "Equipped kitchen",
                "Cellar",
                "Vacant (libre)",
                "Reduced mobility access",
                "Elevator",
                "No agency fees",
                "Swimming pool",
                "Exclusive",
                "Houseboat"
              ]
            }
          },
          "heatingTypes": {
            "title": "Heating",
            "type": "array",
            "description": "Only ads with one of these heating types.",
            "items": {
              "type": "string",
              "enum": [
                "heat_pump",
                "underfloor",
                "central",
                "solar_power",
                "solar_heat",
                "photovoltaic_panels",
                "thermic_panels",
                "storey"
              ],
              "enumTitles": [
                "Heat pump",
                "Underfloor",
                "Central",
                "Solar power",
                "Solar heat",
                "Photovoltaic panels",
                "Thermal panels",
                "Individual (storey)"
              ]
            }
          },
          "floors": {
            "title": "Floors",
            "type": "array",
            "description": "Which floors to include (SeLoger's own floor choice).",
            "items": {
              "type": "string",
              "enum": [
                "ground_floor",
                "top_floor",
                "other"
              ],
              "enumTitles": [
                "Ground floor",
                "Top floor",
                "Other floors"
              ]
            }
          },
          "furnished": {
            "title": "Furnished (rentals)",
            "enum": [
              "any",
              "furnished",
              "unfurnished"
            ],
            "type": "string",
            "description": "Rentals only."
          },
          "availableBefore": {
            "title": "Available before (rentals)",
            "type": "string",
            "description": "Rentals available on or before this date (YYYY-MM-DD)."
          },
          "sellerType": {
            "title": "Seller",
            "enum": [
              "any",
              "private",
              "professional"
            ],
            "type": "string",
            "description": "Private sellers or professionals only."
          },
          "needsRenovation": {
            "title": "Needs renovation only",
            "type": "boolean",
            "description": "Only ads SeLoger marks as needing renovation."
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Words SeLoger looks for in the whole ad text (piscine, terrasse, vue mer). Up to 10, each up to 60 characters.",
            "items": {
              "type": "string"
            }
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Only ads first published in the last N days. The search is read newest first and stops at the first page older than that."
          },
          "postedWithinHours": {
            "title": "Posted within (hours)",
            "minimum": 1,
            "maximum": 8760,
            "type": "integer",
            "description": "Only ads first published in the last N hours (instead of days). The search is read newest first and stops at the first page older than that. Not with a monitor, which reads every ad updated since its last run."
          },
          "minDaysOnMarket": {
            "title": "On the market for at least (days)",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Only ads first published at least N days ago: the listings that have not sold or let yet. Each row also carries daysOnMarket."
          },
          "withPhoneOnly": {
            "title": "With a phone number only",
            "type": "boolean",
            "description": "Only ads whose card shows a phone number."
          },
          "withPhotosOnly": {
            "title": "With photos only",
            "type": "boolean",
            "description": "Only ads that show at least one photo."
          },
          "excludeAdIds": {
            "title": "Ads to leave out",
            "type": "array",
            "description": "SeLoger ad ids or links you already have; they are skipped, free. Up to 10,000.",
            "items": {
              "type": "string"
            }
          },
          "excludeDatasetIds": {
            "title": "Datasets of ads to leave out",
            "type": "array",
            "description": "Ids of your Apify datasets (an earlier run of this Actor, or any dataset whose rows carry a SeLoger ad id or link in \"id\" or \"url\"): their ads are skipped, free. Up to 10 datasets and 200,000 ads; a dataset that cannot be read stops the run before any paid work. Only the datasets picked here are readable to the run (limited permissions)."
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "newest",
              "oldest",
              "relevance",
              "price_low",
              "price_high",
              "price_per_sqm_low",
              "price_per_sqm_high",
              "surface_low",
              "surface_high",
              "rooms_low",
              "rooms_high"
            ],
            "type": "string",
            "description": "The order of a search. Newest first sorts on the ad's last update; oldest first reads a search of up to 10,000 ads from its last page back (SeLoger has no such order of its own), a larger one in price order. Past the first 10,000 ads of one order the search goes on in price order. A pasted link keeps its own order unless you set one here. Default newest first."
          },
          "maxItems": {
            "title": "Maximum rows",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The most paid rows the run delivers (ad rows, price change and removed rows, agency rows together). Default 100."
          },
          "maxItemsPerSearch": {
            "title": "Maximum rows per search",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The most rows one search, link, agency or directory town delivers."
          },
          "maxPagesPerSearch": {
            "title": "Maximum results pages per search",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "The most results pages (up to 100 ads each) one search reads."
          },
          "searchUrls": {
            "title": "SeLoger search links",
            "type": "array",
            "description": "Search links copied from seloger.com: a filtered search (https://www.seloger.com/classified-search?...) or a search page (https://www.seloger.com/recherche/achat/appartement/...). Every page is read. A link that carries a parameter SeLoger's search does not know, or a page above 1, is refused with a free row.",
            "items": {
              "type": "string"
            }
          },
          "adUrls": {
            "title": "Ad links or ids",
            "type": "array",
            "description": "Ads to read directly: seloger.com ad links, Belles Demeures, SeLoger Neuf, SeLoger Bureaux & Commerces and SeLoger Construire ad links, 12 character SeLoger ids or the older numeric ids. An ad SeLoger no longer has is a free row. Up to 5,000.",
            "items": {
              "type": "string"
            }
          },
          "agencyUrls": {
            "title": "Agency links",
            "type": "array",
            "description": "Agency pages on SeLoger (https://www.seloger.com/professionnels-immobilier/<id>) or their ids. Each gives one agency row and, with the switch below, the agency's ads.",
            "items": {
              "type": "string"
            }
          },
          "includeAgencyListings": {
            "title": "Also deliver the agency's ads",
            "type": "boolean",
            "description": "For each agency link, also deliver the ads its page lists (its default list: for sale, else for rent). Default on."
          },
          "agencyDirectory": {
            "title": "Agency directory towns",
            "type": "array",
            "description": "Towns whose real estate agencies you want (Bordeaux, Lyon) or SeLoger directory links (https://www.seloger.com/annuaire/bordeaux-33000/). Every agency of the town's directory gives one agency row.",
            "items": {
              "type": "string"
            }
          },
          "agencyNameContains": {
            "title": "Agency name contains",
            "type": "string",
            "description": "Agency links and the directory: only agencies whose name contains this text (any case, accents ignored)."
          },
          "agencyNetwork": {
            "title": "Agency network",
            "type": "string",
            "description": "Agency links and the directory: only agencies of this network or franchise (Century 21, Orpi, Laforêt), as SeLoger names it."
          },
          "agenciesWithPhoneOnly": {
            "title": "Agencies with a phone number only",
            "type": "boolean",
            "description": "Agency links and the directory: only agencies whose page shows a phone number."
          },
          "agenciesWithEmailOnly": {
            "title": "Agencies with an e-mail only",
            "type": "boolean",
            "description": "Agency links and the directory: only agencies whose page shows an e-mail address."
          },
          "includeDetails": {
            "title": "Listing details",
            "type": "boolean",
            "description": "Read each delivered ad's full record: the whole description, GPS position (of the address when published, else the centre of the area SeLoger shows), DPE and GES with figures and the energy bill estimate, co-ownership lots, charges and procedures, the price breakdown with fees, deposit and notary estimate, features, schools, the area's price per m2, floor plans and virtual tours. Billed as Listing details per row."
          },
          "includeAgencyProfiles": {
            "title": "Agency profiles on ad rows",
            "type": "boolean",
            "description": "Add the agency's public profile to its ad rows: contact e-mail and phone, opening hours, rating, reviews, listing counts. Read and billed once per agency per run, with its first row."
          },
          "includePersonalData": {
            "title": "Include personal data",
            "type": "boolean",
            "description": "Off by default. On: a private seller's shown name and phone numbers (privateSellerName, privateSellerPhones), an agent's own name on agency ads (contactName) and an agency's team members (teamMembers) are delivered as SeLoger shows them logged out. Off: those fields are empty. Titles, descriptions, reviews and every other text are delivered exactly as SeLoger serves them, on or off. You are responsible for using personal data lawfully (GDPR included)."
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "A short name of your choice (letters, digits, spaces and . _ , - : # ( ), up to 60 characters). One name belongs to one set of settings."
          },
          "trackChanges": {
            "title": "Track changes and removals",
            "type": "boolean",
            "description": "With a monitor: an ad it delivered before whose price (or another watched field, below) changed is delivered again with what changed, an ad SeLoger no longer serves is reported as removed and a removed ad that comes back as reappeared (all billed as Listing). Removals need every id of the searches listed each run, every results page billed."
          },
          "changeFields": {
            "title": "Changes to watch",
            "type": "array",
            "description": "With trackChanges: which changes of a known ad deliver it again (billed as Listing). A price change row carries the previous price, the change in euros and percent and the price history. Default price only.",
            "items": {
              "type": "string",
              "enum": [
                "price",
                "surface",
                "rooms",
                "bedrooms",
                "energy_class",
                "floor",
                "description",
                "photos"
              ],
              "enumTitles": [
                "Price",
                "Surface",
                "Rooms",
                "Bedrooms",
                "Energy class",
                "Floor",
                "Description",
                "Photos"
              ]
            }
          },
          "includeUnchanged": {
            "title": "Also deliver unchanged ads",
            "type": "boolean",
            "description": "With trackChanges: known ads met again without a watched change are delivered too, free, marked unchanged (they never count toward the maximum)."
          },
          "webhookUrl": {
            "title": "Webhook address",
            "type": "string",
            "description": "An https address the run posts its new rows to (JSON, up to 100 rows a call, at most 1,000 a run, with a plain text summary in the field \"text\" that Slack and Mattermost incoming webhooks show)."
          },
          "webhookSecret": {
            "title": "Webhook secret",
            "type": "string",
            "description": "Optional: each call then carries an x-signature-sha256 header, the HMAC SHA-256 of the body with this secret (16 to 200 letters, digits and - _ . ~, with at least one letter and one digit)."
          },
          "telegramBotToken": {
            "title": "Telegram bot token",
            "type": "string",
            "description": "Your own bot's token from BotFather; the run sends one message per new row (at most 30)."
          },
          "telegramChatId": {
            "title": "Telegram chat id",
            "type": "string",
            "description": "The chat id (a number) or channel name (@name) your bot posts to."
          },
          "failIfIncomplete": {
            "title": "Fail the run when something was not read",
            "type": "boolean",
            "description": "Mark the run failed when a search, link or agency could not be read to its end for a reason other than your own limits. The rows delivered stay."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify residential proxies are used by default and included in the price (Germany unless you choose a country). SeLoger refuses datacenter addresses, so other Apify groups are refused; your own proxy links (http://user:password@host:port, the password 12 characters or more with letters and digits, no space) can be given instead."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}