# ReBEC — Ensaios Clínicos Registrados no Brasil (`guzik_andre/rebec-ensaios-clinicos`) Actor

Varre o Registro Brasileiro de Ensaios Clínicos (ReBEC/Fiocruz) e devolve título, patrocinador, condição de saúde e status de recrutamento de cada ensaio — inteligência competitiva pra indústria farmacêutica, CROs e pesquisa acadêmica.

- **URL**: https://apify.com/guzik\_andre/rebec-ensaios-clinicos.md
- **Developed by:** [Andre Guzik](https://apify.com/guzik_andre) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.00 / 1,000 resultados

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

## ReBEC — Ensaios Clínicos Registrados no Brasil

Acompanhar novos ensaios clínicos registrados no Brasil — quem patrocina,
qual condição de saúde, em que fase de recrutamento — é trabalho manual e
lento no site oficial. Este Actor varre o Registro Brasileiro de Ensaios
Clínicos (ReBEC/Fiocruz) e devolve os dados normalizados: título (PT/EN),
patrocinador, condição de saúde, status de recrutamento e países — útil
pra inteligência competitiva farmacêutica, CROs (Organizações
Representativas de Pesquisa Clínica), monitoramento regulatório ou
pesquisa acadêmica.

### O que você recebe, por ensaio

Sempre incluído (só listagem):

- `rbr` — código de registro (ex.: `RBR-10q7xt2d`)
- `titulo` — título como aparece na listagem pública
- `dataRegistro` / `dataUltimaAprovacao` — datas ISO (`YYYY-MM-DD`)
- `ultimaRevisao` — número da última revisão do registro
- `tipoEstudo` — `Interventional` ou `Observational`

Só se `incluirDetalhes` estiver ligado (uma requisição extra por ensaio):

- `tituloPublico` / `tituloCientifico` — objeto por idioma (`en`, `pt-br`)
- `condicoesSaude` — condição de saúde estudada, por idioma
- `patrocinadorPrincipal` — instituição responsável
- `statusEstudo` — ex.: `Recruiting`, `Completed`, `Not recruiting`
- `paisesRecrutamento` — lista de países
- `dataPrimeiraInclusao` — data ISO do primeiro paciente incluído

### Exemplo de saída

Com `incluirDetalhes: true`:

```json
{
  "rbr": "RBR-3sv55hy",
  "titulo": "Comparison of game-based technologies and conventional physiotherapy on motor and cognitive recovery in adults after stroke and adults with cerebral palsy",
  "dataRegistro": "2026-09-15",
  "dataUltimaAprovacao": "2026-09-15",
  "ultimaRevisao": 1,
  "tipoEstudo": "Interventional",
  "tituloPublico": {
    "en": "Comparison of game-based technologies and conventional physiotherapy on motor and cognitive recovery in adults after stroke and adults with cerebral palsy",
    "pt-br": "Comparação de tecnologias com jogos e fisioterapia convencional na recuperação dos movimentos e da cognição de adultos após acidente vascular cerebral e com paralisia cerebral"
  },
  "condicoesSaude": {
    "en": "Stroke; Cerebral palsy",
    "pt-br": "Acidente Vascular Cerebral; Paralisia Cerebral"
  },
  "patrocinadorPrincipal": "Associação de Assistência a Criança Deficiente AACD",
  "statusEstudo": "Not yet recruiting",
  "paisesRecrutamento": ["Brazil"],
  "dataPrimeiraInclusao": "2026-10-01"
}
```

Com `incluirDetalhes: false` (padrão), só os 6 primeiros campos vêm preenchidos.

### Input

| Campo | Obrigatório | Descrição |
|---|---|---|
| `paginaInicial` | Não | Primeira página a varrer (20 ensaios/página, mais recentes primeiro). Padrão `1`. |
| `paginaFinal` | Não | Última página a varrer. Padrão = igual à inicial (uma página só). |
| `incluirDetalhes` | Não | Se `true`, busca a página completa de cada ensaio (mais lento, mais dado). Padrão `false`. |

Sem `paginaFinal` maior que `paginaInicial`, o Actor traz só a página mais
recente — rode periodicamente (ex.: diário) pra acompanhar só os ensaios
novos.

### Fonte dos dados

Listagem pública e página de detalhe do ReBEC
(`ensaiosclinicos.gov.br/list`, `/rg/<código>`) — sem login, sem CAPTCHA
pra navegar (o site carrega Cloudflare Turnstile em outros pontos, mas não
bloqueia a listagem/paginação). Este Actor **não** usa o caminho
`/xml_ictrp/` (export XML padrão OMS/ICTRP) — apesar de existir e ser mais
rápido pra dump em massa, ele está em `Disallow` no `robots.txt` do site
pra crawler genérico, então ficou de fora por princípio.

### Limitações conhecidas

- A busca por palavra-chave do próprio ReBEC foi desativada pelo site
  (virou uma caixa de busca do Google) — este Actor não filtra por
  condição/patrocinador/status, só varre por página. Filtrar por esses
  campos hoje exige buscar `incluirDetalhes: true` e filtrar depois, no
  seu lado.
- A listagem traz os ensaios mais recentes primeiro, mas a ordem exata
  dentro da página pode variar entre execuções distantes no tempo.
- 18.943 ensaios cadastrados ao todo (nem todos "válidos"/aprovados) —
  rodar `paginaFinal` alto sem necessidade gera muitas requisições; comece
  pequeno.

### Pagamento — inclusive por agente de IA (x402)

Além da cobrança normal pela sua conta Apify, este Actor aceita pagamento
via **protocolo x402**: um agente de IA pode rodar e pagar em USDC (rede
Base) **sem conta Apify, sem API key e sem aprovação humana** — recebe um
desafio HTTP 402, autoriza o pagamento a partir da própria carteira, e o
Actor roda na hora. Mesmo preço por resultado, é só mais um jeito de
pagar. Funciona tanto chamando o Actor direto pela API da Apify quanto via
MCP (`search-actors` / `call-actor`) — não precisa pré-configurar nada.

### Actors relacionados

Do mesmo desenvolvedor, outro padrão (due diligence de fornecedor/obra):
**SP Alvarás de Obras — Aprova Digital**, **CRF-SP — Consulta de Situação
Cadastral**, **PROCON-SP — Empresas Autuadas (Multas)** e **PROCON-PR —
Reclamações contra Fornecedor**.

# Actor input Schema

## `paginaInicial` (type: `integer`):

Primeira página da listagem pública do ReBEC a varrer (20 ensaios por página, mais recentes primeiro).

## `paginaFinal` (type: `integer`):

Última página a varrer. Igual à página inicial por padrão (uma página só). Aumente pra pegar mais ensaios de uma vez.

## `incluirDetalhes` (type: `boolean`):

Se ligado, abre a página de cada ensaio pra trazer condição de saúde, patrocinador, status de recrutamento e países — uma requisição extra por ensaio (mais lento). Se desligado, traz só os campos já visíveis na listagem (título, datas, tipo de estudo).

## Actor input object example

```json
{
  "paginaInicial": 1,
  "paginaFinal": 1,
  "incluirDetalhes": false
}
```

# Actor output Schema

## `ensaios` (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("guzik_andre/rebec-ensaios-clinicos").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("guzik_andre/rebec-ensaios-clinicos").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 '{}' |
apify call guzik_andre/rebec-ensaios-clinicos --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,guzik_andre/rebec-ensaios-clinicos"
        }
    }
}
```

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/OfNvKdXd2S67bDg8C/builds/84Ot4rNMynTThdMkw/openapi.json
