CENDOJ Scraper - Spanish Case Law, Every Result & Full Text
Pricing
from $0.69 / 1,000 decisions
CENDOJ Scraper - Spanish Case Law, Every Result & Full Text
Every matching Spanish court decision from CENDOJ, not just the first 200. Search by keyword, ROJ, ECLI or filters and get official document details, full text, cited legislation with BOE links and case history, from the Tribunal Supremo to first-instance courts. No login needed.
Pricing
from $0.69 / 1,000 decisions
Rating
0.0
(0)
Developer
ClearPath
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
From Clearpath, creators of Google Patents Scraper, Business Entity Search and PDF to Markdown.
Why choose this actor? / ¿Por qué este actor?
- Every matching decision / Todas las resoluciones. CENDOJ's own search stops at 200 decisions. This actor keeps going, even on a single day with 1,300 decisions, up to the limit you set.
- The whole decision / La resolución completa. Each row adds the official document details (CENDOJ id, court, section, procedure, jurisdiction), the laws it cites with BOE links, its case history and, on request, the full text.
- Search your way / Busca como quieras. Keywords with Y, O, NO and PROX (or AND, OR, NOT, NEAR), a ROJ or ECLI, a decision link, or filters alone: court, jurisdiction, type, region, dates, judge, language.
Try 20 decisions on mortgage costs / Prueba con 20 resoluciones
{"searchTerms": ["gastos hipotecarios"],"maxResults": 20,"includeDocumentDetails": true}
Open the actor input and paste this example in JSON mode. It returns the 20 newest decisions on gastos hipotecarios with their official document details, cited legislation and case history. Raise maxResults past 200 to read beyond CENDOJ's own limit. Turn on includeFullText for the complete text of each decision; it is billed as the same document read, not twice. Export JSON, CSV or Excel.
| Clearpath Research & Public Records |
|
You are here Patents, claims and citations US company registry records UK companies & directors Documents into AI-ready text |
Copy to your AI assistant
clearpath/cendoj-scraper on Apify searches CENDOJ, the official database of Spanish court decisions, and returns one row per decision. Use searchTerms (one search per line: words with AND/OR/NOT/NEARn or Y/O/NO/PROXn and "quotes", or a ROJ/ECLI for that exact decision), filters alone (jurisdictions, courtTypes, resolutionTypes, regions, provinces, dateFrom/dateTo, judge, language), or documentUrls for specific decisions. maxResults (default 100) applies per search and has no 200 ceiling. includeDocumentDetails=true (default) adds idCendoj, section, procedure, jurisdiction, outcome and related decisions and bills one Official document event per decision read; includeFullText=true adds fullText and keyPassages=n (1-20) adds the n paragraphs with the search words (passageTerms for links and ROJ/ECLI) under that same single charge; set both false for the cheapest list-only rows (jurisdiction may then be empty for mixed courts). citedLegislation and caseHistory are free. sort=relevance puts the 200 most relevant first; onlyNew=true returns only decisions an earlier run of the same search did not. Input and output spec: https://api.apify.com/v2/actors/clearpath~cendoj-scraper/builds/default (Authorization: Bearer token); pricing: https://apify.com/clearpath/cendoj-scraper/pricing. To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: feature requests, a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
What data can you extract from CENDOJ?
Every row is one court decision from CENDOJ, the official Spanish case-law database of the Consejo General del Poder Judicial: the Tribunal Supremo, the Audiencia Nacional, the Tribunales Superiores de Justicia, the Audiencias Provinciales, first-instance courts and military courts.
| Group | Fields |
|---|---|
| Identity | roj, ecli, idCendoj, reference, title, documentUrl, pdfUrl |
| Court | court, courtLevel, chamber, section, jurisdiction, municipality, province, region |
| Decision | resolutionType, resolutionDate, publishedDate, resolutionNumber, appealNumber, procedure, judge, language, languageName |
| Content | summary, summaryType, outcome, originCourt, keyPassages, fullText, pageCount |
| Connections | citedLegislation (law, article, BOE id and link), caseHistory (every decision in the case and how they link), relatedDecisions |
| Search | searchTerm, position, totalMatches, inputUrl, scrapedAt |
A real row from a search for gastos hipotecarios, a Supreme Court auto with its case history. The decision cites 8 laws; two are shown here, the others have the same shape:
{"searchTerm": "gastos hipotecarios","position": 33,"totalMatches": 280118,"roj": "ATS 8902/2026","ecli": "ECLI:ES:TS:2026:8902A","idCendoj": "28079110012026203991","title": "ATS, a 01 de octubre de 2026 - ROJ: ATS 8902/2026","resolutionType": "Auto","resolutionDate": "2026-10-01","publishedDate": "2026-10-08","court": "Tribunal Supremo. Sala de lo Civil","courtLevel": "Tribunal Supremo","chamber": "Sala de lo Civil","section": "1","jurisdiction": "Civil","procedure": "Recurso de casación","resolutionNumber": "76/2026","appealNumber": "1276/2023","judge": "PEDRO JOSE VELA TORRES","municipality": "Madrid","province": "Madrid","region": "Madrid","language": "es","languageName": "Español","summary": "Prescripción reclamación gastos hipotecarios . Devolución actuaciones a la Audiencia Provincial","summaryType": "official","outcome": "Auto Estimando","originCourt": "AUD.PROVINCIAL DE PALMA DE MALLORCA SECCION N. 5","relatedDecisions": ["SJPI, Palma de Mallorca, núm. 17, 15-03-2022 (proc. 3027/2018)","SAP IB 2844/2022","ATS 2436/2026","ATS 8902/2026"],"citedLegislation": [{"label": "LEC art. 487.1","law": "LEC","article": "487.1","boeId": "BOE-A-2000-323","boeUrl": "https://www.boe.es/buscar/act.php?id=BOE-A-2000-323","sourceReference": "2000/323","category": "Citada"},{"label": "CC art. 1964","law": "CC","article": "1964","boeId": "BOE-A-1889-4763","boeUrl": "https://www.boe.es/buscar/act.php?id=BOE-A-1889-4763","sourceReference": "1889/4763","category": "Citada"}],"caseHistory": [{"reference": null,"roj": null,"idCendoj": null,"courtCode": null,"court": "Juzgado de Primera Instancia","resolutionType": "Sentencia","date": "2022-03-15","outcome": null,"description": "SJPI, Palma de Mallorca, núm. 17, 15-03-2022 (proc. 3027/2018)","question": null,"isThisDecision": false,"appealable": false,"openableInCendoj": true,"links": []},{"reference": "10194603","roj": "SAP IB 2844/2022","idCendoj": "07040370052022101051","courtCode": "AP","court": "Audiencia Provincial","resolutionType": "Sentencia","date": "2022-11-09","outcome": null,"description": null,"question": null,"isThisDecision": false,"appealable": false,"openableInCendoj": true,"links": [{"relation": "admitida_grafo_por","relationLabel": "appeal admitted by","toReference": "11652474","toRoj": "ATS 2436/2026"},{"relation": "devuelta_por","relationLabel": "returned by","toReference": "11879797","toRoj": "ATS 8902/2026"}]},{"reference": "11652474","roj": "ATS 2436/2026","idCendoj": "28079110012026201325","courtCode": "TSSCI","court": "Tribunal Supremo. Sala de lo Civil","resolutionType": "Auto","date": "2026-03-04","outcome": null,"description": null,"question": null,"isThisDecision": false,"appealable": false,"openableInCendoj": true,"links": []},{"reference": "11879797","roj": "ATS 8902/2026","idCendoj": "28079110012026203991","courtCode": "TSSCI","court": "Tribunal Supremo. Sala de lo Civil","resolutionType": "Auto","date": "2026-10-01","outcome": "Devolutivo","description": null,"question": null,"isThisDecision": true,"appealable": true,"openableInCendoj": true,"links": []}],"pageCount": 4,"keyPassages": null,"fullText": null,"fullTextTruncated": null,"documentUrl": "https://www.poderjudicial.es/search/AN/openDocument/712a1f127ddc30dba0a8778d75e36f0d/20261008","pdfUrl": "https://www.poderjudicial.es/search/contenidos.action?action=contentpdf&databasematch=TS&reference=11879797&optimize=20261008&publicinterface=true&tab=AN","reference": "11879797","databaseMatch": "TS","documentError": null,"inputUrl": null,"scrapedAt": "2026-10-09T14:05:41Z"}
- Official document details (
idCendoj,section,procedure,jurisdiction,pageCount,outcome,originCourt,relatedDecisions) come from the decision's official document and are on by default. If a document cannot be read in a run, the row is still saved with its other fields anddocumentErrorsays so. outcomeandoriginCourtare stated by Supreme Court decisions; other courts leave them empty.fullTextis filled whenincludeFullTextis on. In a 20-decision sample it held 11,859 to 49,699 characters per decision.keyPassagesis filled whenkeyPassagesis above 0: up to that many paragraphs that contain your search words, the court's legal reasoning first. A short alternative to the full text for AI assistants.summaryTypeisofficialfor summaries written by the Supreme Court's staff andautomaticfor CENDOJ's generated summaries.caseHistorylists the decisions CENDOJ links in the same case, including lower-court rulings that are not in CENDOJ (they carry adescriptioninstead of a ROJ). Each item keeps CENDOJ's ownappealableandopenableInCendojflags.- Each search also saves a report to the key-value store record
SEARCH_REPORTS: total matches and the number of decisions per year, jurisdiction, court type, decision type and judge, counted over every match, not only the rows you collected.
Export as JSON, CSV, Excel or XML from the dataset. JSON keeps the nested citations and case history intact.
How to search Spanish case law on CENDOJ
Search with words, exactly like CENDOJ's own search box. One line per search.
| Write | CENDOJ operator | Meaning | Example |
|---|---|---|---|
AND or Y | Y | both words | abogado AND costas |
OR or O | O | either word | hipoteca OR préstamo |
NOT or NO | NO | leave the next word out | costas NOT penal |
NEARn or PROXn | PROXn | words at most n apart | costas NEAR5 abogado |
"..." | quotes | exact phrase | "cláusula suelo" |
A line that is a ROJ (STS 2382/2025) or an ECLI (ECLI:ES:TS:2025:2382) returns exactly that decision, whatever the filters are.
{"searchTerms": ["\"cláusula suelo\" AND nulidad","STS 2382/2025"],"jurisdictions": ["CIVIL"],"courtTypes": ["11", "37"],"dateFrom": "2024-01-01","maxResults": 500,"sort": "newest"}
| Parameter | Default | What it does |
|---|---|---|
searchTerms | none | Words, operators, ROJ or ECLI. Each line is its own search, up to 1,000 lines. Leave empty to search with filters alone. |
maxResults | 100 | Decisions per search. No 200 ceiling. |
sort | newest | newest, relevance, oldest or recentlyAdded (newest in CENDOJ first). relevance and recentlyAdded order the first 200; further decisions follow newest first. |
jurisdictions, courtTypes, resolutionTypes | all | Civil, Penal, Contencioso, Social, Militar, Especial; any court or chamber; sentencias, autos and acuerdos with their subtypes. |
regions, provinces, municipalities | all | Autonomous communities, provinces or court seats (towns). |
dateFrom, dateTo | none | Decision dates, YYYY-MM-DD. |
judge, appealNumber, resolutionNumber, section | none | Exact values as CENDOJ lists them. |
language, topics, plenaryOnly, admissionSection, historicalArchiveOnly | none | Language of the decision, CENDOJ's curated collections, plenary decisions, admission autos by section, the Supreme Court historical archive. |
includeDocumentDetails | on | Official document details. Billed per decision read. |
includeFullText | off | Complete text. Same document charge; turning on both costs one charge. |
keyPassages | 0 (off) | Up to 20 paragraphs per decision that contain your search words, legal reasoning first. Same document charge. |
passageTerms | none | Words for keyPassages when there is no search line (decision links, ROJ/ECLI). |
includeCitedLegislation, includeCaseHistory | on | Free. |
onlyNew | off | Only decisions an earlier run of the same search did not return. |
documentUrls | none | Links to specific decisions; each returns one full row. |
Every decision of a day, with no search words
{"dateFrom": "2025-03-03","dateTo": "2025-03-03","maxResults": 5000,"includeDocumentDetails": false}
This returned all 1,305 decisions CENDOJ holds for 3 March 2025. CENDOJ's own search shows 200 of them.
Follow new case law on a topic
Schedule the actor daily or weekly in Apify with onlyNew on. Each run returns only decisions the same search has not returned before. Each search still checks its first maxResults matches, so set it above the number of new decisions you expect between runs.
{"searchTerms": ["despido improcedente"],"maxResults": 200,"sort": "recentlyAdded","onlyNew": true}
Read specific decisions
Paste the documentUrl or pdfUrl of earlier results, or a link shared from the CENDOJ website, into documentUrls. Each link returns one complete row, with full text when includeFullText is on.
Pricing
| Event | When charged | Price |
|---|---|---|
| Decision | For each decision saved to your dataset | $0.99 per 1,000 |
| Official document | For each saved decision whose official document was read (details or full text) | $1.49 per 1,000 |
| Actor start | Once per run, per GB of memory (1 GB by default) | $0.0099 |
| Dataset item | For each row stored in your dataset | $0.01 per 1,000 |
Decision prices by plan: Free $0.99, Bronze $0.89, Silver $0.79, Gold and above $0.69 per 1,000. Official documents: Free $1.49, Bronze $1.39, Silver $1.29, Gold and above $1.19 per 1,000. Cited legislation, case history and search reports are included. A run that finds nothing costs only the start charge.
On the Free plan, 100 decisions with official documents cost about $0.26 ($0.099 + $0.149 + $0.001 + $0.0099 = $0.2589). 1,000 decisions without documents cost about $1.01.
FAQ
How do I get more than 200 decisions from CENDOJ? Set maxResults to the number you need. CENDOJ's own search stops at 200; this actor returns every match up to your limit. In the rare case CENDOJ will not list some decisions at all, the search report counts them in notListedBySource.
Can I search by ROJ or ECLI? Yes. Put the ROJ (SAP SS 1052/2026) or the ECLI (ECLI:ES:APSS:2026:1052) on its own line in searchTerms.
Can I get the full text of a sentencia? Yes. Turn on includeFullText, or set keyPassages to get only the paragraphs that mention your search words. Every row also links to the official PDF in pdfUrl and to the decision page in documentUrl.
Which courts are covered? Everything CENDOJ publishes: Tribunal Supremo, Audiencia Nacional, Tribunales Superiores de Justicia, Audiencias Provinciales, Juzgados and Tribunales de Instancia, and military courts. The Tribunal Constitucional is not part of CENDOJ.
Why does a row have no section or procedure? Those come from the official document. They are empty when includeDocumentDetails is off, or when the document could not be read in that run (documentError says so). Run the search again, or pass the row's documentUrl in documentUrls.
Are names anonymised? CENDOJ anonymises the parties before publishing. Judges are named as CENDOJ publishes them.
Can I reuse CENDOJ decisions commercially? CENDOJ publishes decisions for consultation. Its legal notice says commercial use and bulk downloading of its database are not permitted, and that reuse to build databases or for commercial purposes follows the procedure and conditions the CGPJ sets through CENDOJ. Check those conditions before you reuse the data.
Can I use it from an AI assistant, n8n, Make or Python? Yes. Use the Apify MCP server, the Apify integrations or the Apify client libraries. The block under "Copy to your AI assistant" gives an assistant everything it needs.
Do I need a CENDOJ account? No. CENDOJ is public; the actor needs no login, cookie or key from you.
Support
Questions, problems or a field you need: open the Issues tab on this actor, or email max@mapa.slmail.me. Bug reports with the run id get answered fastest.
