# Bulk URL Unshortener — Redirect Chain Resolver (`logiover/bulk-url-unshortener`) Actor

Resolve thousands of shortened URLs at once — bit.ly, t.co, ow.ly, TinyURL and every shortener. Traces the full redirect chain (every hop, status code, redirect type) and returns the final URL, latency and intermediate destinations. No API key, export to CSV or JSON.

- **URL**: https://apify.com/logiover/bulk-url-unshortener.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Developer tools, SEO tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## Bulk URL Unshortener 🔗 — Redirect Chain Resolver

**Resolve thousands of shortened URLs in a single run.** This **bulk URL unshortener** takes your list of short links — **bit.ly, t.co, ow.ly, TinyURL, short.link** and every other URL shortener — and follows every redirect hop until the final destination. Each hop is logged with its **HTTP status code, redirect type (permanent/temporary), next URL and per-hop latency**.

Every short link expands to one row with the **full redirect chain** as structured JSON, the hop count, the final URL and total resolution time. **No API key, no captcha solver, no headless browser** — pure HTTP HEAD requests. Paste a few hundred short links and get thousands of rows of redirection intelligence.

> Looking for a **URL expander**, a **short link resolver**, a **redirect chain tracer**, or a **free URL unshortener API**? This actor resolves them all at scale.

---

### ✨ Key features

- 🔗 **Resolve any shortener** — bit.ly, t.co, ow.ly, TinyURL, short.link, Rebrandly, and every custom short domain.
- 🧭 **Full redirect chain** — every hop captured: URL, status code, redirect type (301/302/303/307/308) and next URL.
- 🧵 **Chain URLs as text** — comma-separated list of all URLs in the chain for quick scanning.
- ⏱️ **Per-hop latency** — every hop records its round-trip time; total latency for the full chain also captured.
- 📊 **One row per URL** — each input URL gets one row with all chain details in structured JSON.
- 🧹 **Protocol auto-fix** — `bit.ly/xyz` is automatically upgraded to `https://bit.ly/xyz`.
- ⚡ **High concurrency** — configurable parallel resolution (default 20, up to 100).
- 🛡️ **Loop prevention** — configurable max redirects (default 15); stops cleanly rather than following infinite chains.
- 🔑 **No API key** — uses standard HTTP HEAD requests; no external service needed.

### 💡 Use cases

- **Security / phishing analysis** — trace where a suspicious short link actually leads without opening it in a browser.
- **Digital forensics & OSINT** — map redirection chains across campaigns, ad networks and tracking links.
- **Marketing link audit** — verify that shortened links in emails, social posts and ads still point to the correct destination.
- **SEO audit** — confirm that short links used in backlinks and social profiles resolve to the right canonical URLs.
- **Brand protection** — scan for short links that impersonate your brand and trace where they redirect.
- **Data enrichment** — append resolved destinations to large URL datasets for content categorization.

### 📦 What you get

Each row in the dataset is **one shortened URL fully traced**:

| Field | Description |
|-------|-------------|
| `originalUrl` | The short URL that was submitted |
| `finalUrl` | The final resolved URL after following all redirects |
| `isShortened` | `true` if at least one redirect was followed, `false` if the URL was already the final destination |
| `hopCount` | Number of redirect hops traversed |
| `redirectChain` | Full chain as a JSON array — each hop has `url`, `statusCode`, `redirectType`, `nextUrl`, `latencyMs` |
| `chainUrls` | Comma-separated list of all URLs in the redirect chain (in traversal order) |
| `totalLatencyMs` | Total round-trip time in milliseconds for the full resolution |
| `statusCode` | HTTP status code of the final destination |
| `error` | Error message if resolution failed (timeout, DNS, TLS, etc.) |
| `resolvedAt` | ISO 8601 timestamp of when the resolution was performed |

#### Example output

