ParseForge Scrapers

ICJ Cases Scraper

parseforge/icj-international-court-scraper

News & mediaOther

Scrapes International Court of Justice cases by list type and returns each case as a flat row with docket number, title, and status.

Run this scraper See the API call
Total users
1
Monthly active
0
Total runs
95
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

ICJ Cases Scraper

Scrape International Court of Justice cases by list type, up to a million per run. Every case comes with its docket number, title, status, and procedural history. No login or API key. Export to CSV, JSON, Excel, or XML.

The ICJ's official website offers no bulk download or API for its case law. This Actor reads the public case lists directly, filtered by all, pending, contentious, or advisory proceedings, and returns each match in one fixed schema.

Who uses it What they scrape International Court of Justice for
International law researchers Which disputes the Court is currently hearing
NGO analysts Tracking advisory opinions on human rights questions
Law firm librarians Monitoring new contentious cases filed against states
Journalists Finding the procedural status of high-profile cases

What it does

This Actor collects International Court of Justice cases by list type and returns each one as a flat row.

  • ๐Ÿ“‹ List type filter: choose all, pending, contentious, or advisory proceedings.
  • ๐Ÿ”ข Maximum cases: cap the run from 1 to 1,000,000 rows.
  • ๐Ÿ“„ Flat row output: each case is one record with docket, title, and status.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with International Court of Justice data

๐Ÿ“š Build a research corpus.

A PhD candidate scrapes all contentious cases to analyze trends in state appearances over decades.

๐Ÿ“ˆ Monitor new filings.

A law firm librarian runs the Actor weekly on pending cases to alert partners to new disputes.

๐Ÿ—ž๏ธ Track advisory opinions.

A journalist scrapes advisory proceedings to report on requests from UN bodies.

๐Ÿงพ Audit case statuses.

An NGO analyst collects all cases to verify which are still active for a funding report.

Why choose this scraper

What you get
No API needed Reads the public case lists directly
Fixed schema Every case returns the same fields for easy joins
Scalable Collect up to a million cases per run
Export ready CSV, JSON, Excel, or XML in one click

How it compares

No other Store actor targets International Court of Justice the same way, so the honest comparison is with the alternatives teams actually weigh.

ICJ Cases Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When International Court of Justice changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor from the list type selector and a maximum case count, and filters run as each case is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "listType": "all"
}

A larger pull:

{
  "maxItems": 200,
  "listType": "all"
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.10
1,000 results $21.00
10,000 results $210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the ICJ Cases Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to International Court of Justice through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/icj-international-court-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that the list type you selected has cases. For example, advisory proceedings may have fewer entries than contentious cases.

The run stops before reaching my maximum cases.

The Actor stops when it has read all cases in the selected list. If the list has fewer cases than your maximum, you will get all of them.

Some fields are empty in the output.

Not all cases have every field populated on the ICJ website. Empty fields are returned as null.

The run fails with a timeout.

Increase the Actor's timeout in the run settings, or reduce the maximum cases to a smaller number.

FAQ

Question Answer
Does this Actor require an API key? No. It reads the public case lists from the ICJ website directly.
What list types can I scrape? You can choose all cases, pending cases, contentious cases, or advisory proceedings.
How many cases can I collect per run? You can set the maximum from 1 to 1,000,000 cases.
What format is the output? Each case is returned as a flat row with fields like docket number, title, and status. You can export to CSV, JSON, Excel, or XML.
Does it include the full text of judgments? No, this Actor collects the case metadata from the lists, not the full documents.
Can I filter by date or country? The current input only supports list type and maximum cases. Date or country filters are not available.
Is the data updated live? Yes, each run reads the current lists from the ICJ website.
Can I schedule this Actor to run automatically? Yes, you can set up a schedule on Apify to run it daily or weekly.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by International Court of Justice. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer Maximum number of cases to collect per run. 10
listType string (4 options) Which list of cases to scrape. all

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~icj-international-court-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run ICJ Cases Scraper on Apify All scrapers