> ## Documentation Index
> Fetch the complete documentation index at: https://docs.judit.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Judit Miner — Visão Geral

> Identifique e recupere ativos judiciais (precatórios, execuções de sentença) em escala. O Miner combina filtros estruturais com a base completa da Judit para encontrar oportunidades em milhões de processos.

export const MinerAnimation = () => <iframe sandbox="allow-scripts" scrolling="no" style={{
  width: '100%',
  height: '540px',
  border: 'none',
  borderRadius: '12px',
  display: 'block',
  margin: '20px 0'
}} srcDoc={`<!doctype html><html><head><meta charset="utf-8"><style>*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#090c0d}canvas{display:block;width:100%;height:100%}</style></head><body><canvas id="c"></canvas><script>(function(){
var A='#4FD1C5',J='#1FC16B',GO='#EAB308',D='#8B5CF6',M='#7A8599';
var BG='#090c0d',TXT='#e5e7eb',NF='#111827',PT='#0a1020';
var TOTAL=43.0;
var XP={app:0.11,miner:0.50,base:0.88};
var NW=90,NH=42;
var FLOWS=[
  {id:'count',title:'① Count — gratuito, síncrono',sub:'Estime o volume antes de comprar',col:GO,ts:1,te:13,act:['app','miner','base'],steps:[
    {fr:'app',to:'miner',label:'POST /requests/count',note:'{filtros: tribunal, valor, tipo}',col:A,ts:1.5,te:2.3,yp:0.35},
    {fr:'miner',to:'base',label:'consulta datalake',note:'',col:D,ts:2.8,te:3.6,yp:0.50},
    {fr:'base',to:'miner',label:'total_lawsuits',note:'',col:D,ts:4.1,te:4.9,yp:0.65},
    {fr:'miner',to:'app',label:'{total, cost_estimate}',note:'resposta síncrona — sem custo de créditos',col:GO,ts:5.4,te:6.2,yp:0.80}]},
  {id:'create',title:'② Create — créditos cobrados',sub:'Dispara a busca real e debita créditos',col:A,ts:15,te:27,act:['app','miner','base'],steps:[
    {fr:'app',to:'miner',label:'POST /requests/create',note:'{filtros, responses_limit}',col:A,ts:15.5,te:16.3,yp:0.35},
    {fr:'miner',to:'app',label:'{request_id, status:pending}',note:'cost em créditos cobrado agora',col:GO,ts:16.8,te:17.6,yp:0.50},
    {fr:'miner',to:'base',label:'materializa lawsuits',note:'processamento assíncrono',col:D,ts:18.8,te:19.6,yp:0.68}]},
  {id:'collect',title:'③ Poll + Collect',sub:'Acompanhe o status e pagine os resultados',col:J,ts:29,te:42,act:['app','miner','base'],steps:[
    {fr:'app',to:'miner',label:'GET /requests/{id}',note:'polling até completed',col:A,ts:29.5,te:30.3,yp:0.32},
    {fr:'miner',to:'app',label:'status: completed',note:'',col:J,ts:30.8,te:31.6,yp:0.46},
    {fr:'app',to:'miner',label:'GET /responses',note:'request_id=...',col:A,ts:32.1,te:32.9,yp:0.62},
    {fr:'miner',to:'app',label:'lista paginada',note:'até 100 processos por página',col:J,ts:33.4,te:34.2,yp:0.78}]}
];
var NODES=[{id:'app',label:'Sua App',col:A},{id:'miner',label:'Miner API',col:GO},{id:'base',label:'Base Judit',col:D}];
var cv=document.getElementById('c');
function setup(){var dpr=Math.min(window.devicePixelRatio||1,2),r=cv.getBoundingClientRect(),W=r.width||window.innerWidth,H=r.height||window.innerHeight;cv.width=Math.max(1,W*dpr);cv.height=Math.max(1,H*dpr);var ctx=cv.getContext('2d');ctx.setTransform(dpr,0,0,dpr,0,0);return{ctx:ctx,w:W,h:H};}
function ease(t){return t<0.5?2*t*t:1-Math.pow(-2*t+2,2)/2;}
function rr(ctx,x,y,w,h,r){ctx.beginPath();ctx.moveTo(x+r,y);ctx.arcTo(x+w,y,x+w,y+h,r);ctx.arcTo(x+w,y+h,x,y+h,r);ctx.arcTo(x,y+h,x,y,r);ctx.arcTo(x,y,x+w,y,r);ctx.closePath();}
function gx(n,w){return n==='app'?w*XP.app:n==='miner'?w*XP.miner:w*XP.base;}
function eg(fr,to,w){var fx=gx(fr,w),tx=gx(to,w),d=tx>fx?1:-1;return{x1:fx+d*NW/2,x2:tx-d*NW/2,d:d};}
function dPkt(ctx,x,y,lbl,col){var pw=Math.max(36,lbl.length*6+14),ph=20;ctx.save();ctx.shadowColor=col;ctx.shadowBlur=18;rr(ctx,x-pw/2,y-ph/2,pw,ph,5);ctx.fillStyle=col;ctx.fill();ctx.shadowBlur=0;ctx.fillStyle=PT;ctx.font='bold 9px monospace';ctx.textAlign='center';ctx.textBaseline='middle';ctx.fillText(lbl,x,y+0.5);ctx.restore();}
function draw(ctx,w,h,t){
  var ct=t%TOTAL;
  ctx.fillStyle=BG;ctx.fillRect(0,0,w,h);
  var fl=null;for(var i=0;i<FLOWS.length;i++){if(ct>=FLOWS[i].ts&&ct<FLOWS[i].te){fl=FLOWS[i];break;}}
  var nodeY=h*0.21;
  for(var i=0;i<NODES.length;i++){var n=NODES[i],lx=gx(n.id,w);ctx.save();ctx.strokeStyle=n.col;ctx.globalAlpha=0.35;ctx.lineWidth=1;ctx.setLineDash([4,7]);ctx.beginPath();ctx.moveTo(lx,nodeY+NH/2);ctx.lineTo(lx,h*0.93);ctx.stroke();ctx.restore();}
  if(fl){ctx.save();ctx.fillStyle=fl.col;ctx.font='bold 13px Inter,system-ui,sans-serif';ctx.textAlign='center';ctx.textBaseline='middle';ctx.fillText(fl.title,w/2,h*0.055);ctx.fillStyle=M;ctx.font='10.5px Inter,system-ui,sans-serif';ctx.fillText(fl.sub,w/2,h*0.118);ctx.restore();}
  if(fl){for(var si=0;si<fl.steps.length;si++){var s=fl.steps[si],sy=h*s.yp,e=eg(s.fr,s.to,w),x1=e.x1,x2=e.x2,d=e.d,clx=(x1+x2)/2;var state=ct<s.ts?'pre':ct>s.te?'done':'live',alpha=state==='pre'?0.10:state==='done'?0.55:1.0;ctx.save();ctx.globalAlpha=alpha;ctx.strokeStyle=s.col;ctx.lineWidth=1.5;ctx.setLineDash([]);ctx.beginPath();ctx.moveTo(x1,sy);ctx.lineTo(x2,sy);ctx.stroke();ctx.fillStyle=s.col;ctx.beginPath();ctx.moveTo(x2,sy);ctx.lineTo(x2-d*7,sy-4);ctx.lineTo(x2-d*7,sy+4);ctx.closePath();ctx.fill();ctx.fillStyle=TXT;ctx.font='bold 10px monospace';ctx.textAlign='center';ctx.textBaseline='bottom';ctx.fillText(s.label,clx,sy-4);if(s.note){ctx.fillStyle=M;ctx.font='9px monospace';ctx.fillText(s.note,clx,sy-16);}ctx.restore();if(state==='live'){var p=ease((ct-s.ts)/(s.te-s.ts));dPkt(ctx,x1+(x2-x1)*p,sy+14,s.label,s.col);}}}
  for(var i=0;i<NODES.length;i++){var nd=NODES[i],px=gx(nd.id,w),ia=!fl||(fl.act.indexOf(nd.id)>=0);ctx.save();ctx.globalAlpha=ia?1:0.18;if(ia){ctx.shadowColor=nd.col;ctx.shadowBlur=14;}rr(ctx,px-NW/2,nodeY-NH/2,NW,NH,8);ctx.fillStyle=NF;ctx.fill();ctx.shadowBlur=0;ctx.strokeStyle=ia?nd.col:'rgba(255,255,255,0.10)';ctx.lineWidth=ia?1.8:1;ctx.stroke();ctx.fillStyle=ia?nd.col:M;ctx.font='bold 11px Inter,system-ui,sans-serif';ctx.textAlign='center';ctx.textBaseline='middle';ctx.fillText(nd.label,px,nodeY);ctx.restore();}
  for(var f=0;f<FLOWS.length;f++){var ia=fl&&fl.id===FLOWS[f].id;ctx.save();ctx.beginPath();ctx.arc(w/2+(f-1)*24,h*0.962,ia?5:3,0,Math.PI*2);ctx.fillStyle=ia?FLOWS[f].col:'rgba(255,255,255,0.18)';ctx.fill();ctx.restore();}
}
var dim,t0;
function loop(){var t=(performance.now()-t0)/1000;draw(dim.ctx,dim.w,dim.h,t);requestAnimationFrame(loop);}
window.addEventListener('load',function(){dim=setup();t0=performance.now();loop();});
window.addEventListener('resize',function(){dim=setup();});
cv.addEventListener('click',function(e){var r=cv.getBoundingClientRect(),cx=e.clientX-r.left,cy=e.clientY-r.top;for(var f=0;f<FLOWS.length;f++){var dx=cx-(dim.w/2+(f-(FLOWS.length-1)/2)*24),dy=cy-dim.h*0.962;if(dx*dx+dy*dy<=144){t0=performance.now()-FLOWS[f].ts*1000;break;}}});
cv.addEventListener('mousemove',function(e){var r=cv.getBoundingClientRect(),cx=e.clientX-r.left,cy=e.clientY-r.top,over=false;for(var f=0;f<FLOWS.length;f++){var dx=cx-(dim.w/2+(f-(FLOWS.length-1)/2)*24),dy=cy-dim.h*0.962;if(dx*dx+dy*dy<=144){over=true;break;}}cv.style.cursor=over?'pointer':'default';});
})()</script></body></html>`} />;

