# Diário Oficial da União Scraper - DOU Monitor Brazil (`brasildados/dou-monitor`) Actor

Monitor Brazil's Official Gazette (DOU) publications by search term. Returns contracts, ordinances, sanctions and more from the last 3 days. Schedule daily runs to track companies, competitors or regulatory changes.

- **URL**: https://apify.com/brasildados/dou-monitor.md
- **Developed by:** [BrasilDados.org](https://apify.com/brasildados) (community)
- **Categories:** Lead generation, Other, News
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## 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

## DOU Monitor — Diário Oficial da União

> **PT:** Saiba na hora certa quando sua empresa, um concorrente ou qualquer entidade é citada em ato federal.  
> **EN:** Know right away when your company, a competitor or any entity is mentioned in a federal act.

[![RapidAPI](https://img.shields.io/badge/RapidAPI-DOU%20Monitor-0055DA?logo=rapidapi)](https://rapidapi.com/brunoborbaa/api/dou-monitor-diario-oficial-da-uniao)

---

### O que é isso? | What is this?

O **Diário Oficial da União (DOU)** é o jornal oficial do governo federal brasileiro. Toda vez que um órgão público assina um contrato, aplica uma multa, publica uma portaria ou nomeia alguém — vai para o DOU primeiro.

Este actor monitora o DOU por palavras-chave e retorna os atos publicados nos últimos 3 dias que contêm os termos que você definiu. Suporta até 100 termos por execução, cada um buscado de forma independente.

**The DOU is Brazil's official government gazette.** Every time a public body signs a contract, applies a fine, publishes an ordinance or appoints someone — it goes to the DOU first. This actor monitors the DOU for your keywords and returns matching acts from the last 3 days.

---

### Casos de uso | Use cases

| 🇧🇷 Para que serve | 🌎 What it's for |
| --- | --- |
| 📋 Sua empresa foi citada em ato federal? | Was your company mentioned in a federal act? |
| 🏆 Um concorrente ganhou um contrato público? | Did a competitor win a government contract? |
| ⚖️ Algum fornecedor foi multado ou sancionado? | Was a supplier fined or sanctioned? |
| 👤 Um sócio foi nomeado ou exonerado de cargo? | Was a partner appointed or removed from office? |
| 📰 Mudança regulatória no seu setor? | Regulatory change in your industry? |
| 🔍 Due diligence contínua em parceiros críticos | Ongoing due diligence on critical partners |

---

### Como usar | How to use

#### Input

```json
{
  "q": ["Petrobras", "Vale S.A.", "Embraer"],
  "s": "todos"
}
````

| Campo | Tipo | Obrigatório | Descrição / Description |
| --- | --- | --- | --- |
| `q` | `string[]` | ✅ | Termos de busca, até 100 por execução. Case-insensitive. / Search terms, up to 100 per run. |
| `s` | `string` | ❌ | Seção: `todos` (padrão), `DO1`, `DO2`, `DO3` |

**Seções / Sections:**

- `DO1` — Nomeações, exonerações, aposentadorias *(personnel acts)*
- `DO2` — Registros e alterações societárias *(corporate registrations)*
- `DO3` — Contratos, licitações, editais *(contracts & tenders)*

#### Output

Um item por publicação encontrada. / One item per publication found.

```json
{
  "secao": "DO3",
  "data": "26/05/2026",
  "titulo": "Extrato de Contrato Nº 4500123456",
  "tipo": "Extrato de Contrato",
  "resumo": "Contratada: PETRÓLEO BRASILEIRO S.A. - PETROBRAS. Objeto: Fornecimento de combustível...",
  "url": "https://www.in.gov.br/web/dou/-/extrato-de-contrato-n-4500123456-708316839",
  "edicao": 97,
  "pagina": 183,
  "hierarquia": ["Ministério de Minas e Energia", "Agência Nacional do Petróleo"],
  "orgao": "Agência Nacional do Petróleo, Gás Natural e Biocombustíveis - ANP",
  "idPublicacao": 708316839,
  "termoBuscado": "Petrobras",
  "ocorrencias": ["PETROBRAS", "Petrobras Distribuidora S.A."]
}
```

O campo `ocorrencias` é exclusivo deste actor: retorna as variantes exatas do termo encontradas no texto (ex: buscar *"petrobras"* pode retornar `["PETROBRAS", "Petrobras Transportes S.A."]`).

> The `ocorrencias` field is unique to this actor: it returns the exact variants of the search term found in the text.

***

### Agendamento diário | Daily scheduling

Configure uma vez no **Apify Scheduler** e esqueça — o actor roda todo dia no horário definido:

1. Abra o actor no Console → **Schedules** → **New schedule**
2. Defina o horário (sugestão: `0 8 * * *` = todo dia às 08h)
3. Adicione um webhook para receber os resultados via HTTP, email ou integração (Zapier, Make, n8n)

Monitorar uma empresa todos os dias custa **$3,00/mês** (30 execuções × $0,10).

> Set up once in Apify Scheduler and forget it. Monitoring one company every day costs **$3.00/month**.

***

### Acesso via API (RapidAPI) | API access

Prefere consumir como API REST? Disponível no RapidAPI:

```bash
curl -X POST \
  "https://dou-monitor-diario-oficial-da-uniao.p.rapidapi.com/search" \
  -H "X-RapidAPI-Key: SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{"q": ["Petrobras"], "s": "DO3"}'
```

**$0,10 por requisição** — independente do número de termos ou publicações retornadas.

***

### Pipeline / Actors relacionados

Após identificar menções no DOU, enriqueça e valide as empresas com os demais actors **brasildados**:

| Actor | Quando usar no pipeline |
|-------|------------------------|
| [CNPJ Enrichment & Lead Search](https://apify.com/brasildados/cnpj-enrichment-lead-search) | Enriqueça os CNPJs mencionados no DOU com dados cadastrais, sócios e contatos |
| [Brazil Sanctions Check](https://apify.com/brasildados/sanctions-check) | Verifique se novas sanções publicadas no DOU já constam em CEIS/CNEP |
| [Government Contracts Check](https://apify.com/brasildados/government-contracts-check) | Consulte contratos vigentes de empresas mencionadas em atos de dispensa ou licitação |
| [Editais e Licitações do Brasil](https://apify.com/brasildados/editais-licitacoes-brasil) | Encontre os editais completos citados em extratos publicados no DOU |

**Exemplo de pipeline de monitoramento:** DOU Monitor (schedule diário) → enrichment dos CNPJs encontrados → sanctions check automático.

***

### Fonte de dados | Data source

Dados obtidos diretamente do **Diário Oficial da União**, publicação oficial do governo federal brasileiro operada pela Imprensa Nacional. Todos os atos são de domínio público.

> Data sourced directly from Brazil's **Diário Oficial da União**, the official federal government gazette operated by the National Press. All acts are public domain.

***

### Suporte | Support

Dúvidas, problemas ou sugestões? Entre em contato: **contato@brasildados.org**

Questions, issues or suggestions? Contact us at: **contato@brasildados.org**

# Actor input Schema

## `q` (type: `array`):

Lista de termos para monitorar no DOU. Cada termo é buscado de forma independente - adicione um por campo para monitorar múltiplas empresas ou palavras-chave na mesma execução. A busca ignora maiúsculas e minúsculas. | Search terms to monitor in the Official Gazette. Each term is searched independently - add one per field to monitor multiple companies or keywords in the same run. Search is case-insensitive.

## `s` (type: `string`):

Seção do Diário Oficial a buscar. DO1 = atos de pessoal, DO2 = atos societários, DO3 = contratos e editais. | DOU section to search. DO1 = personnel acts, DO2 = corporate acts, DO3 = contracts and notices.

## Actor input object example

```json
{
  "q": [
    "Petrobras",
    "Vale S.A."
  ],
  "s": "todos"
}
```

# Actor output Schema

## `publicacoes` (type: `string`):

Lista de publicações do Diário Oficial da União que mencionam os termos buscados. | List of Official Gazette publications mentioning the searched terms.

# 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 = {
    "q": [
        "Petrobras",
        "Vale S.A."
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("brasildados/dou-monitor").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 = { "q": [
        "Petrobras",
        "Vale S.A.",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("brasildados/dou-monitor").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 '{
  "q": [
    "Petrobras",
    "Vale S.A."
  ]
}' |
apify call brasildados/dou-monitor --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Diário Oficial da União Scraper - DOU Monitor Brazil",
        "description": "Monitor Brazil's Official Gazette (DOU) publications by search term. Returns contracts, ordinances, sanctions and more from the last 3 days. Schedule daily runs to track companies, competitors or regulatory changes.",
        "version": "1.0",
        "x-build-id": "3IhfnxCKHpjh4tmkA"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/brasildados~dou-monitor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-brasildados-dou-monitor",
                "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/brasildados~dou-monitor/runs": {
            "post": {
                "operationId": "runs-sync-brasildados-dou-monitor",
                "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/brasildados~dou-monitor/run-sync": {
            "post": {
                "operationId": "run-sync-brasildados-dou-monitor",
                "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": [
                    "q"
                ],
                "properties": {
                    "q": {
                        "title": "Termos de Busca",
                        "minItems": 1,
                        "type": "array",
                        "description": "Lista de termos para monitorar no DOU. Cada termo é buscado de forma independente - adicione um por campo para monitorar múltiplas empresas ou palavras-chave na mesma execução. A busca ignora maiúsculas e minúsculas. | Search terms to monitor in the Official Gazette. Each term is searched independently - add one per field to monitor multiple companies or keywords in the same run. Search is case-insensitive.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "s": {
                        "title": "Seção do DOU",
                        "enum": [
                            "todos",
                            "DO1",
                            "DO2",
                            "DO3"
                        ],
                        "type": "string",
                        "description": "Seção do Diário Oficial a buscar. DO1 = atos de pessoal, DO2 = atos societários, DO3 = contratos e editais. | DOU section to search. DO1 = personnel acts, DO2 = corporate acts, DO3 = contracts and notices.",
                        "default": "todos"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
