Hiring
Check the court history of candidates who agreed to it, with the purpose recorded in the request itself.
HR · recruiting · employer of record
They authorize, you make one API call, and you get their lawsuits organized by court, case type and latest activity. Works with the CPF, the taxpayer ID every person in Brazil has.
No consent from the person, no lookup.
Consent comes first. After that, it's a regular request and a response your system already knows how to read.
You collect consent in your own flow, whether that's hiring, signup or a contract, and send the acceptance time and purpose along with the request.
A single POST with the CPF. The idempotency key makes sure a retry after a network error never turns into a second lookup.
JSON with each lawsuit and its proceedings: court, case type, subject matter, parties and latest activity. Ready for your system or for a human reviewer.
When a hire, a new customer or a contract in Brazil depends on knowing what's on file in the courts, and the person agrees to the check.
Check the court history of candidates who agreed to it, with the purpose recorded in the request itself.
HR · recruiting · employer of record
Add the check to credit, insurance or account onboarding, with consent collected in your own form.
Fintechs · insurers · lenders
Run due diligence on partners and representatives before you sign, with each person's authorization.
Compliance · procurement · legal
Screen tenants and guarantors who agreed to the check, without asking them for a stack of certificates.
Property managers · landlords
Every request needs a legitimate purpose, stated in the call. The result shows what's on file in the courts; the decision is still yours and must follow the law.
Verinook does one thing, with as little data as possible and with proof that the person agreed. Built around the LGPD, Brazil's data protection law.
Without the person's authorization and acceptance time, the API rejects the request. There's no way around it.
We keep who authorized, when and for what purpose, so you can back up every check you run.
Each company uses its own keys. One account's checks and consents never show up in another's.
Court records only. Sealed cases and confidential parties are left out of the result.
If the person changes their mind, you record the revocation through the API and that consent stops working for new checks.
Each key has its own scope and usage limits, and every call goes into your account's audit trail.
HTTPS on every callDesigned for the LGPD from day oneNo data beyond court records
REST and JSON, key-based authentication and the same envelope on every response: ok, data, error and meta.
curl https://api.verinook.com/v1/consultas/processos \
-H "Authorization: Bearer $VERINOOK_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"value": "12345678909",
"purpose": "Hiring: financial analyst role",
"authorization": "consent",
"accepted_at": "2026-11-07T14:32:10-03:00"
}'
const res = await fetch("https://api.verinook.com/v1/consultas/processos", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.VERINOOK_API_KEY}`,
"Idempotency-Key": crypto.randomUUID(),
"Content-Type": "application/json",
},
body: JSON.stringify({
value: "12345678909",
purpose: "Hiring: financial analyst role",
authorization: "consent",
accepted_at: "2026-11-07T14:32:10-03:00",
}),
});
const { ok, data, error } = await res.json();
import os, uuid, requests
r = requests.post(
"https://api.verinook.com/v1/consultas/processos",
headers={
"Authorization": f"Bearer {os.environ['VERINOOK_API_KEY']}",
"Idempotency-Key": str(uuid.uuid4()),
},
json={
"value": "12345678909",
"purpose": "Hiring: financial analyst role",
"authorization": "consent",
"accepted_at": "2026-11-07T14:32:10-03:00",
},
timeout=90,
)
data = r.json()["data"]
{
"ok": true,
"data": {
"subject": {
"cpf": "12345678909",
"name": "MARIA EXEMPLO"
},
"process_count": 2,
"processes": [
{
"number": "0004187-22.2023.8.26.0100",
"court": "TJSP",
"instances": [{
"classes": […], "subjects": […],
"last_movement": {
"dataHora": "2026-09-12T10:41:00",
"descricao": "Juntada de Petição"
},
"parties": [{
"name": "MARIA EXEMPLO",
"side": "PASSIVO",
"is_subject": true
}, …]
}]
}, …
],
"warnings": []
},
"error": null,
"meta": { "request_id": "c1f0…" }
}
Idempotency-Key is required. Retry with the same key and you get the same response, with no new lookup.GET /v1/limits shows how many of today's checks you've used and how many are left.We're shaping our plans with our first customers. Tell us how many checks you run a month and we'll put together a proposal.
Whether you're just starting or hiring by the thousands, you get the same access. Only the monthly limit changes.
Yes, always. A request is only accepted with the person's authorization, the acceptance time and the purpose. Without them, the API rejects it.
For each lawsuit: case number, court, proceedings, case type, subject matter, parties and their side, and the latest activity. Sealed cases are not included.
No. Verinook checks Brazilian courts using the CPF, the taxpayer ID of people in Brazil. Your company can be based anywhere.
No. Verinook only checks court records. We don't look up contact details, addresses, location or any other personal data.
Create your company account at app.verinook.com, generate an API key and run your first check using the example on this page.
Create your company account and bring court record checks into your hiring, onboarding or contracting flow.