<Note>
  **Beta público.** O Miner é um produto novo da Judit, em beta aberto. Os endpoints e o modelo de cobrança documentados aqui são estáveis, mas pequenos ajustes podem acontecer durante esta fase. Recomendamos travar a versão do contrato (via `If-Match` ou changelog) e nos seguir em [docs.judit.io/resource/changelog](/resource/changelog).
</Note>

<Warning>
  **Os preços de uso da API Miner não estão inclusos na licença da Plataforma JUDIT Miner.** O acesso à API é cobrado **separadamente em créditos**, conforme a tabela de [Créditos & cobrança](/miner/credits). Confirme com o time comercial as faixas vigentes para sua conta antes de disparar buscas em produção.
</Warning>

O **Judit Miner** é um produto dedicado a **garimpar ativos judiciais em escala**: precatórios pagos ou em fase de pagamento (`judgement-bond`) e execuções de sentença com potencial de recuperação (`sentence-execution`). Em vez de ir processo por processo, você define um conjunto de filtros (tribunais, faixa de valor, naturezas, tags) e a Judit identifica para você todos os processos que se encaixam — descontando os que sua empresa já consultou anteriormente.

> 🤖 Host base: `https://miner.production.judit.io`. Autenticação por header `api-key` (mesma chave usada nos demais produtos Judit, com a permissão `miner_enabled` habilitada). O modelo de cobrança é por **créditos** — cada `find` é precificado por faixa antes de ser processado.

