Skip to main content
TrackJud TrackJud
· Updated on · 8 min read

Brazilian lawsuit search by CPF: how to query court cases across 10 states

By TrackJud

Practical guide to searching lawsuits by CPF across Brazilian courts. State coverage, real costs, time, LGPD compliance, and how to automate high-volume queries. Updated April 2026.

TL;DR: Lawsuit search by CPF is the lookup of court cases linked to a Brazilian taxpayer ID across courts. Manually: 30min-2h per CPF across 5 courts. Via API: <60 seconds. Vigilant covers 12 judicial sources across 10 states (ESAJ + PJe), both instances, starting at R$ 0.10 per court. No authorization from the subject is needed (LGPD art. 7 §4 — manifestly public data). 2-day cache for free repeat queries. This guide covers: what it is, use cases, real costs, manual vs automated, state coverage, returned data, and 8 FAQs.

Searching for lawsuits by CPF is one of the most common — and most repetitive — activities in Brazilian legal and commercial operations. Lawyers, credit analysts, compliance teams, legal correspondents, and procurement departments do this dozens of times per week.

The problem: there is no single portal that consolidates all courts. Each state runs its own system — ESAJ, PJe, EPROC, Tucujuris, Projudi, ClickJud — and you need to access each one separately. There are more than 40 judicial systems in production in Brazil according to the CJF, with different interfaces, different captchas, and different data formats. (To understand the differences between the two largest systems, see ESAJ vs PJE: differences, coverage, and how to query both.)

What is a lawsuit search by CPF

It’s the search for all court cases linked to a given CPF across one or more courts. The query returns:

  • Active and archived cases where that CPF appears as a party
  • Person’s role in the case (plaintiff, defendant, lawyer, interested third party)
  • Case details: class, subject, movements, case value
  • Cases in both instances (trial — 1st degree, and appellate — 2nd degree)
  • Standardized CNJ number (NNNNNNN-DD.YYYY.J.TR.OOOO) — the universal case identifier

Every case in Brazil has a CNJ number defined by CNJ Resolution 65/2008. To decode any CNJ number and understand the court, year, instance, and branch, use our free CNJ number decoder. To validate CPFs before querying, use the CPF validator.

Use cases — 6 reasons to search by CPF

Use caseWho does itTypical frequencyCommercial destination
Background check on new clientsLawyers, firmsPer new clientLaw firms
Due diligence before granting creditFintechs, banks, bureausDaily, high volumeFintechs & bureaus
KYC/KYB for regulatory onboardingCompliance teamsOn demandCompliance & KYC
Portfolio monitoringFirms, consultanciesWeekly or monthlyLaw firms
Supplier due diligenceProcurement, HR, legalQuarterlyLabor audits
Counterparty due diligence (M&A)M&A boutiques, Big 4Per dealM&A & due diligence

The manual search challenge — time math

To search cases for a CPF manually, you need to access each court’s website individually, enter the document, solve the captcha, navigate results, record the information, and repeat for the next court.

CPFsCourtsTotal queries (×2 instances)Estimated timeVia API
151030min-2h<60s
110202-4h<60s
1051002-4 days~5min
50101,0002-4 weeks~30min
200104,000Infeasible manually~2h

Real case — firm with 200 active clients

A corporate law firm with 200 active clients did quarterly monitoring. Manual flow: dedicated paralegal, 3-5 days per quarter (200 CPFs × 5 courts × 2 instances = 2,000 searches).

After automating via API:

  • Time: 3-5 days → 45 minutes processing + 2h analysis
  • Errors: 8-12% → 0%
  • Cost: R$ 2,500/quarter (paralegal hours) → R$ 200/quarter
  • Frequency: quarterly → weekly (low marginal cost enables more frequent monitoring)

Details on automation for law firms in the post How to automate lawsuit search at a firm.

Available coverage — 10 states, 12 judicial sources

StateCourtSystemInstances
São PauloTJSPESAJTrial + Appeals
BahiaTJBAESAJTrial + Appeals
CearáTJCEESAJTrial + Appeals
AcreTJACESAJTrial + Appeals
AlagoasTJALESAJTrial + Appeals
AmazonasTJAMESAJTrial + Appeals
Mato Grosso do SulTJMSESAJTrial + Appeals
Minas GeraisTJMGPJeTrial + Appeals
PernambucoTJPEPJeTrial + Appeals
Federal DistrictTJDFTPJeTrial + Appeals
MaranhãoTJMAPJeTrial + Appeals
AmapáTJAPPJeTrial + Appeals