```json
[
  {
    "originalUrl": "https://bit.ly/3abcXYZ",
    "finalUrl": "https://example.com/landing-page?utm_source=twitter",
    "isShortened": "true",
    "hopCount": "2",
    "redirectChain": "[{\"url\":\"https://bit.ly/3abcXYZ\",\"statusCode\":301,\"redirectType\":\"permanent\",\"nextUrl\":\"https://example.com/lp\",\"latencyMs\":95},{\"url\":\"https://example.com/lp\",\"statusCode\":302,\"redirectType\":\"temporary\",\"nextUrl\":\"https://example.com/landing-page?utm_source=twitter\",\"latencyMs\":42}]",
    "chainUrls": "https://bit.ly/3abcXYZ, https://example.com/lp",
    "totalLatencyMs": "162",
    "statusCode": "200",
    "resolvedAt": "2026-06-24T12:00:00.000Z"
  },
  {
    "originalUrl": "https://t.co/xyz789",
    "finalUrl": "https://github.com/logiover",
    "isShortened": "true",
    "hopCount": "2",
    "redirectChain": "[{\"url\":\"https://t.co/xyz789\",\"statusCode\":301,\"redirectType\":\"permanent\",\"nextUrl\":\"https://github.com/logiover\",\"latencyMs\":210}]",
    "chainUrls": "https://t.co/xyz789",
    "totalLatencyMs": "245",
    "statusCode": "200",
    "resolvedAt": "2026-06-24T12:00:01.000Z"
  }
]
````

### 🚀 How to use it

1. Click **Try for free / Start**.
2. Paste your list of short URLs into **URLs to Unshorten** — one per line.
3. (Optional) Adjust **Max Redirects** and **Max Concurrency** for large lists.
4. Click **Save & Start**, then export the dataset as **JSON, CSV, Excel or via API**. Filter by `hopCount` or `isShortened`.

### ⚙️ Input

| Field | Type | Description | Default |
|-------|------|-------------|---------|
| `urls` | array (required) | Shortened URLs to resolve. Any URL works — shortened or not. | – |
| `maxRedirects` | integer | Maximum redirect hops to follow per URL before stopping. | `15` (max `30`) |
| `maxConcurrency` | integer | Parallel resolution. Higher is faster. | `20` (max `100`) |
| `proxyConfiguration` | object | Proxy used for the HTTP requests. | Apify Proxy (datacenter) |

#### Example input

```json
{
  "urls": ["https://bit.ly/3abc", "https://t.co/xyz", "https://tinyurl.com/example"],
  "maxRedirects": 15,
  "maxConcurrency": 20,
  "proxyConfiguration": { "useApifyProxy": true }
}
```

### 🔍 How it works

For each URL, the actor sends an **HTTP HEAD request** with `followRedirect: false`. When a 3xx status code with a `Location` header is returned, the hop is logged and the actor follows to the next URL. Each hop measures its own latency individually, and the process repeats until:

- A non-redirect status (2xx, 4xx, 5xx) is returned → this is the final destination.
- The max redirect limit is reached → the chain is cut and the last URL is recorded as final.
- A network/timeout/DNS error occurs → the resolution fails gracefully with an `error` field.

Using **HEAD instead of GET** makes resolution fast — we don't download any page content, just the HTTP response headers. This means thousands of short links can be resolved per run with minimal bandwidth.

### 🧰 Tips & best practices

- Paste full short URLs including `https://` — if you omit it the actor adds it automatically.
- Use the **Max Redirects** field to cap resolution depth and avoid infinite redirect loops.
- Increase **Max Concurrency** for very large lists; keep Apify Proxy enabled to avoid per-IP rate limiting from shorteners.
- Parse the `redirectChain` JSON to extract per-hop details for forensic or audit workflows.
- Filter by `isShortened: "false"` to find URLs that are already direct (no redirection).
- Export to CSV/Excel and sort by `totalLatencyMs` descending to find slow redirect chains.

### ❓ FAQ

#### How do I resolve many short URLs at once?

Paste your full list of short links into the **URLs** field and run the actor once. It follows every redirect chain in parallel and returns one row per URL with the full chain captured.

#### Can I trace the full redirect path?

Yes — the `redirectChain` field contains structured JSON with every hop: the URL at each step, its HTTP status code, whether the redirect was permanent or temporary, the next URL it pointed to, and the latency of that individual hop.

#### Is this a free URL unshortener API without a key?

There's no API key to manage. The actor uses standard HTTP HEAD requests — no external unshortening service, no captcha solving, no headless browser. Just provide URLs and run.

#### Does it handle t.co / X (Twitter) short links?

Yes — t.co links are standard HTTP redirects and resolve cleanly. The actor handles 301/302/303/307/308 redirects from any shortener, including t.co, bit.ly, ow.ly, TinyURL, Rebrandly, and custom short domains.

