
CENDOJ Scraper
hipersoft/cendoj-scraper
Search Spanish case law from CENDOJ / Poder Judicial: sentencias and autos from the Tribunal Supremo, Audiencias Provinciales, TSJ and all courts. ROJ, ECLI, date, court, judge, appeal number, summary and document link. Filter by text, jurisdiction and dates.
Total users
2Monthly users
1Total runs
3Per resolution
$0.0015Last rebuilt
Oct 26, 2026Overview
CENDOJ Scraper searches Spanish case law in CENDOJ, the judicial documentation centre of the Consejo General del Poder Judicial. It returns sentencias, autos and other resolutions from the Tribunal Supremo, Audiencia Nacional, Tribunales Superiores de Justicia, Audiencias Provinciales and first-instance courts. Each resolution comes with the ROJ, ECLI, date, court, chamber, resolution number, municipality, reporting judge (ponente), appeal number, summary and a link to the full document. Search by free text, jurisdiction, date range, judge, ROJ or ECLI, and export to CSV, Excel or JSON. By splitting date ranges automatically, the scraper collects far more than the 200 results the website returns per search.
What does CENDOJ Scraper do?
- ⚖️ Search all Spanish courts or only the Supreme Court with free text (texto libre).
- 🗂️ Filter by jurisdiction: civil, penal, contencioso-administrativo, social, militar or especial.
- 📅 Filter by resolution date, with automatic splitting for complete results.
- 👨⚖️ Filter by reporting judge (ponente), or look up a specific ROJ or ECLI.
- 📝 Summaries: the official summary (resumen) of each resolution when available.
- 🔗 Document link to read or download the full text.
What data can you scrape from CENDOJ?
| Field | Example |
|---|---|
| ROJ | STS 3865/2026 |
| ECLI | ECLI:ES:TS:2026:3865 |
| Title | STS, a 23 de septiembre de 2026 - ROJ: STS 3865/2026 |
| Court type | STS, SAP, STSJ, SAN… |
| Date | 2026-09-23 |
| Chamber | Sala de lo Penal |
| Resolution number | 554/2026 |
| Municipality | Madrid |
| Judge (ponente) | ANTONIO DEL MORAL GARCIA |
| Appeal number | 10609/2025 |
| Summary | Delito de grupo criminal: … |
| Document link | full resolution |
Use cases for Spanish case law data
- Lawyers and law firms: find the latest rulings on a topic (desahucio, cláusula suelo, despido, IRPH…) across all courts.
- Legal research and academia: build datasets of resolutions by court, judge, jurisdiction and period.
- Legal tech and AI: feed case-law metadata and summaries into search engines, RAG systems and analytics.
- Litigation analytics: track how a judge or court rules on specific issues.
- Compliance and monitoring: get alerts on new Supreme Court resolutions about your sector.
How to search Spanish case law
- Click Try for free to open CENDOJ Scraper in Apify Console.
- Enter search text, and optionally choose courts, jurisdictions and a date range.
- Optionally filter by judge, or look up a ROJ or ECLI.
- Set Max resolutions and click Start.
- Download the results as CSV, Excel or JSON.
Input
Example input
{
"searchText": "desahucio",
"court": "all",
"jurisdictions": ["civil"],
"dateFrom": "2025-01-01",
"dateTo": "2025-12-31",
"sort": "newest",
"maxItems": 2000
}
| Field | Description |
|---|---|
| Search text | Free-text search in the resolutions. |
| Courts | All courts or Tribunal Supremo only. |
| Jurisdictions | Civil, penal, contencioso, social, militar, especial. |
| Resolution date from / to | Date range. Set it to collect more than 200 results. |
| Judge (ponente) | Reporting judge's name. |
| ROJ / ECLI | Look up a specific resolution. |
| Sort by | Newest, oldest or relevance. |
| Max resolutions | Stop after this many results (0 = no limit). |
Output
Resolution example
{
"roj": "STS 3865/2026",
"ecli": "ECLI:ES:TS:2026:3865",
"title": "STS, a 23 de septiembre de 2026 - ROJ: STS 3865/2026",
"courtType": "STS",
"date": "2026-09-23",
"chamber": "Sala de lo Penal",
"resolutionNumber": "554/2026",
"municipality": "Madrid",
"judge": "ANTONIO DEL MORAL GARCIA",
"appealNumber": "10609/2025",
"summary": "Delito de grupo criminal: para su consumación basta el establecimiento del grupo …",
"documentUrl": "https://www.poderjudicial.es/search/TS/openDocument/9444878079cc2356a0a8778d75e36f0d/20261001",
"database": "TS"
}
Output schema
| Field | Type | Description |
|---|---|---|
roj |
string | ROJ identifier. |
ecli |
string | European Case Law Identifier. |
title |
string | Resolution title. |
courtType |
string | Court abbreviation (STS, SAP, STSJ, SAN…). |
date |
string | Resolution date (YYYY-MM-DD). |
chamber |
string | Chamber (Sala), when shown. |
resolutionNumber |
string | Resolution number. |
municipality |
string | Court municipality. |
judge |
string | Reporting judge (ponente). |
appealNumber |
string | Appeal / case number. |
summary |
string | Summary (resumen), when available. |
documentUrl |
string (URL) | Link to the full resolution. |
database |
string | TS (Supreme Court) or AN (all courts). |
cendojId |
string | Internal document reference. |
searchText |
string | Search text used. |
scrapedAt |
string (ISO date) | When the row was collected. |
How much does it cost?
CENDOJ Scraper uses pay-per-resolution pricing: a small fixed price per resolution, with automatic discounts on higher Apify plans. See the Pricing tab for the exact price.
More public-sector and legal data
- Arbeitsagentur Jobs Scraper: Germany's federal job board.
- North Data Scraper: European company register data.
FAQ
Why does the website stop at 200 results? CENDOJ returns at most 200 documents per search. When you set a date range, the scraper splits it into smaller periods automatically and collects everything.
Does it include the full text of the judgment? Each result includes the official summary when available and a link to the full document.
Which courts are covered? All courts in CENDOJ: Tribunal Supremo, Audiencia Nacional, Tribunales Superiores de Justicia, Audiencias Provinciales and first-instance courts.
Can I search in Catalan, Basque or Galician? Search text is matched against the documents as published, mostly in Spanish.
What formats can I export? CSV, Excel, JSON, XML, HTML and RSS, or read the results through the Apify API.
Can I integrate CENDOJ Scraper with other apps? CENDOJ Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JS/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Is it legal to scrape CENDOJ? CENDOJ publishes anonymized court resolutions for public access. You are responsible for using the data in line with CENDOJ's terms of reuse.
Notes
Original clean-room implementation. Returns only public data; you are responsible for compliance with CENDOJ's terms. Not affiliated with the Consejo General del Poder Judicial.
Input
| Field | Type | Description |
|---|---|---|
searchTextSearch text (texto libre) | string | Words to search in the resolutions, e.g. desahucio, cláusula suelo, despido improcedente, responsabilidad patrimonial. |
courtCourts | string · all, supremo | All Spanish courts, or only the Supreme Court (Tribunal Supremo). Default: "all" |
jurisdictionsJurisdictions | array | Limit to these jurisdictions. Leave empty for all. |
dateFromResolution date from | string | Earliest resolution date (YYYY-MM-DD). Setting a date range lets the scraper collect more than 200 results. |
dateToResolution date to | string | Latest resolution date (YYYY-MM-DD). Defaults to today when only a start date is given. |
judgeJudge (ponente) | string | Optional: name of the reporting judge, e.g. PEDRO JOSE VELA TORRES. |
rojROJ | string | Optional: look up a specific ROJ, e.g. STS 3865/2026. |
ecliECLI | string | Optional: look up a specific ECLI, e.g. ECLI:ES:TS:2026:3865. |
sortSort by | string · newest, oldest, relevance | Order of results. Default: "newest" |
maxItemsMax resolutions | integer | Stop after this many resolutions. 0 means no limit. Default: 200 |
proxyConfigurationProxy configuration | object | Not required for normal use. Default: {"useApifyProxy": false} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~cendoj-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchText": "desahucio",
"dateFrom": "2025-01-01",
"maxItems": 100
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/cendoj-scraper").call(run_input={
"searchText": "desahucio",
"dateFrom": "2025-01-01",
"maxItems": 100
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/cendoj-scraper').call({
"searchText": "desahucio",
"dateFrom": "2025-01-01",
"maxItems": 100
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Resolution One court resolution in the dataset. | $0.0015 | $0.0008 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Europe PMC Scraper
Bulk-scrape life-science and biomedical literature from Europe PMC (40M+ records: PubMed, PMC, preprints, patents): title, abstract, authors, journal, year, DOI, PMID/PMCID, citation count, MeSH terms, open-access flag and full-text/PDF links. Thousands per run. No setup.
325 runs · 5 users · $0.001 / article scrapedarXiv Papers Scraper
Search and extract arXiv papers: title, abstract, authors, categories, published/updated dates, DOI, journal reference, and direct PDF links. Filter by category and sort by newest, recently updated or relevance. Fetch by arXiv ID too. For research, lit reviews and AI/ML monitoring. No setup.
140 runs · 2 users · $0.0025 / paper scrapedLetterboxd Scraper
Scrape Letterboxd films with ratings, rating counts, genres, director, cast, runtime and synopsis. Feed it film pages, a user's films/watchlist/diary, any list URL, or browse pages. For film data, recommendations and research.
139 runs · 7 users · $0.0042 / film scrapedOpenLibrary Book Scraper
Search millions of books on OpenLibrary by keyword, author, subject or ISBN and get title, authors, publisher, year, subjects, ISBNs, edition count, ratings, page count and cover. Clean, no setup.
124 runs · 5 users · $0.002 / book scrapedSemantic Scholar Scraper
Bulk-scrape academic papers from Semantic Scholar's 200M+ corpus: title, abstract, AI TLDR summary, authors, venue, year, citation & influential-citation counts, fields of study, DOI/PubMed/arXiv IDs and open-access PDF links. Filter by year, field and citations. Thousands per run. No setup.
123 runs · 7 users · $0.001 / paper scrapedWikipedia Scraper
Search Wikipedia or look up exact articles and get the full plain-text content, summary, categories, image, Wikidata ID and monthly pageview trends. Any language. Great for research, RAG and AI datasets. No setup.
121 runs · 1 users · $0.001 / article scrapedSend the site and the fields. We build it and you get it first.