ICJ Judgments and Advisory Opinions PDF Scraper avatar

ICJ Judgments and Advisory Opinions PDF Scraper

Pricing

from $8.00 / 1,000 record scrapeds

Go to Apify Store
ICJ Judgments and Advisory Opinions PDF Scraper

ICJ Judgments and Advisory Opinions PDF Scraper

Scrape every ICJ judgment, advisory opinion, order, and separate / dissenting opinion. Returns paragraph-numbered text (matches international-law citation style), the operative paragraph (dispositif), and document metadata, across all contentious and advisory cases since 1946, in English and French.

Pricing

from $8.00 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

ICJ Case Law, Judgment & Advisory Opinion Scraper

Scrape case law from the International Court of Justice, the United Nations' principal judicial organ. Returns judgments, advisory opinions, orders, and separate / dissenting opinions as paragraph-numbered records — the citation format international lawyers actually use — across contentious and advisory cases dating back to 1946, in English and French.


ICJ Scraper Features

  • Extracts every judgment, advisory opinion, order, declaration, separate opinion, dissenting opinion, and written pleading the Court has published for a case.
  • Returns paragraph-numbered text, matching how international-law practitioners cite ICJ decisions ("para. 142").
  • Captures the operative paragraph — the "FOR THESE REASONS, THE COURT..." dispositif — as its own field, separate from the reasoning.
  • Pulls a best-effort judge vote tabulation out of the dispositif when the Court records a roll call, with each judge's role (President, Vice-President, member, ad hoc) and vote.
  • Parses applicant and respondent states straight out of the case title for contentious cases.
  • Cross-references which judges filed a separate or dissenting opinion on a given judgment.
  • Covers both English and French editions. A document published in only one combined bilingual edition still comes back, tagged accordingly.
  • Three ways to scope a run: every case, a specific case number, or everything published since a given date.

Who Uses ICJ Case Data?

  • International law firms — track jurisprudence on treaty interpretation, state responsibility, and sovereignty disputes without re-reading the docket by hand.
  • Foreign-ministry legal teams — monitor a case your state is a party to, or benchmark how the Court has ruled on a comparable dispute.
  • Academics and researchers — build a citation-accurate corpus for scholarship, without re-typing paragraph numbers out of a PDF.
  • Geopolitical risk analysts — follow high-profile proceedings (genocide-convention cases, maritime and territorial disputes) as new orders and judgments land.
  • Journalists — get the dispositif the moment it's published, in the Court's own numbered-paragraph form, instead of paraphrasing a press release.

How the ICJ Scraper Works

  1. Pick a scope — every case, one or more case numbers, or everything published since a date.
  2. The scraper walks the Court's case index and pulls every document on each matching case page.
  3. Each document is returned as paragraph-numbered text with its own dispositif, document type, and case metadata attached — no separate lookup needed to know which case or party a document belongs to.

Input

{
"mode": "since_date",
"sinceDate": "2024-01-01",
"documentTypes": ["judgment", "advisory_opinion", "order"],
"languages": ["en"],
"maxItems": 100
}
FieldTypeDefaultDescription
modestringsince_dateall_cases walks every case; case_ids visits only the case numbers you list; since_date walks every case but keeps only documents on or after sinceDate.
caseIdsarray[]ICJ case numbers to scan (e.g. 192 for the South Africa v. Israel genocide-convention case). Used only in case_ids mode.
sinceDatestring2023-01-01ISO date. Only documents on or after this date are returned. Used only in since_date mode.
documentTypesarrayjudgment, advisory opinion, order, separate opinion, dissenting opinionWhich document types to include. Also accepts declaration, written pleading, and oral proceeding (verbatim record). Leave empty for every type.
languagesarray["en"]Which language edition of each document to return — en, fr, or both.
maxItemsinteger10Maximum number of document records to return.

Example — pull every document for one case:

{
"mode": "case_ids",
"caseIds": ["192"],
"documentTypes": [],
"languages": ["en", "fr"],
"maxItems": 50
}

ICJ Scraper Output Fields

{
"case_id": 192,
"case_name": "Application of the Convention on the Prevention and Punishment of the Crime of Genocide in the Gaza Strip (South Africa v. Israel)",
"case_type": "contentious",
"applicant_state": "South Africa",
"respondent_state": "Israel",
"filing_date": "2023-12-29",
"status": "pending",
"document_type": "order",
"document_date": "2026-05-21",
"document_language": "en",
"document_phase": "provisional_measures",
"judges": ["President Salam (president) — with", "Tomka (member) — with"],
"separate_opinion_authors": [],
"dissenting_opinion_authors": [],
"document_url": "https://www.icj-cij.org/sites/default/files/case-related/192/192-20260521-ord-01-00-en.pdf",
"document_paragraphs": ["1. The Court begins its reasoning here.", "2. The Court continues..."],
"operative_paragraph_text": "For these reasons, The Court, (1) Unanimously, Finds that it has jurisdiction..."
}
FieldTypeDescription
case_idintegerICJ case number.
case_namestringFull case name.
case_typestringcontentious or advisory.
applicant_statestringParsed from the case title. Null for advisory opinions and joint-application cases.
respondent_statestringParsed from the case title.
filing_datestringDate the case was introduced (ISO date). Null when the Court's own case index hasn't recorded one yet.
statusstringpending or concluded.
document_typestringjudgment, advisory_opinion, order, declaration, separate_opinion, dissenting_opinion, written_pleading, or oral_proceeding.
document_datestringDate the document was issued (ISO date).
document_languagestringen, fr, or bi (bilingual edition, used when no separate-language file exists).
document_phasestringProcedural phase tag when the Court publishes one (provisional measures, preliminary objections, intervention). Null otherwise.
judgesarrayJudge vote tabulation, one entry per recorded vote. Populated when the dispositif includes a roll call — orders and shorter rulings often don't carry one.
separate_opinion_authorsarrayJudges who filed a separate opinion attached to this document.
dissenting_opinion_authorsarrayJudges who filed a dissenting opinion attached to this document.
document_urlstringDirect PDF URL on icj-cij.org.
document_paragraphsarrayNumbered paragraphs as "N. text" strings, matching international-law citation style.
operative_paragraph_textstringThe dispositif. Null for documents that don't carry one, like press releases or verbatim records.

FAQ

How do I scrape ICJ judgments?

Run this actor with mode: "case_ids" and the case number, or mode: "since_date" to pull everything published after a given date. No account or API key is needed — the Court publishes its decisions openly.

What data can I get from ICJ case law?

Judgments, advisory opinions, orders, and separate or dissenting opinions, returned with paragraph numbering, the operative dispositif, case metadata, and a best-effort judge vote tabulation where the Court recorded one.

Can I filter by document type or language?

Yes. documentTypes narrows a run to just judgments, just orders, or any combination; languages picks English, French, or both.

Do I need an account or API key for icj-cij.org?

No. The Court's case documents are public. You configure the scope you want and run the actor.

Does this cover advisory opinions, or only contentious cases?

Both. case_type tells you which one you're looking at, and advisory opinions get their own document_type rather than being lumped in with judgments.


Need More Features?

Need a different filter, an additional field, or a related court's case law? File an issue or get in touch.

Why Use This ICJ Scraper?

  • Citation-accurate — paragraph numbering preserved exactly as the Court publishes it, so you can cite a finding the way a brief would.
  • Dispositif as its own field — the operative paragraph is separated from the reasoning that precedes it, which saves you from parsing a 300-page PDF to find the one paragraph that actually decided the case.
  • Bilingual by design — English and French editions are both addressable, which matters for a Court that publishes authoritative text in both languages.