# Tecnoempleo Scraper (`unfenced-group/tecnoempleo-scraper`) Actor

Scrape tecnoempleo.com for structured Spanish IT job data: titles, companies, salaries, technologies & descriptions. 40,000+ listings across all Spanish provinces. Deduplication, repost detection & daysOld filtering included.

- **URL**: https://apify.com/unfenced-group/tecnoempleo-scraper.md
- **Developed by:** [Unfenced Group](https://apify.com/unfenced-group) (community)
- **Categories:** Jobs, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.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.

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

## Tecnoempleo Scraper

![Tecnoempleo Scraper](https://i.imgur.com/jRD5gQz.png)

Scrape [tecnoempleo.com](https://www.tecnoempleo.com) — Spain's leading IT and telecoms job board — for structured job data: titles, companies, salaries, technologies, and full descriptions. 40,000+ active listings across all Spanish provinces. No API key required.

---

### Why this scraper?

#### 🇪🇸 Complete Spanish IT job market coverage
All 51 provinces supported. Filter by Madrid, Barcelona, Valencia, Sevilla, or any other region. Covers the full spectrum from junior developer roles to senior engineering leadership.

#### 💰 Structured salary data
Salary range (min/max), period (annual/monthly/hourly), and currency extracted from every listing that publishes them. Also captures the raw salary text as shown on the site.

#### 🛠️ Technology stack extraction
Skill badges (React, Python, Java, AWS, Docker, Kubernetes, etc.) are captured from each listing, ready for filtering and analytics pipelines.

#### 📋 Three description formats
Every detail page delivers the job description as HTML, plain text, and Markdown — use whichever format fits your downstream pipeline.

#### 🔁 Cross-run repost detection
Built-in deduplication with a 90-day memory window. The `isRepost` flag and `originalPublishDate` field let you distinguish freshly posted roles from recycled listings. Combine with `skipReposts` for true incremental scraping.

#### ⚡ Precise filtering
Filter by keyword, province, posting age (`daysOld`), and result count. Feed specific job URLs via `startUrls` to scrape individual listings on demand.

---

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchQuery` | string | `""` | Keyword(s) to search, e.g. `"developer"`, `"data engineer"`, `"Java"`. Leave empty to browse all IT listings. |
| `province` | string | `""` | Province name in Spanish, e.g. `"Madrid"`, `"Barcelona"`, `"Valencia"`. Leave empty for all Spain. |
| `maxResults` | integer | `100` | Maximum listings to return. Controls cost and run time. |
| `fetchDetails` | boolean | `true` | Fetch each job's detail page for full description and structured salary. Disable for list-only data (faster). |
| `daysOld` | integer | — | Only return jobs posted within the last N days. |
| `skipReposts` | boolean | `false` | Skip jobs already seen in a previous run. |
| `startUrls` | array | `[]` | Specific Tecnoempleo job URLs to scrape directly, bypassing search. |

---

### Output schema

Each result contains:

```json
{
    "id": "rf-9193141c12482335774a",
    "url": "https://www.tecnoempleo.com/frontend-developer-cmv-consultores/angular-nodejs/rf-9193141c12482335774a",
    "title": "Frontend Developer",
    "company": "CMV Consultores",
    "companyUrl": "https://www.tecnoempleo.com/cmv-consultores-trabajo",
    "location": "Barcelona",
    "province": "Barcelona",
    "workArrangement": "Híbrido",
    "category": "Programador",
    "technologies": ["Angular", "NodeJS", "TypeScript", "Kubernetes", "Docker", "AWS"],
    "description": "<p>Desde CMV Consultores te brindamos las mejores oportunidades...</p>",
    "descriptionText": "Desde CMV Consultores te brindamos las mejores oportunidades...",
    "descriptionMarkdown": "Desde CMV Consultores te brindamos las mejores oportunidades...",
    "employmentType": "FULL_TIME",
    "salaryMin": 36000,
    "salaryMax": 39000,
    "salaryPeriod": "YEAR",
    "salaryText": "36.000€ - 39.000€ b/a",
    "currency": "EUR",
    "directApply": true,
    "applyUrl": "https://www.tecnoempleo.com/frontend-developer-cmv-consultores/angular-nodejs/rf-9193141c12482335774a",
    "publishDate": "2026-04-03",
    "publishDateISO": "2026-04-03",
    "contentHash": "a1b2c3d4e5f6a7b8",
    "summary": "Frontend Developer at CMV Consultores — Barcelona | 36.000€ - 39.000€ b/a | Híbrido",
    "source": "tecnoempleo.com",
    "scrapedAt": "2026-04-04T12:00:00.000Z",
    "isRepost": false,
    "originalPublishDate": null,
    "originalUrl": null
}
````

**Field notes:**

- `workArrangement`: `"100% remoto"`, `"Híbrido"`, or `"Presencial"`
- `employmentType`: `"FULL_TIME"`, `"PART_TIME"`, `"CONTRACTOR"`, `"TEMPORARY"`, or `"OTHER"` (schema.org values, only present when `fetchDetails` is enabled)
- `salaryMin` / `salaryMax`: numeric (annual by default); `null` when not published
- `technologies`: extracted from skill badge tags on the listing card
- `description` / `descriptionText` / `descriptionMarkdown`: only populated when `fetchDetails` is enabled

***

### Examples

**Browse all IT jobs in Madrid (latest 50):**

```json
{
    "province": "Madrid",
    "maxResults": 50
}
```

**Search for Python engineers nationwide, last 14 days:**

```json
{
    "searchQuery": "python",
    "daysOld": 14,
    "maxResults": 200
}
```

**Incremental run — new listings only:**

```json
{
    "searchQuery": "developer",
    "province": "Barcelona",
    "skipReposts": true,
    "maxResults": 500
}
```

**Fast list-only scan — no detail pages, just titles and companies:**

```json
{
    "searchQuery": "data engineer",
    "fetchDetails": false,
    "maxResults": 1000
}
```

**Scrape specific job URLs:**

```json
{
    "startUrls": [
        { "url": "https://www.tecnoempleo.com/frontend-developer/react/rf-9193141c12482335774a" },
        { "url": "https://www.tecnoempleo.com/backend-developer/java/rf-47af1d54622da32be346" }
    ]
}
```

***

### 💰 Pricing

**$1.50 per 1,000 results** — you only pay for successfully saved listings. Failed retries and filtered reposts are never charged.

| Results | Cost |
|---------|------|
| 100 | ~$0.15 |
| 1,000 | ~$1.50 |
| 10,000 | ~$15.00 |
| 100,000 | ~$150.00 |

> Flat-rate alternatives typically charge $29–$49/month regardless of usage.
> At 10,000 results/month, this scraper costs significantly less with no commitment.

Use the **Max results** cap in the input to control your spend exactly.

***

### Performance

| Run size | Approx. time | Notes |
|----------|-------------|-------|
| 100 results (with details) | ~3–5 min | First run includes detail page fetches |
| 1,000 results (with details) | ~25–35 min | Includes Gaussian pacing between requests |
| 1,000 results (list only) | ~5–8 min | `fetchDetails: false` — no detail pages |
| 10,000 results (list only) | ~45–60 min | Full province or category crawl |

***

### Known limitations

- **Salary**: Not published by all employers — `salaryMin`, `salaryMax`, and `salaryText` will be `null` when absent.
- **Apply URL**: The `applyUrl` field points to the Tecnoempleo job page; the platform handles applications internally (no external redirect URL is exposed).
- **Technologies**: Extracted from listing badges only — not all employers tag their listings with technology keywords.
- **Province filter**: Tecnoempleo supports filtering by one province at a time. For multi-province searches, run separate queries or omit the province for nationwide results.
- **`workArrangement`**: Only available from list-page data; not repeated in JSON-LD on detail pages.

***

### Technical details

- **Source:** tecnoempleo.com — Spain's specialist IT and telecoms job board
- **Memory:** 256 MB
- **Repost storage:** KeyValueStore `tecnoempleo-job-dedup`, 90-day TTL
- **Retry:** Automatic retry on network errors with exponential backoff, 3 attempts per request
- **Rate limiting:** Gaussian-distributed request pacing to avoid overloading the server

***

### Additional services

Need a custom actor, additional filters, scheduled runs, or integration support?
Send an email to <info@unfencedgroup.nl> — we build on request.

***

*Built by [unfenced-group](https://apify.com/unfenced-group) · Issues? Open a ticket or send a message.*

# Actor input Schema

## `searchQuery` (type: `string`):

Keyword(s) to search for, e.g. "developer", "data engineer", "Java". Leave empty to browse all listings.

## `province` (type: `string`):

Filter by Spanish province. Use the province name in Spanish, e.g. "Madrid", "Barcelona", "Valencia", "Sevilla", "Málaga", "Zaragoza", "Asturias", "Navarra". Leave empty for all Spain. Also accepts the numeric province ID (231–282).

## `maxResults` (type: `integer`):

Maximum number of job listings to return. Use this to control cost and run time.

## `fetchDetails` (type: `boolean`):

When enabled, the scraper visits each job's detail page to retrieve the full description, structured salary data, employment type, and direct-apply flag. Disable to get list-page data only (faster, lower cost).

## `daysOld` (type: `integer`):

Only return jobs posted within the last N days. Leave empty for no date filter.

## `skipReposts` (type: `boolean`):

Skip job listings already seen in a previous run (based on the job ID, with a 90-day memory window). Useful for incremental scraping to avoid duplicates.

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

Optional list of specific Tecnoempleo job detail URLs to scrape directly, bypassing search. Use the format: https://www.tecnoempleo.com/{slug}/rf-{id}

## Actor input object example

```json
{
  "searchQuery": "developer",
  "province": "Madrid",
  "maxResults": 10,
  "fetchDetails": true,
  "skipReposts": false,
  "startUrls": []
}
```

# Actor output Schema

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

No description

# 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 = {
    "searchQuery": "developer",
    "province": "Madrid",
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("unfenced-group/tecnoempleo-scraper").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 = {
    "searchQuery": "developer",
    "province": "Madrid",
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("unfenced-group/tecnoempleo-scraper").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 '{
  "searchQuery": "developer",
  "province": "Madrid",
  "maxResults": 10
}' |
apify call unfenced-group/tecnoempleo-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=unfenced-group/tecnoempleo-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Tecnoempleo Scraper",
        "description": "Scrape tecnoempleo.com for structured Spanish IT job data: titles, companies, salaries, technologies & descriptions. 40,000+ listings across all Spanish provinces. Deduplication, repost detection & daysOld filtering included.",
        "version": "0.0",
        "x-build-id": "LMfWWct39thlQrKRd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/unfenced-group~tecnoempleo-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-unfenced-group-tecnoempleo-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/unfenced-group~tecnoempleo-scraper/runs": {
            "post": {
                "operationId": "runs-sync-unfenced-group-tecnoempleo-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/unfenced-group~tecnoempleo-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-unfenced-group-tecnoempleo-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchQuery": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Keyword(s) to search for, e.g. \"developer\", \"data engineer\", \"Java\". Leave empty to browse all listings.",
                        "default": ""
                    },
                    "province": {
                        "title": "Province",
                        "type": "string",
                        "description": "Filter by Spanish province. Use the province name in Spanish, e.g. \"Madrid\", \"Barcelona\", \"Valencia\", \"Sevilla\", \"Málaga\", \"Zaragoza\", \"Asturias\", \"Navarra\". Leave empty for all Spain. Also accepts the numeric province ID (231–282).",
                        "default": ""
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of job listings to return. Use this to control cost and run time.",
                        "default": 100
                    },
                    "fetchDetails": {
                        "title": "Fetch detail pages",
                        "type": "boolean",
                        "description": "When enabled, the scraper visits each job's detail page to retrieve the full description, structured salary data, employment type, and direct-apply flag. Disable to get list-page data only (faster, lower cost).",
                        "default": true
                    },
                    "daysOld": {
                        "title": "Max age (days)",
                        "minimum": 1,
                        "maximum": 365,
                        "type": "integer",
                        "description": "Only return jobs posted within the last N days. Leave empty for no date filter."
                    },
                    "skipReposts": {
                        "title": "Skip reposts",
                        "type": "boolean",
                        "description": "Skip job listings already seen in a previous run (based on the job ID, with a 90-day memory window). Useful for incremental scraping to avoid duplicates.",
                        "default": false
                    },
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Optional list of specific Tecnoempleo job detail URLs to scrape directly, bypassing search. Use the format: https://www.tecnoempleo.com/{slug}/rf-{id}",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