Full coverage with per-court status at /en/courts/.

Automated vs manual — direct comparison

AspectManualVigilant (API)
Time (1 CPF, 5 courts)30min-2h< 60 seconds
Data formatVaries per courtStandardized JSON
Instances coveredDepends on operator rememberingBoth automatically
CaptchasSolved manuallySolved automatically
Human errors8-12%0% (validation + retry)
Cost (5 courts)R$ 15-30 (professional’s hour)R$ 0.50 (5 credits)
ScalabilityLinearConstant up to 500K+ queries/month
Audit logNoYes (automatic per-query trail)
CacheNo2 days (repeat = free)

Data returned per query

For each case found, the API returns standardized JSON:

  • CNJ case number (national standard)
  • Case class (e.g., Common Civil Procedure, Tax Execution)
  • Current status (Active, Archived, Suspended)
  • Parties (plaintiff, defendant, lawyers with bar number)
  • Chronological movements
  • Subjects (CNJ topic classification)
  • Jurisdiction (chamber, district)
  • Case value (when available)
  • Instance (trial or appellate)
  • Original case URL on the source portal

All in the same format regardless of source court. For the full API spec, developer docs at /en/developers/ have examples in cURL, Python, Node.js, and Go.

Querying court cases by CPF using public court data has clear legal basis under LGPD (Law 13,709/2018):

  • Art. 7, §4 — dispenses consent for data “made manifestly public by the subject”
  • Art. 7, IX — “legitimate interests of the controller or a third party”
  • Art. 7, VI — “regular exercise of rights in judicial proceedings”

Cases under judicial secrecy (family, child welfare, certain criminal cases) are not accessed. The API returns only publicly available data.

More on LGPD applied to court data in KYC beyond credit scores.

Cost optimization tips

Choose the right courts: you don’t need to search all 12 for every case. If you know which states the subject operates in, search only those.

Leverage the 2-day cache: data queried in the last 2 days is served instantly at no extra cost.

Use batch for volume: the API accepts batch queries. For bulk imports, prepare a file with 1 CPF per line.

Start with Tier 1 KYC: for generic onboarding, 1-3 home-state courts is sufficient as screening.

Pricing

ScenarioQueriesCost
1 CPF in 1 court1R$ 0.10
1 CPF in 5 courts5R$ 0.50
1 CPF in 12 courts (full coverage)12R$ 1.20
50 CPFs in 5 courts250R$ 25.00
200 CPFs in 10 courts2,000R$ 200.00

No subscription. No contract. No minimum. Credits never expire. Failed courts get automatic refunds. 2-day cache for free repeats. Full pricing at /en/pricing/.

Glossary

TermDefinition
CPFCadastro de Pessoa Física — Brazilian individual taxpayer ID (11 digits)
CNPJCadastro Nacional da Pessoa Jurídica — Brazilian company ID (14 digits)
CNJ numberUnique case ID, format NNNNNNN-DD.YYYY.J.TR.OOOO
ESAJJustice Automation System (Softplan) — used by 7 state courts
PJeElectronic Judicial Process (CNJ) — used by 13+ state courts and TRFs
Trial instance1st degree — where the case begins
Appellate instance2nd degree — appeals court
CaptchaVisual challenge that prevents automated queries without API
Judicial secrecyCases with restricted access (family, child welfare, etc)
CacheTemporary storage — result reused at no cost when the same query is repeated

Conclusion

Lawsuit search by CPF is the most basic and most important operation in the Brazilian court data universe. It’s the entry point for due diligence, KYC, monitoring, supplier auditing, and any judicial risk verification.

The operation is simple — but scaling manually is impossible. 200 CPFs across 10 courts = 4,000 queries = weeks of work. Via API = 2 hours + R$ 200. The decision to automate isn’t technical — it’s financial.

If you’re starting: create a free account, get 5 credits, search 1 CPF across 5 courts and see the data returned. No code, no contract. From there, scale as ROI confirms.


5 free credits on signup, no credit card. Start now.

Frequently asked questions

