INPI para devs e agentes de IA.MCP, ou REST puro.
A base inteira, com as ferramentas prontas para um agente de IA. Grátis até 1.000 requisições por hora.
curl 'https://api.marcasafe.com.br/api/v1/brands?q=ziptalk&limit=1' \
-H 'Authorization: Bearer mk_live_...'- processos do INPI
- 6.568.057
- despachos
- 24.467.748
- primeira edição da RPI
- 29/03/1973
A base dentro do seu agente de IA
O mesmo dado, sem cliente HTTP. O servidor MCP roda no /api/mcp e responde a Claude Code, Cursor, VS Code e Windsurf com a sua chave, ou ao conector do claude.ai com um login — nesse caso não há chave para colar: você autoriza numa tela e revoga quando quiser.
No Claude a janela abre preenchida e você só confirma. No ChatGPT, cole a URL em Plugins → + → Add custom MCP server; conector personalizado lá depende do seu plano.
https://mcp.marcasafe.com.br/api/mcpclaude mcp add --transport http marcasafe \
https://mcp.marcasafe.com.br/api/mcp \
--header "Authorization: Bearer mk_live_..."{
"mcpServers": {
"marcasafe": {
"type": "http",
"url": "https://mcp.marcasafe.com.br/api/mcp",
"headers": {
"Authorization": "Bearer mk_live_..."
}
}
}
}O que o agente de IA ganha
check_collisionBusca de colidência com os parâmetros certos já embutidos, vigentes e pendentes juntos.search_brandsA busca por semelhança, com todos os filtros da API.list_owner_brandsA carteira inteira de uma empresa pelo CNPJ, com o nome do titular que a RPI não traz.get_processUm processo pelo número.list_dispatchesA linha do tempo, com o prazo legal já contado contra hoje.explain_dispatchTraduz um código IPAS no ato, na severidade e no prazo que ele abre.
As chamadas contam na mesma cota por hora do seu plano, e o servidor é só de leitura: não há ferramenta que crie, altere ou apague nada.
Um agente de IA que chegar aqui sozinho encontra o mapa em /llms.txt: o que existe, o que a base não tem e para onde ir, em texto puro.
O dado do INPI, sem o INPI no caminho
Busca por semelhança, não por igualdade
Quem procura zapluz também acha zap luz. Insensível a acento e a maiúscula, com paginação por cursor — que não pula nem repete registro quando a base cresce no meio da leitura.
A linha do tempo inteira
Não só a situação atual: cada despacho com o código IPAS, o texto oficial, o tom e quantos dias faltam do prazo. É a diferença entre saber que o pedido foi indeferido e saber que restam 27 dias para recorrer.
Campo nulo documentado, não escondido
Marca figurativa é desenho puro e não tem nome — são 100% delas, e isso não é dado faltando, é a definição. A referência separa o que falta por natureza do que falta por lacuna do INPI, com o percentual medido de cada campo.
Sem raspagem, sem sessão, sem quebrar
Quem raspa o pePI depende de JSESSIONID, de HTML de 2003 e de um servidor que cai. Aqui é JSON estável com resposta em cache, versionado pela edição da RPI.
Uma requisição, uma resposta
Sem SDK obrigatório, sem handshake, sem paginação por offset. A chave vai no Authorization e o resto é HTTP.
Note o owner_name: null no exemplo: é o comportamento normal da base, não um erro. A referência diz o percentual de cada campo.
curl 'https://api.marcasafe.com.br/api/v1/brands?q=ziptalk&limit=1' \
-H 'Authorization: Bearer mk_live_...'{
"data": [
{
"inpi_number": "937579181",
"brand": "ziptalk",
"presentation": "nominative",
"nature": "products_and_services",
"madrid_protocol": false,
"owner_name": null,
"filed_at": null,
"nice_classes": [9, 42],
"last_rpi_issue": 2901
}
],
"next_cursor": "eyJpIjoiOTM3NTc5MTgxIn0"
}Você não precisa ficar perguntando
A RPI sai uma vez por semana. Consultar a API todo dia para descobrir se algo mudou é gastar requisição para receber “não” seis vezes — o webhook chega quando há o que contar.
- Assinado em HMAC-SHA256, com o timestamp dentro da mensagem assinada — reenviar uma entrega antiga não passa.
- Retentativa em 1min, 5min, 30min, 2h e 6h.
- O
idda entrega é estável entre retentativas, para você deduplicar.
dispatch.publishedA RPI publicou um despacho para um processo que você acompanha. Sai toda terça, junto com a edição.
process.status_changedO processo passou a deferido, indeferido, arquivado, extinto ou teve o registro concedido.
deadline.approachingUma exigência ou oposição com prazo correndo está perto do fim.
filing.similarAlguém depositou um pedido com nome parecido com o de uma marca que você acompanha.
Por hora, e o painel mostra quanto você usou
A janela é de uma hora e reseta na virada. Ao estourar, a resposta é 429 com o cabeçalho que diz quando tentar de novo — nada é cobrado por excesso, e nada é cortado sem aviso.
requisições por hora
requisições por hora
requisições por hora
Precisa de mais? Ver os planos.
A chave sai em um clique
Crie uma em Configurações › API, teste o endpoint ali mesmo no painel e copie o exemplo pronto em cURL, Node, Python ou PHP.
Procurando o produto para acompanhar as suas marcas? Comece por aqui.