# Radar de Editais de Fomento Brasil (Finep, FAPESP, CNPq, CAPES) (`the_coder_senior/radar-editais-fomento`) Actor

Coleta editais e chamadas públicas abertas de Finep, FAPESP, CNPq, CAPES, Embrapii e FAPs (CONFAP). Pontua a aderência ao perfil da sua empresa, resume o PDF com IA e avisa só o que é novo.

- **URL**: https://apify.com/the_coder_senior/radar-editais-fomento.md
- **Developed by:** [Márcio Makoto Nakamura](https://apify.com/the_coder_senior) (community)
- **Categories:** AI, Automation
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Radar de Editais de Fomento Brasil

![Radar de Editais de Fomento Brasil](https://api.apify.com/v2/key-value-stores/M8W3BvLhM9v9EvAWU/records/cover.png)

**Todos os editais abertos de Finep, FAPESP, CNPq, CAPES, Embrapii e das chamadas conjuntas das FAPs (CONFAP) em uma lista só, com prazo, valor, modalidade, quem pode participar, nota de aderência ao perfil da sua empresa e resumo do PDF feito por IA.**

> **English summary.** Radar de Editais de Fomento Brasil collects open Brazilian innovation and research funding calls (Finep, FAPESP, CNPq, CAPES, Embrapii and CONFAP joint calls) into one normalized dataset: deadline, amount, funding type (grant, loan, scholarship...), eligible company size, themes and status. Give it your company profile (CNAE, size, state, areas) and it returns a 0-100 fit score with a plain-language justification. It can summarize each call's PDF with an LLM, and in monitoring mode it returns only new or changed calls on scheduled runs. Pay per event, structured output, ready for MCP and AI agents. The data and all texts are in Portuguese.

***

### Para quem é

- **Consultorias de fomento e escritórios de advocacia** que acompanham dezenas de clientes e precisam saber, toda manhã, o que abriu e o que mudou.
- **Startups e empresas de base tecnológica** que querem captar subvenção, crédito ou investimento e não têm tempo de visitar seis sites.
- **ICTs, universidades e núcleos de inovação** que monitoram chamadas para pesquisadores e parcerias com empresas.
- **Quem constrói agentes de IA e automações** (Make, n8n, Zapier, MCP) e precisa de uma fonte estruturada de editais brasileiros.

### O que você recebe

![Do órgão ao seu painel](https://api.apify.com/v2/key-value-stores/M8W3BvLhM9v9EvAWU/records/fluxo.png)

| Recurso | O que faz |
| --- | --- |
| **Seis fontes em um formato só** | Finep, FAPESP, CNPq, CAPES, CONFAP (chamadas conjuntas das FAPs estaduais) e Embrapii, com os mesmos campos. |
| **Prazo, valor e modalidade** | Data-limite de submissão, dias restantes, maior valor citado em R$ e o tipo de apoio (subvenção, reembolsável, bolsa, auxílio à pesquisa, investimento, prêmio...). |
| **Quem pode participar** | Porte e público elegível (MEI, micro, pequena, média, grande, startup, ICT, pesquisador...) e temas (saúde, agro, energia, digital...). |
| **Nota de aderência (0 a 100)** | Compara o edital com o perfil da sua empresa e explica a nota em frases. |
| **Resumo do PDF com IA** | Objetivo, quem pode participar, valores e contrapartida, cronograma, documentos exigidos, critérios de avaliação e pontos de atenção. |
| **Modo monitoramento** | Em execuções agendadas, devolve só editais novos ou que mudaram. Você só paga pelas novidades. |
| **Pronto para agentes** | Esquema de entrada descrito campo a campo e saída estruturada em JSON, ideal para MCP. |

### Como usar, passo a passo

#### 1. Rode sem configurar nada

Clique em **Start**. Sem nenhum campo preenchido, o Radar consulta as seis fontes e entrega todos os editais abertos, ordenados pelo prazo mais próximo.

#### 2. Filtre o que importa

- **Fontes**: escolha só os órgãos que interessam.
- **Palavras-chave**: ex. `inteligência artificial`, `saúde`, `hidrogênio` (ignora acentos e maiúsculas).
- **Modalidades**: ex. só `subvencao` e `reembolsavel`.
- **Prazo mínimo (dias)**: descarte o que não dá tempo de preparar.

#### 3. Informe o perfil da empresa e receba a nota

Preencha **Porte**, **UF**, **CNAE** e **Áreas de atuação** (todos opcionais). Cada edital ganha uma nota de 0 a 100 e a lista do que pesou:

| Critério | Peso | Como é avaliado |
| --- | --- | --- |
| Público e porte | 30 | O edital aceita o porte do perfil? |
| Abrangência / UF | 20 | Nacional, ou da sua UF? |
| Tema e área | 40 | CNAE, áreas e palavras-chave batem com os temas do edital? |
| Prazo | 10 | Dá tempo de preparar? |

Notas de 75 a 100 são **altas**, de 50 a 74 **médias** e abaixo de 50 **baixas**. Use **Nota mínima de aderência** para receber só o que vale a pena ler. Perfil vazio significa sem nota, e o campo `aderencia` vem `null`.

#### 4. Peça o resumo com IA (opcional)

Marque **Resumir editais com IA**. O Radar lê o PDF do edital (ou a página, quando não há PDF público) e devolve um resumo estruturado em português. Os primeiros editais da lista são resumidos; com perfil, são os de maior nota. Defina quantos em **Máximo de resumos com IA**.

Você tem duas opções de cobrança:

- **Usar a chave do Radar** (planos pagos): cobra o evento `resumo-ia`.
- **Informar sua própria chave Anthropic** (campo secreto, criptografado pela Apify): cobra o evento mais barato `resumo-ia-chave-propria`, porque o custo do modelo fica com você. Funciona também no plano gratuito.

#### 5. Agende e receba só as novidades

Ligue **Modo monitoramento**, agende o actor (por exemplo, todo dia às 8h) e use uma **Chave do monitoramento** por cliente ou filtro. A primeira execução entrega tudo como `novo`. As seguintes entregam apenas o que é `novo` ou `alterado` (prazo, valor, status, título, PDF ou modalidade), com a lista de `camposAlterados`. Quando nada mudou, a execução entrega 0 editais e **não cobra nada**.

### Exemplo de entrada

```json
{
  "fontes": ["finep", "fapesp", "cnpq"],
  "porte": "startup",
  "uf": "SP",
  "cnae": ["6201-5/01"],
  "areasDeAtuacao": ["inteligência artificial", "saúde"],
  "pontuacaoMinima": 60,
  "resumirComIA": true,
  "maxResumosIA": 3,
  "modoMonitoramento": true,
  "chaveMonitoramento": "minha-startup"
}
```

### Exemplo de saída

![Exemplo de edital entregue](https://api.apify.com/v2/key-value-stores/M8W3BvLhM9v9EvAWU/records/resultado.png)

```json
{
  "id": "finep:755605",
  "fonte": "finep",
  "orgao": "Finep",
  "titulo": "Finep Mais Inovação Brasil – Rodada 2 – Semicondutores",
  "link": "https://www.finep.gov.br/e/chamada-publica/222684/755605",
  "prazoSubmissao": "2026-11-25",
  "diasRestantes": 19,
  "modalidade": "subvencao",
  "valorMaximo": 300000000,
  "porteElegivel": ["startup", "cooperativa"],
  "temas": ["tecnologias-digitais", "materiais"],
  "status": "aberto",
  "aderencia": {
    "score": 87,
    "nivel": "alta",
    "justificativa": [
      "Aceita startup, o porte do perfil.",
      "Abrangência nacional.",
      "Tema em comum: tecnologias-digitais.",
      "Prazo de 19 dias: comece a proposta logo."
    ]
  },
  "resumoIA": null,
  "monitoramento": { "novidade": "novo", "camposAlterados": [] }
}
```

Campos principais: `id`, `fonte`, `orgao`, `titulo`, `link`, `pdfUrl`, `prazoSubmissao` (AAAA-MM-DD), `diasRestantes`, `publicadoEm`, `valorMaximo` e `valorTexto`, `modalidade`, `porteElegivel`, `temas`, `abrangencia`, `uf`, `status` (`aberto`, `encerrado` ou `a_confirmar`), `descricao`, `aderencia`, `resumoIA`, `monitoramento` e `coletadoEm`.

Além do dataset, cada execução grava um registro `OUTPUT` com os totais, o estado de cada fonte, os eventos cobrados, o custo estimado do modelo e o aviso do plano gratuito, quando houver.

#### O que significa `a_confirmar`

Algumas páginas não publicam o prazo de forma legível. Nesses casos o edital vem com `prazoSubmissao: null` e `status: "a_confirmar"`. Confira no link oficial. Chamadas com mais de um ano e sem prazo são tratadas como encerradas.

### Preços

Você paga só pelo que recebe (pay per event), sem mensalidade. O custo de plataforma e de modelo já está incluído nos preços abaixo.

| Evento | Quando é cobrado | Preço |
| --- | --- | --- |
| `edital-entregue` | Cada edital gravado no dataset | **US$ 0,01** |
| `resumo-ia` | Cada resumo gerado com a chave do Radar | **US$ 0,05** |
| `resumo-ia-chave-propria` | Cada resumo gerado com a sua chave Anthropic | **US$ 0,01** |

Exemplos: 40 editais com nota = US$ 0,40. Os 5 melhores resumidos pela chave do Radar = US$ 0,40 + US$ 0,25 = US$ 0,65. Monitoramento diário com 2 novidades = US$ 0,02 por dia.

Você nunca paga por edital não entregue, por fonte fora do ar ou por resumo que falhou. Use **Max cost per run** da Apify para fixar um teto de gasto por execução: o Radar para de entregar ao atingi-lo e avisa no `OUTPUT`.

### Limites do plano gratuito da Apify

O plano gratuito serve para testar. Quando você atinge um limite, a execução **termina com sucesso** e traz uma mensagem clara no campo `aviso` do `OUTPUT` e no log, nunca um erro:

- até **10 editais por execução**;
- resumo com IA somente com a **sua própria chave Anthropic**, até **2 por execução**.

Qualquer plano pago da Apify remove esses limites.

### Perguntas frequentes

**De onde vêm os dados?** Das páginas e APIs públicas de cada órgão. O Radar não acessa áreas restritas nem exige login.

**Isso substitui a leitura do edital?** Não. O resumo e a nota ajudam a decidir o que ler. Os dados são extraídos automaticamente e podem conter imprecisões. Confira prazo, valor e requisitos no edital oficial antes de submeter qualquer proposta.

**A FAPESP e as outras FAPs estão cobertas?** A FAPESP está coberta por inteiro. Das demais FAPs, o Radar traz as chamadas conjuntas publicadas pelo CONFAP. Novas fontes (BNDES, Sebrae e FAPs individuais) entram sem mudar o formato da saída.

**O que acontece se um site estiver fora do ar?** A execução continua com as outras fontes e o `OUTPUT` registra qual falhou. Se todas as fontes selecionadas falharem, a execução termina com erro e nada é cobrado.

**Como o valor é calculado?** O Radar pega o maior valor em reais citado no título, descrição ou página do edital (teto ou total). É uma referência, não o valor garantido por projeto.

**Como a nota é calculada?** Por regras fixas e transparentes (tabela acima), não por IA. A mesma entrada gera sempre a mesma nota, e a justificativa lista cada ponto.

**Posso usar pela API ou em agentes de IA?** Sim. O esquema de entrada descreve cada campo e a saída é JSON estruturado, o que permite usar o actor como ferramenta via MCP da Apify, em Make, n8n, Zapier ou por chamadas diretas à API.

**Minha chave Anthropic fica segura?** O campo é secreto: a Apify o criptografa e ele nunca é gravado no dataset nem no `OUTPUT`.

**Os dados pessoais de alguém são coletados?** Não. Os editais são informações públicas de órgãos de fomento, sem dados pessoais.

### Aviso

Este actor não é afiliado a Finep, FAPESP, CNPq, CAPES, Embrapii, CONFAP nem a qualquer órgão citado. Os nomes pertencem aos seus titulares e aparecem apenas para identificar a origem pública das informações.

Dúvidas, sugestões de fontes ou problemas? Abra uma issue na aba **Issues** deste actor.

# Actor input Schema

## `fontes` (type: `array`):

Órgãos consultados. Deixe vazio para usar todos. finep = Finep (subvenção, crédito, investimento); fapesp = FAPESP (SP, inclui PIPE); cnpq = CNPq; capes = CAPES; confap = chamadas conjuntas das FAPs estaduais via CONFAP; embrapii = Embrapii.

## `apenasAbertos` (type: `boolean`):

Se marcado, descarta editais com prazo já encerrado. Editais sem prazo identificado continuam na lista com status "a_confirmar".

## `palavrasChave` (type: `array`):

Filtra editais que citem pelo menos uma destas palavras no título, descrição ou tema (sem diferenciar acentos e maiúsculas). Ex.: "inteligência artificial", "saúde", "hidrogênio".

## `modalidades` (type: `array`):

Filtra pelo tipo de apoio. Vazio = todas. subvencao = recurso não reembolsável para empresas; reembolsavel = crédito/financiamento; bolsa; auxilio-pesquisa; investimento = FIP/capital semente; premio; cooperacao-internacional; infraestrutura; eventos; outro.

## `prazoMinimoDias` (type: `integer`):

Descarta editais cujo prazo de submissão termina em menos de N dias. Útil para ignorar o que não dá tempo de preparar. Editais sem prazo identificado são mantidos.

## `maxEditais` (type: `integer`):

Quantidade máxima de editais entregues (e cobrados) nesta execução. No plano gratuito da Apify o limite é 10.

## `porte` (type: `string`):

Porte de quem vai concorrer. Usado na nota de aderência.

## `cnae` (type: `array`):

Códigos CNAE da empresa, com ou sem pontuação. Ex.: "6201-5/01" (desenvolvimento de software). A divisão (2 primeiros dígitos) define os temas considerados.

## `areasDeAtuacao` (type: `array`):

Temas em que a empresa atua, em português. Ex.: "inteligência artificial", "saúde", "agronegócio". Também viram palavras-chave buscadas no título e na descrição.

## `uf` (type: `string`):

Estado da sede. Editais estaduais de outra UF recebem nota menor.

## `descricaoEmpresa` (type: `string`):

Opcional. Uma ou duas frases sobre o que a empresa faz; os temas citados entram na nota.

## `pontuacaoMinima` (type: `integer`):

Com perfil preenchido, entrega só editais com nota igual ou maior. 0 = todos.

## `resumirComIA` (type: `boolean`):

Gera um resumo estruturado (objetivo, quem pode participar, valores, prazos, documentos, critérios e pontos de atenção) a partir do PDF do edital, ou da página quando não há PDF público. Cobrado como evento separado. Os primeiros editais da lista (os de maior nota, se houver perfil) são resumidos.

## `maxResumosIA` (type: `integer`):

Quantos editais resumir nesta execução (os primeiros da lista ordenada).

## `anthropicApiKey` (type: `string`):

Opcional. Com sua própria chave, o resumo é cobrado pelo evento mais barato "resumo-ia-chave-propria" e funciona também no plano gratuito (até 2 por execução). A chave é criptografada pela Apify e nunca é gravada no resultado.

## `modoMonitoramento` (type: `boolean`):

Para execuções agendadas: entrega só editais novos ou que mudaram (prazo, valor, status, título, PDF ou modalidade) desde a última execução com a mesma chave de monitoramento. Você só paga pelo que é novidade.

## `chaveMonitoramento` (type: `string`):

Nome do histórico usado na comparação. Use chaves diferentes para monitorar perfis ou filtros diferentes (ex.: "cliente-a", "saude-sp").

## `simularPlanoGratuito` (type: `boolean`):

Apenas para testes: aplica os limites do plano gratuito mesmo em conta paga.

## `simularFontesForaDoAr` (type: `array`):

Apenas para testes: trata as fontes marcadas como indisponíveis para verificar que as demais continuam funcionando.

## Actor input object example

```json
{
  "fontes": [
    "finep",
    "fapesp",
    "cnpq",
    "capes",
    "confap",
    "embrapii"
  ],
  "apenasAbertos": true,
  "maxEditais": 100,
  "pontuacaoMinima": 0,
  "resumirComIA": false,
  "maxResumosIA": 5,
  "modoMonitoramento": false,
  "chaveMonitoramento": "padrao",
  "simularPlanoGratuito": false
}
```

# Actor output Schema

## `editais` (type: `string`):

Lista de editais com prazo, valor, modalidade, porte, temas, nota de aderência e resumo com IA.

## `relatorio` (type: `string`):

Registro OUTPUT com totais, fontes, eventos cobrados e aviso do plano.

# 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 = {
    "fontes": [
        "finep",
        "fapesp",
        "cnpq",
        "capes",
        "confap",
        "embrapii"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("the_coder_senior/radar-editais-fomento").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 = { "fontes": [
        "finep",
        "fapesp",
        "cnpq",
        "capes",
        "confap",
        "embrapii",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("the_coder_senior/radar-editais-fomento").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "fontes": [
    "finep",
    "fapesp",
    "cnpq",
    "capes",
    "confap",
    "embrapii"
  ]
}' |
apify call the_coder_senior/radar-editais-fomento --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,the_coder_senior/radar-editais-fomento"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/1PDbHTSoZ3KcFHhIx/builds/hRTkjz1V2mMIAE1DZ/openapi.json