#### What if a short link redirects many times?

The `maxRedirects` setting (default 15) caps the number of hops. If the limit is reached, the chain is cut and the last URL is reported as the final destination. No infinite loops.

#### Can I export resolved URLs to CSV or JSON?

Yes — download the dataset as **CSV, JSON or Excel**, or pull it through the REST API.

### 🔗 Related actors by the same author

- **[Bulk URL Status Checker](https://apify.com/logiover/bulk-url-status-checker)** — HTTP status codes, broken link detection and response times for large URL lists.
- **[Bulk HTTP Security Headers Analyzer](https://apify.com/logiover/bulk-http-security-headers)** — scan CSP, HSTS, X-Frame-Options and score security posture.
- **[Bulk DNS Records Lookup](https://apify.com/logiover/bulk-dns-records-lookup)** — A, AAAA, MX, TXT, NS, CNAME, SOA, CAA for thousands of domains.
- **[Website Contact Scraper](https://apify.com/logiover/website-contact-scraper)** — extract emails, phones and social profiles from websites.

### 📝 Changelog

#### 2026-06-24

- Initial release — bulk URL unshortening with full redirect chain tracing, hop-by-hop latency, no API key, CSV/JSON export.

# Actor input Schema

## `urls` (type: `array`):

List of shortened URLs to resolve. Paste one per line — bit.ly, t.co, ow.ly, tinyurl.com, short links from any service. Regular (non-shortened) URLs are resolved too, returning the full redirect chain if any.

## `maxRedirects` (type: `integer`):

Maximum number of redirects to follow per URL before stopping. Prevents infinite loops.

## `maxConcurrency` (type: `integer`):

How many URLs to resolve in parallel. Higher is faster.

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

Proxy used for the HTTP requests. Recommended to avoid IP-based rate limiting from shorteners.

## Actor input object example

```json
{
  "urls": [
    "http://github.com",
    "http://example.com",
    "https://httpbin.org/redirect/2"
  ],
  "maxRedirects": 15,
  "maxConcurrency": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

The dataset containing one row per URL with the full redirect chain, final URL, hop count and per-hop latency.

# 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 = {
    "urls": [
        "http://github.com",
        "http://example.com",
        "https://httpbin.org/redirect/2"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/bulk-url-unshortener").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 = { "urls": [
        "http://github.com",
        "http://example.com",
        "https://httpbin.org/redirect/2",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("logiover/bulk-url-unshortener").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 '{
  "urls": [
    "http://github.com",
    "http://example.com",
    "https://httpbin.org/redirect/2"
  ]
}' |
apify call logiover/bulk-url-unshortener --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=logiover/bulk-url-unshortener",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Bulk URL Unshortener — Redirect Chain Resolver",
        "description": "Resolve thousands of shortened URLs at once — bit.ly, t.co, ow.ly, TinyURL and every shortener. Traces the full redirect chain (every hop, status code, redirect type) and returns the final URL, latency and intermediate destinations. No API key, export to CSV or JSON.",
        "version": "1.0",
        "x-build-id": "paKfV8YLCcutIXfWF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~bulk-url-unshortener/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-bulk-url-unshortener",
                "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/logiover~bulk-url-unshortener/runs": {
            "post": {
                "operationId": "runs-sync-logiover-bulk-url-unshortener",
                "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/logiover~bulk-url-unshortener/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-bulk-url-unshortener",
                "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": [
                    "urls"
                ],
                "properties": {
                    "urls": {
                        "title": "URLs to Unshorten",
                        "type": "array",
                        "description": "List of shortened URLs to resolve. Paste one per line — bit.ly, t.co, ow.ly, tinyurl.com, short links from any service. Regular (non-shortened) URLs are resolved too, returning the full redirect chain if any.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxRedirects": {
                        "title": "Max Redirects to Follow",
                        "minimum": 1,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Maximum number of redirects to follow per URL before stopping. Prevents infinite loops.",
                        "default": 15
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "How many URLs to resolve in parallel. Higher is faster.",
                        "default": 20
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy used for the HTTP requests. Recommended to avoid IP-based rate limiting from shorteners.",
                        "default": {
                            "useApifyProxy": 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
                                    }
                                }
                            },
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