## O que o Miner faz

<CardGroup cols={2}>
  <Card title="Encontrar precatórios" icon="scale-balanced">
    Identifique precatórios federais, estaduais e municipais por ano orçamentário, natureza (alimentar/comum) e tribunal. Ideal para fundos de investimento e advocacia de recuperação.
  </Card>

  <Card title="Mapear execuções de sentença" icon="gavel">
    Detecte execuções com sinais de cálculo aprovado, possível precatório ou precatório já expedido. Ideal para originação de carteira de direitos creditórios.
  </Card>

  <Card title="Filtros por faixa de valor" icon="coins">
    Recorte por valor mínimo/máximo livre ou por faixas pré-definidas (`0-100k`, `100k-250k`, `250k-500k`, `500k-750k`, `750k-1.5M`, `1.5M+`).
  </Card>

  <Card title="Sem repetição entre buscas" icon="filter-circle-xmark">
    O `count` exclui automaticamente processos que sua empresa já consultou — você só paga pelo que ainda não viu.
  </Card>
</CardGroup>

## Como funciona

O Miner segue um fluxo de 3 etapas: **estimar** → **comprar** → **paginar**.

<MinerAnimation />

| Etapa              | Endpoint                        | Para que serve                                                                                |
| ------------------ | ------------------------------- | --------------------------------------------------------------------------------------------- |
| **1. Contar**      | `POST /requests/count`          | Saber quantos processos batem com seus filtros, **sem custo** de créditos. Resposta síncrona. |
| **2. Criar busca** | `POST /requests/create`         | Disparar a busca real. Retorna `cost` (créditos cobrados) e `status: pending`.                |
| **3. Acompanhar**  | `GET /requests/{request_id}`    | Polar até `status: completed`.                                                                |
| **4. Coletar**     | `GET /responses?request_id=...` | Listar processos retornados, paginado (até 100 por página).                                   |

