# Our World in Data Scraper (`crawlerbros/our-world-in-data-scraper`) Actor

Scrape Our World in Data (ourworldindata.org) - browse articles by topic or keyword, fetch chart data (CSV) by slug, or explore country profiles. Returns article metadata, chart datasets, and country-level statistics from Oxford's Global Change Data Lab.

- **URL**: https://apify.com/crawlerbros/our-world-in-data-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Automation, Agents, Integrations
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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

## Our World in Data Scraper

Scrape [Our World in Data](https://ourworldindata.org) — the Oxford/Global Change Data Lab platform covering global trends in health, poverty, climate, education, and more. Extract article metadata, downloadable chart datasets (CSV), and country profiles — all without any API key or credentials.

### What You Can Scrape

- **Articles** — browse recent research articles with title, authors, publish date, excerpt, thumbnail, and related chart slugs.
- **Chart Data** — download the underlying dataset (CSV rows) for any OWID Grapher chart by its slug, with optional country/year filters.
- **Chart Data Bulk** — download datasets from multiple charts in one run.
- **Countries** — browse country profiles (250+ countries) with name, description, and related charts.

### Output Fields

#### Article records (`recordType: "article"`)

| Field | Type | Description |
|---|---|---|
| `articleSlug` | string | URL slug (e.g. `climate-change`) |
| `title` | string | Article headline |
| `publishedAt` | string | ISO 8601 publish date |
| `updatedAt` | string | ISO 8601 last modified date |
| `authors` | array | List of author names |
| `primaryAuthor` | string | First-listed author |
| `excerpt` | string | Short description / abstract |
| `thumbnailUrl` | string | Article cover image URL |
| `relatedCharts` | array | Grapher chart slugs referenced in the article |
| `articleUrl` | string | Canonical article URL |
| `scrapedAt` | string | UTC timestamp when record was scraped |
| `recordType` | string | Always `"article"` |

#### Chart config records (`recordType: "chartConfig"`)

| Field | Type | Description |
|---|---|---|
| `chartSlug` | string | Chart identifier slug |
| `chartId` | integer | OWID internal chart ID |
| `title` | string | Chart title |
| `subtitle` | string | Chart subtitle |
| `note` | string | Chart footnote |
| `chartTypes` | array | Visualisation types (e.g. `LineChart`, `ScatterPlot`) |
| `citation` | string | Data source attribution |
| `dataColumns` | array | Column names in the CSV dataset |
| `relatedQuestionUrls` | array | Related article links |
| `chartUrl` | string | Canonical Grapher URL |

#### Chart data rows (`recordType: "chartDataRow"`)

| Field | Type | Description |
|---|---|---|
| `chartSlug` | string | Source chart identifier |
| `chartTitle` | string | Human-readable chart title |
| `entity` | string | Country, region, or aggregate name |
| `entityCode` | string | ISO country code (if available) |
| `year` | integer | Year of the data point |
| `<variable>` | number | One or more data columns (names vary per chart) |
| `sourceUrl` | string | Canonical chart URL |

#### Country records (`recordType: "country"`)

| Field | Type | Description |
|---|---|---|
| `countrySlug` | string | URL slug (e.g. `germany`) |
| `countryName` | string | Display name |
| `description` | string | Short country description |
| `thumbnailUrl` | string | Country thumbnail image |
| `relatedCharts` | array | Grapher slugs for this country |
| `countryUrl` | string | Country profile URL |

### Input Parameters

| Parameter | Type | Default | Description |
|---|---|---|---|
| `mode` | select | `articles` | What to scrape: `articles`, `chartData`, `chartDataBulk`, `countries` |
| `searchQuery` | string | — | Keyword filter for article titles/excerpts |
| `topic` | select | — | Filter articles by topic area |
| `chartSlug` | string | — | Chart slug for `chartData` mode (e.g. `life-expectancy`) |
| `chartSlugs` | array | — | Multiple slugs for `chartDataBulk` mode |
| `entities` | array | — | Filter chart rows to specific countries/regions |
| `yearFrom` | integer | — | Minimum year for chart data rows |
| `yearTo` | integer | — | Maximum year for chart data rows |
| `includeChartConfig` | boolean | `true` | Emit a config record before chart data rows |
| `maxItems` | integer | `100` | Maximum records to emit |

### Example Inputs

#### Browse latest articles about climate change
```json
{
  "mode": "articles",
  "searchQuery": "climate change",
  "maxItems": 20
}
````

#### Download life expectancy data for Germany and France (1950–2023)

```json
{
  "mode": "chartData",
  "chartSlug": "life-expectancy",
  "entities": ["Germany", "France"],
  "yearFrom": 1950,
  "yearTo": 2023,
  "maxItems": 500
}
```

#### Bulk download multiple charts

```json
{
  "mode": "chartDataBulk",
  "chartSlugs": ["co2-emissions-vs-gdp", "child-mortality", "global-education"],
  "entities": ["World"],
  "maxItems": 1000
}
```

#### Browse country profiles

```json
{
  "mode": "countries",
  "searchQuery": "germany",
  "maxItems": 10
}
```

### Use Cases

- **Research & academia** — download multi-decade global datasets (CO₂, life expectancy, GDP, mortality) for analysis.
- **Journalism** — find the latest OWID articles on a topic and enrich stories with chart data.
- **Education** — build classroom materials using OWID's curated global statistics.
- **Data pipelines** — automate ingestion of specific chart datasets on a schedule.
- **Content discovery** — monitor new articles published on specific topics.

### Finding Chart Slugs

Chart slugs appear in every OWID chart URL: `https://ourworldindata.org/grapher/{slug}`.

Popular examples:

- `life-expectancy` — Life expectancy at birth (1950–2024)
- `co2-emissions-vs-gdp` — CO₂ emissions vs. GDP per capita
- `child-mortality` — Child mortality rate by country
- `global-education` — Years of schooling
- `share-of-population-in-extreme-poverty` — Poverty headcount ratio
- `annual-co-emissions-by-region` — Annual CO₂ by region
- `vaccination-coverage-who-unicef` — Vaccine coverage

### FAQ

**Does this require an API key?**
No. All OWID data is publicly available. No registration or API key is needed.

**How many articles are available?**
OWID publishes 1,900+ articles and research topics. The Atom feed provides the 10 most recent; setting `maxItems` higher triggers sitemap crawling for older content.

**How many chart datasets are available?**
OWID hosts 3,000+ Grapher charts. Each has a downloadable CSV via the `.csv` endpoint.

**What is the largest chart dataset?**
Multi-country charts spanning 200+ years can have 50,000+ rows. Use `entities` and `yearFrom`/`yearTo` filters to limit output.

**Can I get data for a specific country over time?**
Yes — use `chartData` mode with `entities: ["Germany"]` and `yearFrom`/`yearTo` to extract time-series data for a single country.

**Is there rate limiting?**
OWID's public API is politely crawled with 0.3s delays between requests. No API rate limits apply to static CSV/JSON endpoints.

# Actor input Schema

## `mode` (type: `string`):

What to scrape from Our World in Data.

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

Filter articles whose title or excerpt contains this keyword (case-insensitive). Leave empty to return all recent articles.

## `topic` (type: `string`):

Filter articles by OWID topic area. Leave empty for all topics.

## `chartSlug` (type: `string`):

The URL slug of an OWID Grapher chart, e.g. `life-expectancy` or `co2-emissions-vs-gdp`. Found in the chart URL: ourworldindata.org/grapher/{slug}.

## `chartSlugs` (type: `array`):

List of OWID Grapher chart slugs to download data for (mode=chartDataBulk).

## `entities` (type: `array`):

For chart data modes: only include rows for these entities (e.g. \['United States', 'Germany', 'World']). Leave empty for all.

## `yearFrom` (type: `integer`):

Only include chart data rows from this year onwards.

## `yearTo` (type: `integer`):

Only include chart data rows up to this year (inclusive).

## `includeChartConfig` (type: `boolean`):

For chart data modes: include the chart's config (title, subtitle, citation) as a metadata record before the data rows.

## `maxItems` (type: `integer`):

Maximum number of records to emit.

## Actor input object example

```json
{
  "mode": "articles",
  "searchQuery": "climate change",
  "topic": "",
  "chartSlug": "life-expectancy",
  "chartSlugs": [],
  "entities": [],
  "includeChartConfig": true,
  "maxItems": 100
}
```

# Actor output Schema

## `records` (type: `string`):

Dataset containing all scraped articles, chart data rows, and country records.

# 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 = {
    "mode": "articles",
    "searchQuery": "climate change",
    "topic": "",
    "chartSlug": "life-expectancy",
    "chartSlugs": [],
    "entities": [],
    "includeChartConfig": true,
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/our-world-in-data-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 = {
    "mode": "articles",
    "searchQuery": "climate change",
    "topic": "",
    "chartSlug": "life-expectancy",
    "chartSlugs": [],
    "entities": [],
    "includeChartConfig": True,
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/our-world-in-data-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 '{
  "mode": "articles",
  "searchQuery": "climate change",
  "topic": "",
  "chartSlug": "life-expectancy",
  "chartSlugs": [],
  "entities": [],
  "includeChartConfig": true,
  "maxItems": 100
}' |
apify call crawlerbros/our-world-in-data-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/our-world-in-data-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Our World in Data Scraper",
        "description": "Scrape Our World in Data (ourworldindata.org) - browse articles by topic or keyword, fetch chart data (CSV) by slug, or explore country profiles. Returns article metadata, chart datasets, and country-level statistics from Oxford's Global Change Data Lab.",
        "version": "1.0",
        "x-build-id": "GXZ0GmyBA9ecxJhwg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~our-world-in-data-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-our-world-in-data-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/crawlerbros~our-world-in-data-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-our-world-in-data-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/crawlerbros~our-world-in-data-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-our-world-in-data-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",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "articles",
                            "chartData",
                            "chartDataBulk",
                            "countries"
                        ],
                        "type": "string",
                        "description": "What to scrape from Our World in Data.",
                        "default": "articles"
                    },
                    "searchQuery": {
                        "title": "Search query (mode=articles)",
                        "type": "string",
                        "description": "Filter articles whose title or excerpt contains this keyword (case-insensitive). Leave empty to return all recent articles."
                    },
                    "topic": {
                        "title": "Topic filter (mode=articles)",
                        "enum": [
                            "",
                            "poverty",
                            "health",
                            "population-growth",
                            "education",
                            "food-agriculture",
                            "climate-change",
                            "energy",
                            "violence-war",
                            "political-systems",
                            "economy",
                            "environment",
                            "urbanization",
                            "water-sanitation",
                            "technology",
                            "human-rights",
                            "co2-greenhouse-gas-emissions",
                            "life-expectancy",
                            "child-mortality",
                            "global-health",
                            "global-inequalities"
                        ],
                        "type": "string",
                        "description": "Filter articles by OWID topic area. Leave empty for all topics.",
                        "default": ""
                    },
                    "chartSlug": {
                        "title": "Chart slug (mode=chartData)",
                        "type": "string",
                        "description": "The URL slug of an OWID Grapher chart, e.g. `life-expectancy` or `co2-emissions-vs-gdp`. Found in the chart URL: ourworldindata.org/grapher/{slug}."
                    },
                    "chartSlugs": {
                        "title": "Chart slugs (mode=chartDataBulk)",
                        "type": "array",
                        "description": "List of OWID Grapher chart slugs to download data for (mode=chartDataBulk).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "entities": {
                        "title": "Filter by entities (countries/regions)",
                        "type": "array",
                        "description": "For chart data modes: only include rows for these entities (e.g. ['United States', 'Germany', 'World']). Leave empty for all.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "yearFrom": {
                        "title": "Year from (chart data modes)",
                        "minimum": 1700,
                        "maximum": 2100,
                        "type": "integer",
                        "description": "Only include chart data rows from this year onwards."
                    },
                    "yearTo": {
                        "title": "Year to (chart data modes)",
                        "minimum": 1700,
                        "maximum": 2100,
                        "type": "integer",
                        "description": "Only include chart data rows up to this year (inclusive)."
                    },
                    "includeChartConfig": {
                        "title": "Include chart config metadata",
                        "type": "boolean",
                        "description": "For chart data modes: include the chart's config (title, subtitle, citation) as a metadata record before the data rows.",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of records to emit.",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
