Skills › Business & Commerce › Sales & CRM
junta-leiloeiros
Coleta e consulta dados de leiloeiros oficiais de todas as 27 Juntas Comerciais do Brasil. Scraper multi-UF, banco SQLite, API FastAPI e exportacao CSV/JSON.
Tools: – claude-code
The full skill
—
name: junta-leiloeiros
description: Coleta e consulta dados de leiloeiros oficiais de todas as 27 Juntas Comerciais do Brasil. Scraper multi-UF, banco SQLite, API FastAPI e exportacao CSV/JSON.
risk: safe
source: community
date_added: '2026-03-06'
author: renat
tags:
– scraping
– brazilian-data
– auctioneers
– api
tools:
– claude-code
– antigravity
– cursor
– gemini-cli
– codex-cli
—
# Skill: Leiloeiros das Juntas Comerciais do Brasil
## Overview
Coleta e consulta dados de leiloeiros oficiais de todas as 27 Juntas Comerciais do Brasil. Scraper multi-UF, banco SQLite, API FastAPI e exportacao CSV/JSON.
## When to Use This Skill
– When the user mentions "leiloeiro junta" or related topics
– When the user mentions "junta comercial leiloeiro" or related topics
– When the user mentions "scraper junta" or related topics
– When the user mentions "jucesp leiloeiro" or related topics
– When the user mentions "jucerja" or related topics
– When the user mentions "jucemg leiloeiro" or related topics
## Do Not Use This Skill When
– The task is unrelated to junta leiloeiros
– A simpler, more specific tool can handle the request
– The user needs general-purpose assistance without domain expertise
## How It Works
Coleta dados públicos de leiloeiros oficiais de todas as 27 Juntas Comerciais estaduais,
persiste em banco SQLite local e oferece API REST e exportação em múltiplos formatos.
## Localização
“`
C:\Users\renat\skills\junta-leiloeiros\
├── scripts/
│ ├── scraper/
│ │ ├── base_scraper.py ← classe abstrata
│ │ ├── states.py ← registro dos 27 scrapers
│ │ ├── jucesp.py / jucerja.py / jucemg.py / jucec.py / jucis_df.py
│ │ └── generic_scraper.py ← usado pelos 22 estados restantes
│ ├── db.py ← banco SQLite
│ ├── run_all.py ← orquestrador de scraping
│ ├── serve_api.py ← API FastAPI
│ ├── export.py ← exportação
│ └── requirements.txt
├── references/
│ ├── juntas_urls.md ← URLs e status de todas as 27 juntas
│ ├── schema.md ← schema do banco
│ └── legal.md ← base legal
└── data/
├── leiloeiros.db ← banco SQLite (criado no primeiro run)
├── scraping_log.json ← log de cada coleta
└── exports/ ← arquivos exportados
“`
## Instalação (Uma Vez)
“`bash
pip install -r C:\Users\renat\skills\junta-leiloeiros\scripts\requirements.txt
## Para Sites Com Javascript:
playwright install chromium
“`
## Coletar Dados
“`bash
## Todos Os 27 Estados
python C:\Users\renat\skills\junta-leiloeiros\scripts\run_all.py
## Estados Específicos
python C:\Users\renat\skills\junta-leiloeiros\scripts\run_all.py –estado SP RJ MG
## Ver O Que Seria Coletado Sem Executar
python C:\Users\renat\skills\junta-leiloeiros\scripts\run_all.py –dry-run
## Controlar Paralelismo (Default: 5)
python C:\Users\renat\skills\junta-leiloeiros\scripts\run_all.py –concurrency 3
“`
## Estatísticas Por Estado
python C:\Users\renat\skills\junta-leiloeiros\scripts\db.py
## Sql Direto
sqlite3 C:\Users\renat\skills\junta-leiloeiros\data\leiloeiros.db \
"SELECT estado, COUNT(*) FROM leiloeiros GROUP BY estado"
“`
## Servir Api Rest
“`bash
python C:\Users\renat\skills\junta-leiloeiros\scripts\serve_api.py
## Docs Interativos: Http://Localhost:8000/Docs
“`
**Endpoints:**
– `GET /leiloeiros?estado=SP&situacao=ATIVO&nome=silva&limit=100`
– `GET /leiloeiros/{estado}` — ex: `/leiloeiros/SP`
– `GET /busca?q=texto`
– `GET /stats`
– `GET /export/json`
– `GET /export/csv`
## Exportar Dados
“`bash
python C:\Users\renat\skills\junta-leiloeiros\scripts\export.py –format csv
python C:\Users\renat\skills\junta-leiloeiros\scripts\export.py –format json
python C:\Users\renat\skills\junta-leiloeiros\scripts\export.py –format all
python C:\Users\renat\skills\junta-leiloeiros\scripts\export.py –format csv –estado SP
“`
## Usar Em Código Python
“`python
import sys
sys.path.insert(0, r"C:\Users\renat\skills\junta-leiloeiros\scripts")
from db import Database
db = Database()
db.init()
## Todos Os Leiloeiros Ativos De Sp
leiloeiros = db.get_all(estado="SP", situacao="ATIVO")
## Busca Por Nome
resultados = db.search("silva")
## Estatísticas
stats = db.get_stats()
“`
## Adicionar Scraper Customizado
Se um estado precisar de lógica específica (ex: site usa JavaScript):
“`python
## Scripts/Scraper/Meu_Estado.Py
from .base_scraper import AbstractJuntaScraper, Leiloeiro
from typing import List
class MeuEstadoScraper(AbstractJuntaScraper):
estado = "XX"
junta = "JUCEX"
url = "https://www.jucex.xx.gov.br/leiloeiros"
async def parse_leiloeiros(self) -> List[Leiloeiro]:
soup = await self.fetch_page()
if not soup:
return []
# lógica específica aqui
return [self.make_leiloeiro(nome="…", matricula="…")]
“`
Registrar em `scripts/scraper/states.py`:
“`python
from .meu_estado import MeuEstadoScraper
SCRAPERS["XX"] = MeuEstadoScraper
“`
## Referências
– URLs de todas as juntas: `references/juntas_urls.md`
– Schema do banco: `references/schema.md`
– Base legal da coleta: `references/legal.md`
– Log de coleta: `data/scraping_log.json`
## Best Practices
– Provide clear, specific context about your project and requirements
– Review all suggestions before applying them to production code
– Combine with other complementary skills for comprehensive analysis
## Common Pitfalls
– Using this skill for tasks outside its domain expertise
– Applying recommendations without understanding your specific context
– Not providing enough project context for accurate analysis
## Related Skills
– `leiloeiro-avaliacao` – Complementary skill for enhanced analysis
– `leiloeiro-edital` – Complementary skill for enhanced analysis
– `leiloeiro-ia` – Complementary skill for enhanced analysis
– `leiloeiro-juridico` – Complementary skill for enhanced analysis
– `leiloeiro-mercado` – Complementary skill for enhanced analysis
## Limitations
– Use this skill only when the task clearly matches the scope described above.
– Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
– Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.