## Para quem é

<CardGroup cols={2}>
  <Card title="Fundos de direitos creditórios" icon="building-columns">
    Originação em massa de precatórios e créditos judiciais — com filtro fino por valor e tribunal.
  </Card>

  <Card title="Advocacia de recuperação" icon="briefcase">
    Identifique execuções com sinais de aprovação de cálculo ou precatório iminente para abordagem proativa.
  </Card>

  <Card title="Bancos e fintechs" icon="chart-line">
    Cesta de ativos judiciais para análise de portfólio e securitização.
  </Card>

  <Card title="Plataformas de marketplace" icon="store">
    Alimente listagens de precatórios à venda com inventário sempre fresco.
  </Card>
</CardGroup>

## O que não está no Miner

* **Consulta processual por CNJ específico** → use [Consulta Processual](/requests/requests) (Requests assíncrono) ou [Hot Storage](/cache-judit/hotstorage) (síncrono).
* **Monitoramento contínuo de movimentações** → use [Tracking](/tracking/tracking).
* **Dados cadastrais (Pessoa Física/Jurídica)** → use [`/entities`](/registration-data/registration-data).

O Miner foca em **descoberta de ativos** com base em atributos do processo. Para qualquer outro caso, os produtos correspondentes seguem disponíveis e cobram normalmente.

## Próximos passos

<CardGroup cols={2}>
  <Card title="Quickstart" icon="bolt" href="/miner/quickstart">
    Crie sua primeira busca em menos de 10 minutos.
  </Card>

  <Card title="Conceitos" icon="book" href="/miner/concepts">
    Entenda `kind`, `natures`, `tags`, faixas de valor e regras de combinação.
  </Card>

  <Card title="Créditos & cobrança" icon="coins" href="/miner/credits">
    Como funciona o `cost`, faixas de preço e tratamento de erros de billing.
  </Card>

  <Card title="Tribunais aceitos" icon="building-columns" href="/miner/tribunals">
    Lista completa de IDs e acrônimos para usar no filtro `tribunals`.
  </Card>
</CardGroup>
