# Website Email Extractor (`mukeshrana90/website-email-extractor`) Actor

Crawls websites and extracts contact emails from contact, about, team, and agent pages.

- **URL**: https://apify.com/mukeshrana90/website-email-extractor.md
- **Developed by:** [Mukesh Kumar](https://apify.com/mukeshrana90) (community)
- **Categories:** Automation, Lead generation, Real estate
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00 / 1,000 record enricheds

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

## Website Email Extractor

Crawls websites and extracts contact emails from their **contact**, **about**, **team**, **agents**, and **staff** pages. Built for the middle stage of a lead-generation pipeline:

````

\[ source scraper (Maps / Realtor / Zillow) ]  →  \[ THIS ACTOR ]  →  \[ email verifier ]

````

Handles common obfuscation patterns (`[at]`, `(dot)`, HTML entities, Cloudflare `data-cfemail`), pulls emails from `mailto:` links and JSON-LD structured data, and tags every email with a confidence score so downstream verification can prioritize.

### Pricing

**Pay per enriched record — $0.03 each.**

You're charged $0.03 only when:
- You're using **enrichment mode** (you provided `inputJson`)
- The actor successfully extracts **at least one email** for that record

You're **not** charged for:
- Records you uploaded that already had emails (skipped — no work done)
- Records where the crawl found zero emails (no value delivered)
- Records with missing or invalid URLs
- Plain crawl mode runs (`startUrls` without `inputJson`) — free
- Failed runs

So if you upload 100 leads and the actor finds emails for 73 of them, you pay **$2.19**. Compute, proxy, and storage are all included — no separate infrastructure bill.

### When to use this

- You have a list of company / agent / brokerage homepages and need their public contact emails
- You want each email tagged with a confidence signal (`mailto` > `jsonld` > `cfemail` > `text`) so downstream verification can prioritize
- You want platform-domain noise (`example.com`, `wixpress.com`, `mlsgrid.com`) and role accounts (`noreply@`) auto-filtered

### When **not** to use this

- For URL discovery (use a Maps scraper or directory scraper first; this actor only extracts from URLs you already have)
- For email verification / SMTP validation (use an email verifier downstream)
- For LinkedIn / Facebook / Instagram (against their ToS)

### Two ways to run it

#### A. Enrichment mode — paste any JSON, get the same JSON back with emails filled in

If you already have a list of leads (an array of objects from a Maps scraper, Realtor export, or your own CRM dump), paste the whole thing into `inputJson`. The actor:

1. Auto-detects the URL field (`websiteUrl`, `website`, `url`, `homepage`, `site`) and the email field (`emails`, `email`, `contactEmail`)
2. Skips records that already have emails
3. Crawls the URL for each remaining record
4. Writes extracted emails back into the same record
5. Saves the enriched JSON to the Key-Value Store as `OUTPUT` — downloadable as a single file

If your records have a name field (`firstName`, `lastName`, `fullName`, `name`), emails matching the name are ranked first (e.g. for "Roman Lopez", `roman@firm.com` is ranked above `info@firm.com`).

The output is your input JSON, byte-for-byte identical except the email field is populated. No extra metadata, no per-email dataset records — just your records, enriched.

##### Example input

```json
{
  "inputJson": "[{\"fullName\":\"Roman Lopez\",\"websiteUrl\":\"https://romanlopez.com\",\"emails\":[]}]",
  "useBrowser": true
}
````

##### Example output (Key-Value Store → `OUTPUT`)

```json
[
  {
    "fullName": "Roman Lopez",
    "websiteUrl": "https://romanlopez.com",
    "emails": ["roman@romanlopez.com"]
  }
]
```

#### B. Plain crawl mode — give it URLs, get a flat list of emails

For one-off email extraction. Output is one Dataset record per `(domain, email)` pair, with full extraction metadata. **This mode is free** (no per-record charge applies).

##### Example input

```json
{
  "startUrls": [
    { "url": "https://romanlopez.com" },
    { "url": "https://www.heydayhomes.com" }
  ],
  "maxDepth": 2
}
```

##### Example output (Dataset record)

```json
{
  "domain": "romanlopez.com",
  "email": "roman@romanlopez.com",
  "confidence": "mailto",
  "filtered": false,
  "filterReason": null,
  "sourceUrl": "https://romanlopez.com/contact",
  "depth": 1,
  "foundAt": "2026-05-05T12:34:56.789Z"
}
```

### Input fields

| Field | Type | Default | Notes |
|---|---|---|---|
| `inputJson` | string (JSON) | — | Paste a JSON array or single object. Triggers enrichment mode. |
| `urlField` | string | auto-detect | Override which key holds the URL in your records |
| `emailField` | string | auto-detect | Override which key receives the extracted emails |
| `startUrls` | array | — | URLs to crawl (used only when `inputJson` is empty) |
| `maxDepth` | int | `2` | Depth-0 = start URL only. Depth-1+ pages are filtered by `targetPaths` |
| `maxPagesPerDomain` | int | `30` | Hard cap per hostname |
| `maxRequestsPerCrawl` | int | `5000` | Global safety cap |
| `targetPaths` | string\[] | `["contact","about","team","agents","staff","meet"]` | URL substrings that gate deep crawl |
| `useBrowser` | bool | `true` | Playwright (handles JS-rendered sites) or Cheerio (3–20× faster, server-rendered only) |
| `includeFiltered` | bool | `false` | Emit role accounts / platform domains with a `filterReason` instead of dropping |
| `maxEmailsPerRecord` | int | `5` | Cap on emails written to each record in enrichment mode |

### Output reference

#### Enrichment mode → Key-Value Store key `OUTPUT`

The same JSON you pasted in `inputJson`, byte-identical except the detected email field has been populated. Same shape (array stays array, single object stays single object), same field order, same key names. One file, one click to download.

#### Plain crawl mode → Dataset

One record per unique `(domain, email)` pair:

| Field | Values |
|---|---|
| `domain` | Hostname of the source page (with `www.` stripped) |
| `email` | The extracted email, lowercased |
| `confidence` | `mailto` (explicit `mailto:` link, highest signal) · `jsonld` (extracted from `application/ld+json` Person/Org markup) · `cfemail` (decoded from Cloudflare `data-cfemail` obfuscation) · `text` (regex match on visible text, lowest signal) |
| `filtered` | `true` if flagged as noise — only present when `includeFiltered: true` |
| `filterReason` | `role_account` · `platform_domain` · `url_false_positive` · `file_extension_tld` · `invalid_format` (null when `filtered: false`) |
| `sourceUrl` | Page URL where the email was found |
| `depth` | `0` for the start URL, `1`+ for followed links |
| `foundAt` | ISO-8601 timestamp |

### Compliance

- Output is intended for users with a lawful basis to contact the extracted addresses (B2B outreach, opt-in lists, etc.)
- The actor honors `robots.txt` (`respectRobotsTxtFile: true`) — sites that disallow scraping are skipped, not crawled
- Emails are not persisted server-side beyond the run lifetime — the OUTPUT and Dataset are scoped to your run
- Do **not** point this at sites whose ToS forbids automated access, or at LinkedIn / Facebook / Instagram (separate ToS, separate concern)

### Limitations

- Sites behind Cloudflare bot-detection (actual JS challenges, not just IP filtering) may return 403 even via residential proxy. Bot-fingerprint bypassing is out of scope for this actor.
- SPA contact forms with no static email content will return zero emails (the email is loaded dynamically after user interaction). You're not charged for these.
- Pages disallowed by `robots.txt` are skipped by design.

# Actor input Schema

## `inputJson` (type: `string`):

Paste a JSON array or single object. The actor auto-detects URL fields (websiteUrl, website, url, homepage, site) and email fields (emails, email, contactEmail) and fills in the email field for each record. Output JSON is saved to the Key-Value Store as OUTPUT. If set, this overrides 'startUrls'.

## `urlField` (type: `string`):

Name of the field in each input record that contains the URL to crawl. If empty, auto-detected.

## `emailField` (type: `string`):

Name of the field where extracted emails should be written. If empty, auto-detected.

## `startUrls` (type: `array`):

Domains or URLs to crawl. Each entry should be a homepage or landing URL. Ignored if inputJson is set.

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

Depth 0 = start URL only. Depth 1+ pages are filtered to URLs containing one of the target paths.

## `maxPagesPerDomain` (type: `integer`):

Hard cap on requests per hostname. Prevents runaway crawls on large sites.

## `maxRequestsPerCrawl` (type: `integer`):

Global cap across all start URLs. Safety net for cost control.

## `targetPaths` (type: `array`):

URL substring matches that gate which links get followed at depth 1+.

## `useBrowser` (type: `boolean`):

Default ON. Disable only for known server-rendered sites where Cheerio is faster and sufficient.

## `includeFiltered` (type: `boolean`):

When true, role accounts (noreply@), platform domains (example.com), and file-extension TLDs are emitted with filterReason set, instead of being dropped.

## `maxEmailsPerRecord` (type: `integer`):

Cap on emails written to each input record. Sorted by relevance (name match, then confidence).

## Actor input object example

```json
{
  "maxDepth": 2,
  "maxPagesPerDomain": 30,
  "maxRequestsPerCrawl": 5000,
  "targetPaths": [
    "contact",
    "about",
    "team",
    "agents",
    "staff",
    "meet"
  ],
  "useBrowser": true,
  "includeFiltered": false,
  "maxEmailsPerRecord": 5
}
```

# Actor output Schema

## `enrichedJson` (type: `string`):

Your input JSON with the email field populated. Returned when 'inputJson' was provided.

## `extractedEmails` (type: `string`):

One Dataset record per (domain, email) pair. Returned when 'startUrls' was used without 'inputJson'.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("mukeshrana90/website-email-extractor").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("mukeshrana90/website-email-extractor").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 '{}' |
apify call mukeshrana90/website-email-extractor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=mukeshrana90/website-email-extractor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Website Email Extractor",
        "description": "Crawls websites and extracts contact emails from contact, about, team, and agent pages.",
        "version": "0.2",
        "x-build-id": "sioLKy2JyO5jYJUGq"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/mukeshrana90~website-email-extractor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-mukeshrana90-website-email-extractor",
                "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/mukeshrana90~website-email-extractor/runs": {
            "post": {
                "operationId": "runs-sync-mukeshrana90-website-email-extractor",
                "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/mukeshrana90~website-email-extractor/run-sync": {
            "post": {
                "operationId": "run-sync-mukeshrana90-website-email-extractor",
                "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": {
                    "inputJson": {
                        "title": "Input JSON to enrich (optional)",
                        "type": "string",
                        "description": "Paste a JSON array or single object. The actor auto-detects URL fields (websiteUrl, website, url, homepage, site) and email fields (emails, email, contactEmail) and fills in the email field for each record. Output JSON is saved to the Key-Value Store as OUTPUT. If set, this overrides 'startUrls'."
                    },
                    "urlField": {
                        "title": "URL field name (optional override)",
                        "type": "string",
                        "description": "Name of the field in each input record that contains the URL to crawl. If empty, auto-detected."
                    },
                    "emailField": {
                        "title": "Email field name (optional override)",
                        "type": "string",
                        "description": "Name of the field where extracted emails should be written. If empty, auto-detected."
                    },
                    "startUrls": {
                        "title": "Start URLs (alternative to inputJson)",
                        "type": "array",
                        "description": "Domains or URLs to crawl. Each entry should be a homepage or landing URL. Ignored if inputJson is set.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxDepth": {
                        "title": "Max crawl depth",
                        "maximum": 5,
                        "type": "integer",
                        "description": "Depth 0 = start URL only. Depth 1+ pages are filtered to URLs containing one of the target paths.",
                        "default": 2
                    },
                    "maxPagesPerDomain": {
                        "title": "Max pages per domain",
                        "type": "integer",
                        "description": "Hard cap on requests per hostname. Prevents runaway crawls on large sites.",
                        "default": 30
                    },
                    "maxRequestsPerCrawl": {
                        "title": "Max requests per crawl",
                        "type": "integer",
                        "description": "Global cap across all start URLs. Safety net for cost control.",
                        "default": 5000
                    },
                    "targetPaths": {
                        "title": "Target path keywords",
                        "type": "array",
                        "description": "URL substring matches that gate which links get followed at depth 1+.",
                        "default": [
                            "contact",
                            "about",
                            "team",
                            "agents",
                            "staff",
                            "meet"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "useBrowser": {
                        "title": "Use browser (Playwright)",
                        "type": "boolean",
                        "description": "Default ON. Disable only for known server-rendered sites where Cheerio is faster and sufficient.",
                        "default": true
                    },
                    "includeFiltered": {
                        "title": "Include filtered emails in output",
                        "type": "boolean",
                        "description": "When true, role accounts (noreply@), platform domains (example.com), and file-extension TLDs are emitted with filterReason set, instead of being dropped.",
                        "default": false
                    },
                    "maxEmailsPerRecord": {
                        "title": "Max emails per record (enrichment mode)",
                        "type": "integer",
                        "description": "Cap on emails written to each input record. Sorted by relevance (name match, then confidence).",
                        "default": 5
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
