# Compras.gov Brazil Tenders & Bids Scraper (`latinamericadata/compras-gov-brasil`) Actor

Extraia licitações do Compras.gov por palavra-chave, estado, modalidade e período. Obtenha órgão, objeto, datas, valor estimado e links oficiais. Exporte em JSON, CSV ou Excel e integre por API, webhooks e automações.

- **URL**: https://apify.com/latinamericadata/compras-gov-brasil.md
- **Developed by:** [Latin America Data](https://apify.com/latinamericadata) (community)
- **Categories:** Business, Lead generation
- **Stats:** 2 total users, 1 monthly users, 89.3% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 resultado entregues

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

O **Compras.gov Scraper** transforma dados públicos de [Compras.gov.br](https://www.gov.br/compras/pt-br) em registros estruturados e prontos para análise. Monitore oportunidades de compras públicas federais com filtros comerciais e geográficos. A saída reúne as informações centrais de cada processo para prospecção B2G, inteligência de mercado e acompanhamento de prazos.

Esta é uma ferramenta independente e não oficial da **Latin America Data**. Não é afiliada, patrocinada nem operada por Compras.gov.br.

### O que você pode extrair com Compras.gov Scraper

- Objeto, órgão, unidade compradora e CNPJ da organização.
- Modalidade, número do processo e identificadores oficiais.
- Datas de publicação, início e encerramento de propostas.
- Valor estimado, cidade, estado e link da contratação.

Os registros incluem `source_url` para conferência. Campos que não aparecem na fonte permanecem vazios; o actor não inventa valores para completar o dataset.

### Casos de uso para dados de Compras.gov.br

- Encontrar licitações relacionadas a produtos ou serviços específicos.
- Criar alertas de oportunidades por estado, modalidade e período.
- Medir demanda pública e valores estimados em categorias estratégicas.
- Alimentar CRMs e pipelines comerciais de fornecedores do governo.

### Como usar o Compras.gov Scraper

1. Abra a aba **Input** e informe os termos, locais, filtros ou URLs necessários.
2. Para a primeira execução, use um limite pequeno se quiser validar rapidamente o formato.
3. Clique em **Start** e acompanhe a execução no Console da Apify.
4. Abra o dataset para revisar e exportar os resultados.

#### Principais campos de entrada

| Campo | Nome no formulário | Finalidade | Padrão |
| --- | --- | --- | --- |
| `keyword` | Palavra-chave | Filtro opcional aplicado ao objeto da compra. | ``|
| `state` | UF | UF opcional, como SP ou MG. |`` |
| `modalityCode` | Codigo da modalidade | Codigo Compras.gov; 6 representa dispensa no contrato usado. | `6` |
| `startDate` | Data inicial | Opcional, formato AAAA-MM-DD. | opcional |
| `endDate` | Data final | Opcional, formato AAAA-MM-DD. | opcional |
| `maxItems` | Maximo de resultados | Opcional. Se omitido, entrega todos os resultados encontrados no escopo da busca. | opcional |

Limites como `maxItems` e `maxPages` só restringem a coleta quando recebem um valor. Quando ficam vazios, o actor continua enquanto a fonte fornecer novos resultados dentro do escopo informado.

#### Exemplo de entrada

```json
{
  "daysBack": 7,
  "modalityCode": 6,
  "keyword": "tecnologia"
}
```

### Dados de saída do Compras.gov Scraper

- Processo: `purchase_id`, `process_number`, `object` e `modality`.
- Comprador: `organization_name`, `organization_cnpj` e `unit_name`.
- Prazos: `publication_date`, `proposal_start` e `proposal_end`.
- Valor e local: `estimated_value`, `city`, `state` e `source_url`.

Cada linha usa `status=success` quando contém um licitação entregue. Pesquisas válidas sem correspondência podem gerar `no_results`; indisponibilidades controladas aparecem como `blocked` ou `failed`. Essas linhas operacionais tornam a execução auditável e não são cobradas como resultado.

O dataset pode ser baixado em **JSON, CSV ou Excel**. Você também pode consultar os registros pela API da Apify sem alterar o formato definido pelo actor.

### API, integrações e automações para Compras.gov.br

Execute o actor por Python, JavaScript, cURL, MCP ou pela API da Apify. Para acompanhar Compras.gov.br continuamente, salve a entrada como tarefa e conecte agendamentos ou webhooks ao destino usado pela sua equipe.

### Quanto custa usar o Compras.gov Scraper?

O preço atual é **USD 0.001 por licitação entregue**; 1.000 resultados bem-sucedidos representam USD 1.00 em eventos de resultado. Linhas `no_results`, `blocked` e `failed` não são cobradas. O usuário assume o custo de uso da plataforma e pode definir limites durante os testes.

### Perguntas frequentes sobre Compras.gov.br

#### Posso buscar licitações por palavra-chave?

Sim. Informe termos ligados ao seu mercado e combine com estado, modalidade ou datas para reduzir ruído.

#### Como receber novas oportunidades do Compras.gov?

Crie uma tarefa com seus filtros, agende execuções recorrentes e envie o dataset para email, webhook, planilha ou CRM.

### Outros scrapers de dados do Brasil

- [PNCP Brazil Public Procurement Data Scraper](https://apify.com/pmodinger/pncp-brasil)
- [Brazil CNPJ Company Lookup & Registry Data](https://apify.com/pmodinger/cnpj-empresas-brasil)

### Independência e uso responsável

Este actor independente da **Latin America Data** não é afiliado nem operado por Compras.gov.br. Use os dados com finalidade legítima, respeite a legislação e os termos aplicáveis, e valide decisões importantes nos links de origem.

# Actor input Schema

## `daysBack` (type: `integer`):

Periodo automatico quando as datas nao forem informadas.

## `startDate` (type: `string`):

Opcional, formato AAAA-MM-DD.

## `endDate` (type: `string`):

Opcional, formato AAAA-MM-DD.

## `modalityCode` (type: `integer`):

Codigo Compras.gov; 6 representa dispensa no contrato usado.

## `keyword` (type: `string`):

Filtro opcional aplicado ao objeto da compra.

## `state` (type: `string`):

UF opcional, como SP ou MG.

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

Opcional. Se omitido, entrega todos os resultados encontrados no escopo da busca.

## `maxPages` (type: `integer`):

Opcional. Se omitido, continua ate a fonte nao retornar novos resultados.

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

Tamanho da pagina oficial.

## `failOnNoResults` (type: `boolean`):

Falha quando nenhum registro atende aos filtros.

## Actor input object example

```json
{
  "daysBack": 7,
  "modalityCode": 6,
  "keyword": "",
  "state": "",
  "pageSize": 25,
  "failOnNoResults": false
}
```

# Actor output Schema

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

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("latinamericadata/compras-gov-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("latinamericadata/compras-gov-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 latinamericadata/compras-gov-brasil --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/lUkJyiSKmi7KXJPHS/builds/dBiEykQy633ef3wkp/openapi.json