Do I need the person's authorization to search lawsuits by CPF?

Not for public data. Court cases available via public lookup on court portals are manifestly public data under LGPD (Law 13,709/2018, art. 7, §4), dispensing consent. You can freely query for legitimate purposes: due diligence, KYC, compliance, risk management, defense in litigation. What you CANNOT do is use the data for unauthorized prospecting, direct marketing without legal basis, or data resale. Maintain a per-query audit trail (who queried, when, for what) to demonstrate legitimate purpose if challenged by ANPD.

A CPF I queried returns no results. Does that mean the person has no lawsuits?

Not necessarily. It can mean 3 things: (1) the person truly has no cases in the courts searched — good sign; (2) the person has cases in courts NOT covered by the search — that's why it matters to search the right courts for the subject's region of operation; (3) the person has cases under judicial secrecy (family, child welfare, certain criminal cases) — these don't appear in public lookup. Zero results is a positive signal, but not absolute certainty. To mitigate risk (2), expand court coverage.

Can I search by CNPJ (company ID) the same way?

Depends on the court. Some courts (ESAJ, for example) accept queries by both CPF and CNPJ. Others (PJe in some TRFs) only accept case numbers. Vigilant normalizes this: you send a document (CPF or CNPJ) and the API resolves which format the court accepts. For CNPJ, the query returns cases where the company is a party (plaintiff or defendant), including labor claims from former employees — especially useful for supplier auditing (see [Súmula 331 and labor liability](/en/blog/brazilian-labor-liability-supplier-audit/)).

What is the CNJ number and why does it matter?

The CNJ number is the unique identifier of every Brazilian court case, formatted as NNNNNNN-DD.YYYY.J.TR.OOOO. It encodes: sequential number, check digits (mod-97), filing year, judicial branch (8 = state, 5 = labor, 4 = federal), court (26 = TJSP, 06 = TJAL), and originating chamber. It's been mandatory and nationally standardized since CNJ Resolution 65/2008. To decode any CNJ number, use our [free CNJ decoder](/en/tools/cnj-decoder/). To validate CPFs before querying, use the [CPF validator](/en/tools/cpf-validator/).

How long does it take to search 1 CPF across 5 courts manually vs via API?

Manually: 30 minutes to 2 hours. Includes opening 5 portals, typing the CPF, solving captchas, navigating results, copying data, repeating for appellate instance (if remembered). Via API: under 60 seconds. The API queries all 5 courts in parallel, solves captchas automatically, covers both instances, and returns standardized JSON. The difference multiplies with volume: 50 CPFs across 10 courts manually = 2-4 weeks. Via API = 30 minutes of processing.

How much does it cost to query via API?

R$ 0.10 per query, per court. One CPF searched across 5 courts costs R$ 0.50. No subscription, no contract, no minimum. Automatic 2-day cache: if you query the same CPF in the same court within 48h, the second query is free. If a court doesn't respond (downtime), the credit is refunded automatically. For high volume (e.g., 200 CPFs × 10 courts = 2,000 queries), cost is R$ 200 — compare with a paralegal doing the same manually (~4 weeks of full-time work). Pricing at [/en/pricing/](/en/pricing/).

Are all Brazilian courts covered?

Not yet. Vigilant covers 12 judicial sources across 10 Brazilian states today, including the largest: TJSP (25% of all cases), TJMG, TJRJ, TJDFT, TJBA, TJCE, TJPE, TJMA, TJAP, TJAC, TJAM, TJAL. Full coverage with per-court status at [/en/courts/](/en/courts/). For courts outside coverage, manual lookup on the court's official portal is the alternative. Most companies operate with a hybrid approach: 90%+ automated for covered courts, the rest manual as needed.

What should I do with the query results?

Depends on use case. For M&A due diligence: compile into the red flags report with risk classification (see [judicial due diligence](/en/blog/due-diligence-brazilian-entities/)). For fintech KYC: feed the decision engine as an additional feature (see [judicial KYC](/en/blog/kyc-brazilian-court-data/)). For law firms: populate the client record in case management software (see [how to automate lawsuit search](/en/blog/automate-lawsuit-search-law-firm/)). For compliance: provision contingencies per CPC 25. For all: maintain audit trail with date/time/result of each query as evidence of diligence.

Related articles