# Broken Link Checker - Find 404s and Dead Links (`santamaria-automations/broken-link-checker`) Actor

Crawl any website and find broken links, 404 errors, redirect chains, timeouts, and SSL failures. Essential for SEO audits, QA, and content maintenance. Export data, run via API, schedule and monitor runs, or integrate with other tools.

- **URL**: https://apify.com/santamaria-automations/broken-link-checker.md
- **Developed by:** [Alessandro Santamaria](https://apify.com/santamaria-automations) (community)
- **Categories:** SEO tools, Developer tools
- **Stats:** 2 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 website checkeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Broken Link Checker

**Find every broken link on any website — 404s, redirects, SSL errors, timeouts.**

Point this actor at any domain and it will crawl internal pages, extract every link, image, stylesheet, script and iframe, then check each one over HTTP. You get back a clean dataset of broken links with status codes, redirect chains, response times and precise error classifications — ready for SEO reports, QA sign-off, or agency deliverables.

No browser, no JavaScript rendering, no heavy frameworks — just fast concurrent HTTP checks at machine speed.

### Features

- **Internal + external checking** — same-domain crawl plus outbound link validation
- **Every link type** — anchors, images, stylesheets, scripts, iframes
- **Smart HEAD → GET fallback** — fast by default, accurate when servers misbehave
- **Redirect chain capture** — see every hop in a 301 → 302 → 200 sequence
- **Precise error classification** — 404, 500, timeout, DNS, SSL, connection reset — each bucketed
- **Depth control** — crawl 1 page or 10 levels deep
- **robots.txt aware** — respects the site's crawl policy
- **Parallel requests** — configurable concurrency, defaults to 10
- **Per-site summary** — broken counts, most-broken page, status code breakdown
- **Fast & lightweight** — runs at minimal cost with no browser overhead

### Use with AI Agents (MCP)

Connect this actor to any MCP-compatible AI client — Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.

**Apify MCP server URL:**

````

https://mcp.apify.com?tools=santamaria-automations/broken-link-checker

````

**Example prompt once connected:**

> "Use `broken-link-checker` to process data with broken link checker. Return results as a table."

Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically via `add-actor`.

### Example Output

Running against a site with a broken image and a redirected outbound link returns records like:

```json
{
  "website": "https://example.com",
  "url": "https://cdn.example.com/images/hero.png",
  "source_page": "https://example.com/",
  "link_text": "Hero banner",
  "link_type": "image",
  "is_internal": false,
  "status_code": 404,
  "status_category": "client_error",
  "error": "",
  "response_time_ms": 142,
  "redirect_chain": [],
  "final_url": "https://cdn.example.com/images/hero.png",
  "checked_at": "2026-04-07T10:15:32Z"
}
````

A redirected link with the full chain:

```json
{
  "website": "https://example.com",
  "url": "http://oldblog.example.com/post-1",
  "source_page": "https://example.com/blog",
  "link_text": "Read the original post",
  "link_type": "anchor",
  "is_internal": false,
  "status_code": 200,
  "status_category": "ok",
  "response_time_ms": 318,
  "redirect_chain": [
    "https://oldblog.example.com/post-1",
    "https://blog.example.com/post-1",
    "https://blog.example.com/posts/post-1"
  ],
  "final_url": "https://blog.example.com/posts/post-1",
  "checked_at": "2026-04-07T10:15:33Z"
}
```

Plus one summary record per website:

```json
{
  "website": "https://example.com",
  "type": "summary",
  "total_links_checked": 842,
  "broken_count": 17,
  "redirect_count": 34,
  "timeout_count": 2,
  "external_broken": 12,
  "internal_broken": 5,
  "pages_crawled": 45,
  "most_broken_page": "https://example.com/resources",
  "broken_by_category": {
    "404": 13,
    "500": 1,
    "ssl_error": 1,
    "timeout": 2
  },
  "scraped_at": "2026-04-07T10:16:02Z"
}
```

### Input Parameters

| Parameter | Type | Default | Description |
|---|---|---|---|
| `websites` | array | **required** | Starting URLs to check. |
| `maxDepth` | integer | `2` | How many levels of internal links to follow. |
| `maxUrlsPerSite` | integer | `1000` | Safety cap on unique links per website. |
| `checkExternal` | boolean | `true` | Also validate links to other domains. |
| `followRedirects` | boolean | `true` | Follow 3xx chains up to 10 hops. |
| `respectRobotsTxt` | boolean | `true` | Honor the site's robots.txt. |
| `timeoutSeconds` | integer | `15` | Per-link HTTP timeout. |
| `concurrency` | integer | `10` | Parallel link checks. |
| `userAgent` | string | default bot UA | Custom User-Agent header. |
| `includeOK` | boolean | `false` | Include 200 OK links in output. |
| `proxyConfiguration` | object | disabled | Optional Apify proxy. |

### Use Cases

#### SEO Audits

Google penalizes sites with broken links and dead outbound references. Run this monthly against your whole site, filter the dataset by `status_category = "client_error"` or `"server_error"`, and ship a prioritized fix list to your content team.

#### Content Maintenance

Blog posts and documentation rot over time as linked sources disappear. Point the checker at `/blog/` and catch every dead reference before readers do.

#### Link Reclamation

Broken backlinks on other sites are gold — they point at pages that used to work. Run the checker against your own 404 log sources and prioritize outreach by the most-broken referring pages.

#### QA Testing

Pre-launch validation: before you push a new site live, run the checker with `maxDepth=5` against staging to catch every broken asset, dead internal link, and misconfigured CDN URL.

#### Agency Reporting

Automate monthly site health reports for clients. Combine the summary record with a dashboard and you've got a recurring deliverable that catches problems before clients do.

#### Post-Migration Checks

Site moved to a new CMS? Domain changed? Run the checker immediately after launch and diff against the pre-migration baseline to guarantee no page and no asset was lost in transit.

#### Competitor Intel

Run the checker against competitor domains and use their broken pages as your opportunity — broken content means abandoned topics, missing products, or outreach targets.

### Pricing

- **$0.001** per run start
- **$0.003** per website checked

Pricing is per website, not per link. Checking 10,000 links on one site costs the same as checking 10 — run it against large domains without worrying about a surprise bill. **100 sites ≈ $0.30.**

### Issues & Feedback

Found a bug or have a feature request? Please [open an issue](https://apify.com/santamaria-automations/ACTOR_ID_PLACEHOLDER/issues) on the actor page.

### Related Actors

- [Sitemap URL Discovery](https://apify.com/santamaria-automations/sitemap-url-discovery) — Extract every URL from any website via robots.txt and sitemap.xml parsing.
- [SEO Metadata Extractor](https://apify.com/santamaria-automations/seo-metadata-extractor) — Pull titles, meta tags, Open Graph, Twitter Cards, JSON-LD schema and SEO audit scores.
- [Website Tech Stack Detector](https://apify.com/santamaria-automations/website-tech-detector) — Identify the CMS, frameworks, analytics and hosting behind any site.
- [SSL Certificate Inspector](https://apify.com/santamaria-automations/ssl-certificate-inspector) — Inspect TLS certificates, expiry dates and chain configuration for any host.

# Actor input Schema

## `websites` (type: `array`):

List of starting URLs to check. You can provide bare domains (example.com) or full URLs (https://example.com/blog). Each website is crawled independently and gets its own summary record.

## `maxDepth` (type: `integer`):

How many levels of internal links to follow from the seed URL. Depth 0 = only the seed page, depth 1 = seed + pages it links to, depth 2 = two hops, etc. External links are always checked but never crawled.

## `maxUrlsPerSite` (type: `integer`):

Safety cap on the number of unique links checked per website. Prevents runaway jobs on very large sites. Increase for full audits, decrease for quick sanity checks.

## `checkExternal` (type: `boolean`):

Also check links that point to other domains (ads, partners, sources, CDNs). Disable to only check links within the same domain as the seed URL.

## `followRedirects` (type: `boolean`):

Follow 3xx redirects up to 10 hops and record the full redirect chain. Disable to treat any 3xx as a standalone result and stop at the first hop.

## `respectRobotsTxt` (type: `boolean`):

Honor the robots.txt of each target site and skip URLs the site asks bots not to crawl.

## `timeoutSeconds` (type: `integer`):

HTTP timeout applied to every link check. Links that take longer than this are classified as 'timeout'.

## `concurrency` (type: `integer`):

Number of parallel link checks. Higher values check more links per second but put more load on the target server.

## `userAgent` (type: `string`):

Custom User-Agent header sent with every request. Leave empty to use the default bot identifier.

## `includeOK` (type: `boolean`):

Include links that returned 2xx OK in the output. By default only broken links and redirects are emitted to keep the dataset small.

## `proxyConfiguration` (type: `object`):

Optional Apify proxy settings. Most public sites work fine without proxy -- enable only if you hit rate limits.

## Actor input object example

```json
{
  "websites": [
    "https://www.apify.com"
  ],
  "maxDepth": 2,
  "maxUrlsPerSite": 1000,
  "checkExternal": true,
  "followRedirects": true,
  "respectRobotsTxt": true,
  "timeoutSeconds": 15,
  "concurrency": 10,
  "includeOK": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `links` (type: `string`):

Dataset of all checked links with status codes, categories, redirect chains, and per-site summaries.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "websites": [
        "https://www.apify.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("santamaria-automations/broken-link-checker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "websites": ["https://www.apify.com"] }

# Run the Actor and wait for it to finish
run = client.actor("santamaria-automations/broken-link-checker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "websites": [
    "https://www.apify.com"
  ]
}' |
apify call santamaria-automations/broken-link-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=santamaria-automations/broken-link-checker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Broken Link Checker - Find 404s and Dead Links",
        "description": "Crawl any website and find broken links, 404 errors, redirect chains, timeouts, and SSL failures. Essential for SEO audits, QA, and content maintenance. Export data, run via API, schedule and monitor runs, or integrate with other tools.",
        "version": "1.0",
        "x-build-id": "2m7n2Fs6b3ybybJCt"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/santamaria-automations~broken-link-checker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-santamaria-automations-broken-link-checker",
                "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/santamaria-automations~broken-link-checker/runs": {
            "post": {
                "operationId": "runs-sync-santamaria-automations-broken-link-checker",
                "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/santamaria-automations~broken-link-checker/run-sync": {
            "post": {
                "operationId": "run-sync-santamaria-automations-broken-link-checker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "websites"
                ],
                "properties": {
                    "websites": {
                        "title": "Websites",
                        "type": "array",
                        "description": "List of starting URLs to check. You can provide bare domains (example.com) or full URLs (https://example.com/blog). Each website is crawled independently and gets its own summary record.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxDepth": {
                        "title": "Max Crawl Depth",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "How many levels of internal links to follow from the seed URL. Depth 0 = only the seed page, depth 1 = seed + pages it links to, depth 2 = two hops, etc. External links are always checked but never crawled.",
                        "default": 2
                    },
                    "maxUrlsPerSite": {
                        "title": "Max URLs per Site",
                        "minimum": 1,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Safety cap on the number of unique links checked per website. Prevents runaway jobs on very large sites. Increase for full audits, decrease for quick sanity checks.",
                        "default": 1000
                    },
                    "checkExternal": {
                        "title": "Check External Links",
                        "type": "boolean",
                        "description": "Also check links that point to other domains (ads, partners, sources, CDNs). Disable to only check links within the same domain as the seed URL.",
                        "default": true
                    },
                    "followRedirects": {
                        "title": "Follow Redirects",
                        "type": "boolean",
                        "description": "Follow 3xx redirects up to 10 hops and record the full redirect chain. Disable to treat any 3xx as a standalone result and stop at the first hop.",
                        "default": true
                    },
                    "respectRobotsTxt": {
                        "title": "Respect robots.txt",
                        "type": "boolean",
                        "description": "Honor the robots.txt of each target site and skip URLs the site asks bots not to crawl.",
                        "default": true
                    },
                    "timeoutSeconds": {
                        "title": "Timeout (seconds)",
                        "minimum": 2,
                        "maximum": 120,
                        "type": "integer",
                        "description": "HTTP timeout applied to every link check. Links that take longer than this are classified as 'timeout'.",
                        "default": 15
                    },
                    "concurrency": {
                        "title": "Concurrency",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Number of parallel link checks. Higher values check more links per second but put more load on the target server.",
                        "default": 10
                    },
                    "userAgent": {
                        "title": "User Agent",
                        "type": "string",
                        "description": "Custom User-Agent header sent with every request. Leave empty to use the default bot identifier."
                    },
                    "includeOK": {
                        "title": "Include OK Links",
                        "type": "boolean",
                        "description": "Include links that returned 2xx OK in the output. By default only broken links and redirects are emitted to keep the dataset small.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Optional Apify proxy settings. Most public sites work fine without proxy -- enable only if you hit rate limits.",
                        "default": {
                            "useApifyProxy": 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
                                    }
                                }
                            },
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
