# Pncp Licitacoes Brasil (`vivid_astronaut/pncp-licitacoes-brasil`) Actor

Search and monitor Brazilian public procurement tenders (licitações) from PNCP, the official government portal. Filter by keywords, states, modality and value; get normalized JSON with agency, deadlines and estimated values.

- **URL**: https://apify.com/vivid\_astronaut/pncp-licitacoes-brasil.md
- **Developed by:** [Fabio Suizu](https://apify.com/vivid_astronaut) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 3 total users, 1 monthly users, 88.9% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 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

## PNCP Licitações Públicas Brasil (Tenders Monitor)

Search and monitor Brazilian public tenders published on PNCP, the official Portal Nacional de Contratações Públicas created for public procurement under Lei 14.133/2021. This Actor uses the public PNCP consultation API, requires no API key, and returns a normalized dataset designed for suppliers, procurement consultancies, sales teams, bid-monitoring SaaS products, and market intelligence workflows.

PNCP data is useful, but the official API response is shaped for the government portal rather than buyer operations. This Actor adds the missing operational layer: page through the API, throttle requests politely, filter by tender topic, Brazilian state, modality, and estimated value, deduplicate by `numeroControlePNCP`, and output stable bilingual fields. The original Portuguese concepts remain visible, while the normalized English field names are easier to feed into CRMs, alerting systems, spreadsheets, enrichment pipelines, or lead scoring models.

### Use cases

- Daily monitoring for suppliers that want fresh opportunities matching their products or services.
- Bid desks that need tenders filtered by UF, modality, and value band before manual qualification.
- Procurement consultants building client-specific alerts for public-sector demand.
- SaaS platforms that need official Brazilian tender data without maintaining PNCP pagination and normalization code.
- Market intelligence teams tracking demand by agency, municipality, estimated value, and proposal deadline.

### Input

The default mode is `monitor`, which looks back over the last 48 hours and stores state in a named Apify key-value store. Subsequent monitor runs only push new opportunities. For one-off research, use `search` mode with `dataInicial` and `dataFinal` in `YYYYMMDD` format. Date windows longer than 90 days are automatically split into multiple PNCP queries.

Example search input:

```json
{
  "mode": "search",
  "dataInicial": "20260601",
  "dataFinal": "20260630",
  "modalities": [6, 8],
  "keywords": ["veiculos", "equipamento hospitalar"],
  "ufs": ["RS", "CE", "SP"],
  "minValue": 50000,
  "maxValue": 3000000,
  "maxPagesPerQuery": 10
}
````

Example monitor input:

```json
{
  "mode": "monitor",
  "monitorHours": 48,
  "modalities": [6],
  "keywords": ["medicamentos", "software"],
  "ufs": ["SP", "MG", "RJ"]
}
```

### Modality codes

| Code | Portuguese name | Typical meaning |
| ---: | --- | --- |
| 1 | Leilão - Eletrônico | Electronic auction |
| 2 | Diálogo Competitivo | Competitive dialogue |
| 3 | Concurso | Contest |
| 4 | Concorrência - Eletrônica | Electronic competitive bidding |
| 5 | Concorrência - Presencial | In-person competitive bidding |
| 6 | Pregão - Eletrônico | Electronic reverse auction |
| 7 | Pregão - Presencial | In-person reverse auction |
| 8 | Dispensa de Licitação | Direct purchase / waiver |
| 9 | Inexigibilidade | Non-competitive procurement |
| 10 | Manifestação de Interesse | Expression of interest |
| 11 | Pré-qualificação | Pre-qualification |
| 12 | Credenciamento | Accreditation |
| 13 | Leilão - Presencial | In-person auction |

PNCP may evolve modality names or add codes. The Actor keeps the official `modalidadeNome` as `modality` and the numeric `modalidadeId` as `modalityCode`.

### Output

Each result is normalized from one PNCP `contratacao` item. Missing source fields are returned as `null`; the Actor does not invent agencies, dates, values, or URLs.

```json
{
  "pncpId": "88201298000149-1-000679/2026",
  "title": "Sistema de Registro de Preços para possíveis aquisições de 5 veículos ZERO KM",
  "description": "Sistema de Registro de Preços para possíveis aquisições de 5 veículos ZERO KM",
  "agency": "MUNICIPIO DE LAVRAS DO SUL",
  "agencyCnpj": "88201298000149",
  "uf": "RS",
  "municipality": "Lavras do Sul",
  "modality": "Pregão - Eletrônico",
  "modalityCode": 6,
  "estimatedValue": 554771.65,
  "currency": "BRL",
  "proposalOpenAt": "2026-06-18T17:00:00.000Z",
  "proposalCloseAt": "2026-07-06T08:31:00.000Z",
  "publishedAt": "2026-06-01T00:00:47.000Z",
  "sourceUrl": "https://pregaobanrisul.com.br/editais/0017_2026/351811",
  "pncpUrl": "https://pncp.gov.br/app/editais/88201298000149/2026/000679"
}
```

`pncpUrl` is derived from the official control number using the PNCP portal pattern: `https://pncp.gov.br/app/editais/<cnpj>/<ano>/<sequencial>`.

### Filtering behavior

Keyword matching is case-insensitive and accent-insensitive. A search for `veiculos` matches `veículos`, and `moveis` matches `móveis`. Keywords are checked against `objetoCompra` plus detailed complementary text when available. UF filters use the official two-letter state code from `unidadeOrgao.ufSigla`. Value filters use `valorTotalEstimado` in BRL.

Requests are throttled to 2 requests per second and use PNCP pages with `tamanhoPagina=50`. `maxPagesPerQuery` is a safety limit so default runs finish quickly and remain suitable for Apify test runs.

### FAQ

**Does this Actor need a PNCP API key?**\
No. It uses the public official PNCP consultation API.

**Is this legal advice or an official certification of a tender?**\
No. The Actor normalizes public records for monitoring and analysis. Always verify details in PNCP and the original procurement system before bidding.

**Why did a monitor run return no rows?**\
The Actor only pushes records not seen in previous monitor runs and, when possible, newer than the previous `lastRun`. Empty monitor runs are expected when no matching new tenders were published.

**Can I search more than 90 days?**\
Yes. The Actor splits long date windows into multiple API calls because broad windows can be rejected or become too slow.

**What happens when PNCP fields are missing?**\
The normalized field is `null`. The Actor avoids guessing.

### Pricing suggestion

This Actor is designed for paid pay-per-event usage. A practical PPE setup is four result-volume tiers around USD 1.50 to USD 2.70 per 1,000 normalized tenders, with lower effective unit price for larger runs. Monitor mode is especially suited to recurring small runs because customers pay for actionable new records rather than raw pages fetched.

***

### PT-BR

Este Actor consulta e monitora licitações públicas brasileiras publicadas no PNCP, o Portal Nacional de Contratações Públicas. A API oficial é pública e não exige chave. O objetivo é transformar a resposta original em um dataset operacional para fornecedores do governo, consultorias de licitação, times comerciais e plataformas SaaS de monitoramento.

O modo `search` faz buscas por período explícito usando datas no formato `AAAAMMDD`. O modo `monitor` consulta as últimas 24 a 48 horas, grava `lastRun` em um key-value store nomeado e publica apenas oportunidades novas. Os filtros principais são modalidade, palavras-chave, UFs e faixa de valor estimado.

As palavras-chave ignoram maiúsculas/minúsculas e acentos: `veiculos` encontra `veículos`, `moveis` encontra `móveis`. A busca é aplicada em `objetoCompra` e no texto complementar quando existir. A saída mantém dados centrais do PNCP, mas com nomes de campos normalizados em inglês: `agency`, `uf`, `municipality`, `estimatedValue`, `proposalCloseAt`, `sourceUrl` e `pncpUrl`.

Casos de uso comuns incluem alertas diários para fornecedores, triagem de oportunidades por estado e valor, enriquecimento de CRMs, inteligência de mercado por órgão comprador e integração com produtos de bid-monitoring. Antes de participar de uma licitação, confirme o edital e seus anexos no PNCP e no sistema de origem informado em `sourceUrl`.

# Actor input Schema

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

Use search for an explicit date range or monitor for the last 24-48 hours with named KV state.

## `endpoint` (type: `string`):

Official PNCP consultation endpoint to query.

## `dataInicial` (type: `string`):

Search mode start date in YYYYMMDD. Ignored in monitor mode.

## `dataFinal` (type: `string`):

Search mode end date in YYYYMMDD. Ignored in monitor mode.

## `monitorHours` (type: `integer`):

Look back over the last 24-48 hours when mode is monitor.

## `modalities` (type: `array`):

PNCP modality codes. Default 6 is electronic reverse auction (Pregão Eletrônico).

## `keywords` (type: `array`):

Case- and accent-insensitive terms matched against objetoCompra and detailed object text.

## `ufs` (type: `array`):

UF filters such as SP, RJ, MG, RS, CE.

## `minValue` (type: `number`):

Minimum valorTotalEstimado in BRL.

## `maxValue` (type: `number`):

Maximum valorTotalEstimado in BRL.

## `maxPagesPerQuery` (type: `integer`):

Safety limit. Each page has 50 records and requests are throttled to 2 per second.

## Actor input object example

```json
{
  "mode": "monitor",
  "endpoint": "contratacoes/publicacao",
  "monitorHours": 48,
  "modalities": [
    6
  ],
  "keywords": [],
  "ufs": [],
  "maxPagesPerQuery": 2
}
```

# 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("vivid_astronaut/pncp-licitacoes-brasil").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("vivid_astronaut/pncp-licitacoes-brasil").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 vivid_astronaut/pncp-licitacoes-brasil --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=vivid_astronaut/pncp-licitacoes-brasil",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Pncp Licitacoes Brasil",
        "description": "Search and monitor Brazilian public procurement tenders (licitações) from PNCP, the official government portal. Filter by keywords, states, modality and value; get normalized JSON with agency, deadlines and estimated values.",
        "version": "0.1",
        "x-build-id": "S8QaGvGFcHdL11A6u"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/vivid_astronaut~pncp-licitacoes-brasil/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-vivid_astronaut-pncp-licitacoes-brasil",
                "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/vivid_astronaut~pncp-licitacoes-brasil/runs": {
            "post": {
                "operationId": "runs-sync-vivid_astronaut-pncp-licitacoes-brasil",
                "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/vivid_astronaut~pncp-licitacoes-brasil/run-sync": {
            "post": {
                "operationId": "run-sync-vivid_astronaut-pncp-licitacoes-brasil",
                "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",
                    "endpoint",
                    "modalities",
                    "monitorHours",
                    "maxPagesPerQuery"
                ],
                "properties": {
                    "mode": {
                        "title": "Run mode",
                        "enum": [
                            "monitor",
                            "search"
                        ],
                        "type": "string",
                        "description": "Use search for an explicit date range or monitor for the last 24-48 hours with named KV state.",
                        "default": "monitor"
                    },
                    "endpoint": {
                        "title": "PNCP endpoint",
                        "enum": [
                            "contratacoes/publicacao",
                            "contratacoes/proposta"
                        ],
                        "type": "string",
                        "description": "Official PNCP consultation endpoint to query.",
                        "default": "contratacoes/publicacao"
                    },
                    "dataInicial": {
                        "title": "Start date",
                        "pattern": "^\\d{8}$",
                        "type": "string",
                        "description": "Search mode start date in YYYYMMDD. Ignored in monitor mode."
                    },
                    "dataFinal": {
                        "title": "End date",
                        "pattern": "^\\d{8}$",
                        "type": "string",
                        "description": "Search mode end date in YYYYMMDD. Ignored in monitor mode."
                    },
                    "monitorHours": {
                        "title": "Monitor lookback hours",
                        "minimum": 24,
                        "maximum": 48,
                        "type": "integer",
                        "description": "Look back over the last 24-48 hours when mode is monitor.",
                        "default": 48
                    },
                    "modalities": {
                        "title": "Modalities",
                        "type": "array",
                        "description": "PNCP modality codes. Default 6 is electronic reverse auction (Pregão Eletrônico).",
                        "items": {
                            "type": "integer",
                            "minimum": 1
                        },
                        "default": [
                            6
                        ]
                    },
                    "keywords": {
                        "title": "Keywords",
                        "type": "array",
                        "description": "Case- and accent-insensitive terms matched against objetoCompra and detailed object text.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "ufs": {
                        "title": "Brazilian states",
                        "type": "array",
                        "description": "UF filters such as SP, RJ, MG, RS, CE.",
                        "items": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}$"
                        },
                        "default": []
                    },
                    "minValue": {
                        "title": "Minimum estimated value",
                        "minimum": 0,
                        "type": "number",
                        "description": "Minimum valorTotalEstimado in BRL."
                    },
                    "maxValue": {
                        "title": "Maximum estimated value",
                        "minimum": 0,
                        "type": "number",
                        "description": "Maximum valorTotalEstimado in BRL."
                    },
                    "maxPagesPerQuery": {
                        "title": "Max pages per query",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Safety limit. Each page has 50 records and requests are throttled to 2 per second.",
                        "default": 2
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
