# Petrobras Contratos Scraper Actor (`persistent_backpack/petrobras-contratos-scraper-actor`) Actor

Este Actor consulta contratos disponíveis no Portal da Transparência da Petrobras e transforma os dados retornados pelo portal em uma estrutura JSON padronizada, pronta para integração com agentes de IA, sistemas internos, APIs, automações e ferramentas de análise.

- **URL**: https://apify.com/persistent\_backpack/petrobras-contratos-scraper-actor.md
- **Developed by:** [Fabio Carvano](https://apify.com/persistent_backpack) (community)
- **Categories:** Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / actor start

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Petrobras — Consulta de Contratos Públicos

Consulte contratos publicados no Portal da Transparência da Petrobras e receba os resultados em formato estruturado, prontos para análise, automação e integração com outros sistemas.

Este Actor permite pesquisar contratos por fornecedor, CNPJ ou CPF, número do contrato, processo, objeto, vigência, valor, situação e unidade administrativa.

### O que este Actor faz

O Actor acessa informações públicas disponibilizadas no Portal da Transparência da Petrobras, executa a consulta com os filtros informados, percorre automaticamente todas as páginas necessárias e grava cada contrato encontrado como um item individual no Dataset da Apify.

Os resultados podem ser exportados ou consumidos pela API da Apify.

### Principais funcionalidades

- Consulta por número do contrato
- Consulta por número do processo
- Consulta por número do ICJ
- Pesquisa por fornecedor
- Consulta por CNPJ ou CPF
- Pesquisa por palavras no objeto do contrato
- Filtro por início e fim da vigência
- Filtro por faixa de valor
- Filtro por situação do contrato
- Filtro por enquadramento
- Filtro por unidade administrativa
- Combinação de vários filtros
- Paginação automática
- Limitação opcional da quantidade de resultados
- Saída estruturada em JSON
- Armazenamento no Dataset da Apify
- Suporte ao proxy da Apify

### Aplicações

#### Inteligência comercial

Identifique contratos atuais e anteriores de fornecedores, incluindo objetos contratados, valores, períodos de vigência e unidades administrativas.

#### Prospecção

Localize empresas que já fornecem produtos ou serviços para a Petrobras e analise oportunidades comerciais relacionadas.

#### Análise de mercado

Pesquise contratos por temas como tecnologia, segurança cibernética, infraestrutura, licenciamento, telecomunicações, manutenção e automação.

#### Acompanhamento contratual

Consulte contratos ativos, datas de encerramento e contratos próximos do fim da vigência.

#### Agentes de inteligência artificial

Utilize o Actor como fonte estruturada de dados para Claude, ChatGPT, LangGraph, MCP e outras plataformas de automação.

### Exemplo de entrada por CNPJ

```
{
  "cnpjCpf": "[CNPJ_DA_EMPRESA]",
  "pageSize": 50
}
```

### Exemplo de entrada por fornecedor

```
{
  "fornecedor": "[NOME_DA_EMPRESA]",
  "pageSize": 50
}
```

### Exemplo de entrada por objeto

```
{
  "objeto": "segurança cibernética",
  "pageSize": 50
}
```

### Exemplo de consulta combinada

```
{
  "fornecedor": "[NOME_DA_EMPRESA]",
  "objeto": "tecnologia",
  "inicioVigenciaDe": "2020-01-01",
  "fimVigenciaAte": "2030-12-31",
  "pageSize": 50,
  "limite": 500
}
```

### Campos de entrada

| Campo | Descrição |
|---|---|
| `numeroContrato` | Número completo ou parcial do contrato |
| `numeroProcesso` | Número completo ou parcial do processo |
| `numeroIcj` | Número completo ou parcial do ICJ |
| `fornecedor` | Nome completo ou parcial do fornecedor |
| `cnpjCpf` | CNPJ ou CPF do fornecedor |
| `objeto` | Palavra ou trecho do objeto contratual |
| `unidadeAdministrativa` | Unidade administrativa pesquisada |
| `situacaoCodigo` | Código da situação disponibilizada pelo portal |
| `enquadramentoCodigo` | Código do enquadramento |
| `inicioVigenciaDe` | Data inicial mínima da vigência |
| `inicioVigenciaAte` | Data inicial máxima da vigência |
| `fimVigenciaDe` | Data final mínima da vigência |
| `fimVigenciaAte` | Data final máxima da vigência |
| `valorContratoDe` | Valor mínimo do contrato |
| `valorContratoAte` | Valor máximo do contrato |
| `pageSize` | Quantidade de registros solicitada por página |
| `limite` | Quantidade máxima de registros retornados |
| `incluirBruto` | Preserva registros brutos para auditoria |
| `proxyConfig` | Configuração de proxy da Apify |

As datas devem ser informadas no formato `AAAA-MM-DD`.

### Exemplo de resultado

```
{
  "numero_contrato": "[NUMERO_DO_CONTRATO]",
  "processo": "[NUMERO_DO_PROCESSO]",
  "cnpj_cpf": "[CNPJ_OU_CPF]",
  "fornecedor": "[NOME_DA_EMPRESA]",
  "objeto": "PRESTAÇÃO DE SERVIÇOS DE LICENÇAS DE SOFTWARE E SERVIÇO DE SUPORTE DO FABRICANTE F5",
  "fundamento_legal": "Licitação, Lei 13.303, Art. 28, CAPUT",
  "unidade_administrativa": "910816 - Petróleo Brasileiro S.A.",
  "modalidade": "LICITAÇÃO",
  "situacao": "Ativo",
  "moeda": "R$",
  "valor_contrato": "13112479.33",
  "valor_bruto": "3069533.51",
  "valor_inativo": "0",
  "inicio_vigencia": "10/09/2021",
  "fim_vigencia": "08/09/2026",
  "total_aditivos": 0,
  "tem_download": false
}
```

### Paginação automática

O Actor identifica o total de registros informado pelo portal e consulta automaticamente as páginas adicionais.

Quando `limite` não é informado, o Actor tenta retornar todos os registros encontrados.

Quando `limite` é informado, a execução para ao atingir a quantidade definida.

### Como acessar os resultados

Após executar o Actor:

1. Abra a execução na Apify.
2. Acesse a seção **Storage**.
3. Abra o **Dataset**.
4. Visualize ou exporte os registros.

Os resultados podem ser exportados em JSON, CSV, Excel, XML, HTML e outros formatos disponibilizados pela Apify.

### Documentação técnica

A arquitetura, os parâmetros detalhados, o funcionamento da paginação, o tratamento de erros e as instruções de manutenção estão disponíveis em:

`TECHNICAL.md`

### Fonte dos dados

Os dados são obtidos de informações públicas disponibilizadas no Portal da Transparência da Petrobras.

### Aviso de independência

Este Actor não é afiliado, patrocinado, aprovado ou mantido pela Petrobras.

O nome Petrobras é utilizado exclusivamente para identificar a fonte pública consultada.

### Dependência externa

O funcionamento depende da disponibilidade e da estrutura técnica do portal consultado. Alterações na interface, nos campos ou nas chamadas internas podem exigir manutenção do Actor.

### Uso responsável

Utilize filtros adequados e evite execuções excessivamente frequentes que possam sobrecarregar o portal de origem.

# Actor input Schema

## `numeroContrato` (type: `string`):

Número completo ou parcial do contrato.

## `numeroProcesso` (type: `string`):

Número completo ou parcial do processo administrativo associado ao contrato.

## `numeroIcj` (type: `string`):

Número completo ou parcial do ICJ associado ao contrato.

## `fornecedor` (type: `string`):

Nome completo ou parcial do fornecedor.

## `cnpjCpf` (type: `string`):

Apenas números ou com máscara; deve conter 11 (CPF) ou 14 (CNPJ) dígitos.

## `objeto` (type: `string`):

Palavra ou trecho do objeto contratual.

## `unidadeAdministrativa` (type: `array`):

Uma ou mais unidades administrativas a filtrar.

## `situacaoCodigo` (type: `string`):

Código da situação do contrato conforme opções do portal. Use "0" para não filtrar.

## `enquadramentoCodigo` (type: `integer`):

Código do enquadramento do processo. Use 0 para não filtrar.

## `inicioVigenciaDe` (type: `string`):

Formato AAAA-MM-DD.

## `inicioVigenciaAte` (type: `string`):

Formato AAAA-MM-DD.

## `fimVigenciaDe` (type: `string`):

Formato AAAA-MM-DD.

## `fimVigenciaAte` (type: `string`):

Formato AAAA-MM-DD.

## `valorContratoDe` (type: `string`):

Aceita 10000, 10000.50 ou 10.000,50.

## `valorContratoAte` (type: `string`):

Aceita 10000, 10000.50 ou 10.000,50.

## `pageSize` (type: `integer`):

Quantidade solicitada por página ao portal. Normalizado internamente para o intervalo 10-100.

## `limite` (type: `integer`):

Máximo total de registros a retornar. Deixe em branco para buscar todos os registros informados pelo portal.

## `formato` (type: `string`):

Formato principal da saída (atualmente apenas JSON).

## `incluirBruto` (type: `boolean`):

Também grava os registros sem a normalização final, para auditoria/depuração.

## `proxyConfig` (type: `object`):

Proxy da Apify a ser usado no contexto do Playwright. Recomendado para execuções recorrentes ou de maior volume.

## Actor input object example

```json
{
  "unidadeAdministrativa": [],
  "situacaoCodigo": "0",
  "enquadramentoCodigo": 0,
  "pageSize": 10,
  "formato": "json",
  "incluirBruto": false,
  "proxyConfig": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `resultados` (type: `string`):

Registros normalizados armazenados no Dataset padrão.

## `resumo` (type: `string`):

Resumo armazenado no registro OUTPUT do Key-Value Store padrão.

# 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 = {
    "proxyConfig": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("persistent_backpack/petrobras-contratos-scraper-actor").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 = { "proxyConfig": { "useApifyProxy": True } }

# Run the Actor and wait for it to finish
run = client.actor("persistent_backpack/petrobras-contratos-scraper-actor").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 '{
  "proxyConfig": {
    "useApifyProxy": true
  }
}' |
apify call persistent_backpack/petrobras-contratos-scraper-actor --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/70XCQoAtI9figgcT5/builds/zJ9cG3CuB2uWct7PN/openapi.json
