# INPI - Registro de Patentes por CNPJ - API (`brasildados/inpi-patentes-api-cnpj`) Actor

Consulte as patentes (INPI) de qualquer empresa por CNPJ: número do pedido, data de depósito, título e classificação IPC, com o total de patentes e o comprovante HTML da consulta.

- **URL**: https://apify.com/brasildados/inpi-patentes-api-cnpj.md
- **Developed by:** [brasildados.org - API de Dados Abertos](https://apify.com/brasildados) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $650.00 / 1,000 por cnpjs

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

### 🔎 O que é a API de Patentes INPI por CNPJ?

Esta **API e scraper de patentes do INPI** consulta a base pública do **Instituto Nacional da Propriedade Industrial (INPI)** pelo **CNPJ do titular** e devolve as patentes depositadas em nome da empresa: número do pedido, data de depósito, título e classificação IPC. Cada consulta traz também o **total real de patentes** da empresa e o **comprovante HTML** da pesquisa no INPI, salvo no armazenamento da sua execução.

- ✅ **Busca por CNPJ, não por título:** traz as patentes em nome da empresa, inclusive os pedidos mais recentes.
- ✅ **Até 100 patentes por CNPJ,** com o total real informado em `totalPatentes`.
- ✅ **Classificação IPC** de cada pedido, para mapear em que áreas a empresa inova.
- ✅ **Comprovante HTML da consulta:** a página de resultado do INPI no momento da pesquisa, para evidência em due diligence e auditoria.
- ✅ **Sem cadastro no INPI, sem captcha e sem certificado digital.**
- ✅ **Em lote:** até 30 CNPJs por execução, consultados em paralelo.
- ✅ **Você só paga pelo que é entregue:** CNPJ inválido e CNPJ sem patentes não são cobrados.

### 💼 Casos de uso

- 🔬 **Pesquisa e inovação:** mapear as patentes de uma empresa e as áreas tecnológicas (IPC) em que ela deposita.
- 💼 **Due diligence, M\&A e investimentos:** levantar o portfólio de patentes da empresa-alvo antes de comprar ou investir.
- ⚖️ **Escritórios de PI e jurídicos:** revisar o portfólio de patentes de clientes e prospects pelo CNPJ.
- 🕵️ **Inteligência competitiva:** acompanhar os pedidos de patente de concorrentes, inclusive os mais recentes.
- 🏦 **Crédito, fomento e compliance:** usar o portfólio de patentes como sinal de inovação no cadastro de clientes PJ.
- 👀 **Monitoramento:** agendar execuções para ver novos pedidos de patente de uma lista de empresas.

### 🚀 Como usar pela API

```bash
curl -X POST "https://api.apify.com/v2/acts/brasildados~inpi-patentes-api-cnpj/run-sync-get-dataset-items" \
  -H "Authorization: Bearer SEU_TOKEN_APIFY" \
  -H "Content-Type: application/json" \
  -d '{"cnpjs":["71.673.990/0001-77"]}'
```

Resposta real (a lista `patentes` foi resumida a 3 das 100 patentes retornadas):

```json
[
  {
    "cnpj": "71673990000177",
    "cnpjFormatado": "71.673.990/0001-77",
    "totalPatentes": 192,
    "patentesRetornadas": 100,
    "patentes": [
      {
        "INPInumeroPatentePedido": "BR 10 2026 005249 3",
        "dataDeposito": "2026-03-05",
        "titulo": "USO DE RAMNOLIPÍDEO, PROCESSO PARA A OBTENÇÃO DE RAMNOLIPÍDEOS, RAMNOLIPÍDEO, COMPOSIÇÃO COSMÉTICA PARA INFLAMAÇÃO ASSOCIADA AO ENVELHECIMENTO E/OU SENESCÊNCIA CELULAR, COMPOSIÇÃO COSMÉTICA E MÉTODO PARA TRATAMENTO DERMOCOSMÉTICO",
        "classificacaoIpc": "A61K 8/60"
      },
      {
        "INPInumeroPatentePedido": "BR 10 2025 019574 7",
        "dataDeposito": "2025-09-12",
        "titulo": null,
        "classificacaoIpc": null
      },
      {
        "INPInumeroPatentePedido": "BR 11 2026 017937 6",
        "dataDeposito": "2025-01-20",
        "titulo": "COMPLEXO COSMÉTICO ANTISSINAIS, COMPOSIÇÃO COSMÉTICA, USO E MÉTODO PARA TRATAMENTO COSMÉTICO",
        "classificacaoIpc": "A61K 8/97"
      }
    ],
    "comprovanteHtmlUrl": "https://api.apify.com/v2/key-value-stores/<id-do-armazenamento>/records/patentes-71673990000177.html?signature=<assinatura>",
    "consultadoEm": "2026-10-18T04:19:10.953Z"
  }
]
```

O token fica em **Settings → API & Integrations** no Console da Apify. O link `comprovanteHtmlUrl` já vem assinado e abre direto no navegador, sem token.

#### 🖱️ Pelo Console

1. Clique em **Try for free** (ou **Start**) no topo desta página.
2. Cole os CNPJs, um por linha, com ou sem pontuação.
3. Clique em **Start**. Os resultados aparecem na aba **Output**, prontos para exportar em JSON, CSV ou Excel.

### ⬇️ Entrada

| Campo | Descrição |
|---|---|
| `cnpjs` | **Obrigatório.** De 1 a 30 CNPJs, com ou sem pontuação. |

```json
{
  "cnpjs": ["71.673.990/0001-77", "00.000.000/0001-91"]
}
```

⚠️ **CNPJs inválidos ou repetidos:**

| Você envia | O que acontece |
|---|---|
| `71.673.990/0001-77` ou `71673990000177` | ✅ Válido, consultado. |
| O mesmo CNPJ duas vezes na lista | ✅ Consultado e cobrado uma vez só. |
| `12.345.678/0001-00` (dígito verificador errado), `abc`, `123` | ⏭️ Ignorado e listado no log, sem cobrança. A execução continua com os válidos. |
| CNPJ válido sem patentes no INPI | ⏭️ Registrado no log, sem cobrança. |

### ⬆️ Saída

Um registro por CNPJ encontrado. Download (JSON, CSV, Excel) e API sempre trazem todos os campos; as abas da aba **Output** do Console só mudam quais colunas aparecem na tela.

| Campo | Descrição |
|---|---|
| `cnpj` | CNPJ consultado, só dígitos |
| `cnpjFormatado` | CNPJ no formato 00.000.000/0000-00 |
| `totalPatentes` | Total de patentes do CNPJ no INPI |
| `patentesRetornadas` | Quantidade de patentes desta consulta (até 100) |
| `patentes` | Lista de patentes retornadas |
| `patentes[].INPInumeroPatentePedido` | **Número da patente**: número do pedido no INPI, que identifica a patente (ex.: `BR 10 2026 005249 3`) |
| `patentes[].dataDeposito` | Data de depósito do pedido no INPI (aaaa-mm-dd) |
| `patentes[].titulo` | Título da invenção; `null` quando o INPI não informa |
| `patentes[].classificacaoIpc` | Classificação Internacional de Patentes (IPC): código da **área técnica** da invenção, não é o número da patente (ex.: `A61K 8/60` = cosméticos); `null` quando o INPI não informa |
| `comprovanteHtmlUrl` | Link do comprovante HTML da consulta no INPI, salvo no armazenamento da sua execução |
| `consultadoEm` | Data e hora da consulta (ISO 8601) |

**Particularidades do dado:**

- A consulta ao INPI traz **no máximo 100 patentes por CNPJ**. Quando `totalPatentes` é maior que `patentesRetornadas`, a empresa tem mais patentes do que as que vieram na lista; o total continua sendo o real.
- Alguns pedidos podem vir **sem título ou sem IPC** (`null`) quando o INPI não informa esses dados na busca, tanto em pedidos recentes quanto em antigos. O número do pedido e a data de depósito vêm sempre.
- A busca é pelo CNPJ informado: empresas do mesmo grupo com CNPJ próprio precisam ser consultadas separadamente.

### 💰 Quanto custa?

Você paga **por CNPJ encontrado**, independentemente de quantas patentes ele tiver. O valor está na aba **Pricing**.

🆓 **Não são cobrados:** CNPJs inválidos, CNPJs sem patentes no INPI e consultas que falharem na fonte. Esses casos ficam só no log e não entram no resultado.

Se você definir um limite de gasto para a execução, o Actor para de consultar quando o limite é atingido e avisa no log quantos CNPJs ficaram de fora.

### ⚖️ É legal consultar patentes do INPI?

Sim. Os pedidos de patente publicados pelo INPI são **informação pública**: a própria busca do INPI é aberta a qualquer pessoa, e a publicação dos pedidos faz parte do sistema de patentes (Lei da Propriedade Industrial, Lei nº 9.279/1996). Este Actor só automatiza a consulta pública por titular.

### 🔗 Integrações

- **API REST** e clientes oficiais da Apify para **JavaScript** e **Python**.
- **n8n, Make e Zapier** para levar as patentes para planilhas, CRM ou alertas.
- **Google Sheets**, **webhooks** e **Slack** a partir do resultado de cada execução.
- **Agendamento** no Apify para rodar diariamente, semanalmente ou mensalmente e acompanhar novos pedidos de uma lista de empresas.
- **MCP** para usar o Actor dentro de agentes de IA.

### ❓ Perguntas frequentes

#### Como consultar as patentes de uma empresa no INPI pelo CNPJ via API?

Chame `run-sync-get-dataset-items` com `{"cnpjs":["<CNPJ>"]}` (exemplo em [Como usar pela API](#-como-usar-pela-api)). A resposta traz as patentes, o total real e o comprovante HTML.

#### Por que vieram só 100 patentes se a empresa tem mais?

A consulta ao INPI devolve no máximo as 100 primeiras patentes por CNPJ. O campo `totalPatentes` sempre mostra o total real, para você saber o tamanho completo do portfólio.

#### Por que algumas patentes vêm sem título ou sem IPC?

Porque o INPI não informa esses dados na busca para alguns pedidos. Nesses casos, título e IPC vêm `null`, e o número do pedido e a data de depósito continuam disponíveis.

#### Preciso de certificado digital, login no INPI ou resolver captcha?

Não. Basta o CNPJ. O Actor faz a consulta pública por titular por você.

#### O que é o comprovante HTML?

É a página de resultado da busca de patentes do INPI no momento da consulta, salva no armazenamento da sua execução. Serve como evidência da pesquisa em due diligence, auditoria e processos internos.

#### O que acontece se eu enviar CNPJs errados na lista?

Os inválidos são ignorados, aparecem no log e não são cobrados. A execução segue com os CNPJs válidos.

#### Posso consultar por CPF ou pelo título da patente?

Não. Este Actor busca só pelo CNPJ do titular.

#### Este Actor traz marcas?

Não, só patentes. Para marcas, use o [Marcas INPI por CNPJ - API](https://apify.com/brasildados/inpi-marcas-api-cnpj?fpr=t5lwzq).

#### Qual o limite por execução?

30 CNPJs. Para listas maiores, divida em várias execuções ou chame a API em sequência.

#### Os dados são atualizados?

Cada execução faz uma consulta nova ao INPI. O campo `consultadoEm` registra o momento exato.

### 🧩 Outros Actors da brasildados

- ™️ [Marcas INPI por CNPJ - API](https://apify.com/brasildados/inpi-marcas-api-cnpj?fpr=t5lwzq)
- 🏢 [Consulta CNPJ em Lote - Enriquecimento de Empresas](https://apify.com/brasildados/enriquecimento-lista-empresas-por-cnpj?fpr=t5lwzq)
- 📄 [Certidões de Empresas por CNPJ - 8 Documentos Oficiais](https://apify.com/brasildados/certidoes-empresa-cnpj-pgfn-fgts-cndt?fpr=t5lwzq)
- 🚫 [Consulta Sanções CPF/CNPJ - CEIS, CNEP, CEPIM, CEAF e Leniência](https://apify.com/brasildados/consulta-sancoes-cpf-cnpj-ceis-cnep-cepim-ceaf?fpr=t5lwzq)
- 🕒 [Histórico de Alterações da Empresa por CNPJ - API](https://apify.com/brasildados/historico-empresa-cnpj-api?fpr=t5lwzq)

🌐 <https://brasildados.org/> · 🛒 [Todos os Actors da brasildados](https://apify.com/brasildados?fpr=t5lwzq)

### 🇺🇸 English summary

**Brazil INPI Patents by CNPJ API.** Look up the patent applications filed at INPI (Brazil's patent and trademark office) for any Brazilian company by its CNPJ (tax ID), with the HTML receipt of the search.

- **Input:** `cnpjs` (1 to 30 CNPJs, any format, required).
- **Output:** one record per CNPJ with `totalPatentes` (real total), `patentesRetornadas` (up to 100), the `patentes` list (application number, filing date, title, IPC class) and `comprovanteHtmlUrl`.
- **Use cases:** IP due diligence, M\&A, innovation research, competitive intelligence, KYB.
- **Pricing:** per CNPJ found. Invalid CNPJs and CNPJs without patents are not charged. See the Pricing tab.
- **API:** `POST https://api.apify.com/v2/acts/brasildados~inpi-patentes-api-cnpj/run-sync-get-dataset-items` with `{"cnpjs":["71.673.990/0001-77"]}` and `Authorization: Bearer <token>`.

# Actor input Schema

## `cnpjs` (type: `array`):

Obrigatório. De 1 a 30 CNPJs por execução (qualquer formato, com ou sem pontuação). Todos são validados pelo dígito verificador: os inválidos são ignorados, sem cobrança, e a execução continua com os válidos.

## Actor input object example

```json
{
  "cnpjs": [
    "71.673.990/0001-77"
  ]
}
```

# Actor output Schema

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

Dataset com um registro por CNPJ encontrado.

## `comprovantes` (type: `string`):

Armazenamento com o comprovante HTML de cada consulta.

# 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 = {
    "cnpjs": [
        "71.673.990/0001-77"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("brasildados/inpi-patentes-api-cnpj").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 = { "cnpjs": ["71.673.990/0001-77"] }

# Run the Actor and wait for it to finish
run = client.actor("brasildados/inpi-patentes-api-cnpj").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 '{
  "cnpjs": [
    "71.673.990/0001-77"
  ]
}' |
apify call brasildados/inpi-patentes-api-cnpj --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,brasildados/inpi-patentes-api-cnpj"
        }
    }
}
```

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/qyNkECvHgM98SHuVf/builds/RfC7eihfOdWuB2Rop/openapi.json
