Skip to main content
Glama

Judikatur durchsuchen

ris_judikatur
Read-only

Search Austrian court decisions (Judikatur) by keyword, jurisdiction, court, and date. Filter results by document type to retrieve full texts or headnotes.

Instructions

Search Austrian court decisions (Judikatur).

Use this tool to find court decisions from Austrian courts. Choose the jurisdiction via "gerichtsbarkeit" (which court system to search).

RIS distinguishes two document kinds, controlled by "dokumenttyp":

  • Rechtssatz: abstract legal principle / headnote (Leitsatz) distilled from a decision

  • Entscheidungstext: the full decision text including reasoning (Begruendung) The default "beide" searches both for the most complete results.

Example queries:

  • gerichtsbarkeit="Vfgh", suchworte="Grundrecht" -> Constitutional Court decisions

  • suchworte="Schadenersatz", gericht="OGH" -> Only Supreme Court (OGH) decisions

  • norm="1295 ABGB" -> Which decisions cite §1295 ABGB?

  • gerichtsbarkeit="Justiz", fachgebiet="Arbeitsrecht", sortierung="datum_ab" -> Newest labor-law decisions

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
normNoSearch by legal norm (e.g., "1319a ABGB")
limitNoResults per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice).
seiteNoPage number
gerichtNoFilter by the actual court within the jurisdiction (e.g., "OGH", "OLG Wien"). Applies to gerichtsbarkeit="Justiz".
suchworteNoFull-text search in decisions
fachgebietNoSubject area of OGH case law (e.g., "Arbeitsrecht", "Insolvenzrecht"). Applies to gerichtsbarkeit="Justiz" and only matches full decision texts (requires dokumenttyp "entscheidungstext" or "beide").
sortierungNoSort by decision date: "datum_auf" (oldest first) or "datum_ab" (newest first).
dokumenttypNoWhich document kind to search: "rechtssatz" (abstract headnotes only), "entscheidungstext" (full decision texts only), or "beide" (both, default). The RIS API otherwise searches only Rechtssätze.beide
rechtsgebietNoBroad legal area: "Zivilrecht" or "Strafrecht". Applies to gerichtsbarkeit="Justiz".
geschaeftszahlNoCase number (e.g., "5Ob234/20b")
gerichtsbarkeitNoCourt system / data collection to search (maps to the RIS "Applikation"): "Justiz" (OGH/OLG/LG/BG, default), "Vfgh" (Constitutional), "Vwgh" (Administrative), "Bvwg", "Lvwg", "Dsk" (Data Protection), "AsylGH", "Normenliste", "Pvak", "Gbk", "Dok", plus historical (dissolved 2014, stock still searchable): "Verg", "Uvs", "Ubas", "Umse", "Bks"Justiz
response_formatNo"markdown" or "json"markdown
sammlungsnummerNoCollection number: VfSlg (gerichtsbarkeit="Vfgh") or VwSlg (gerichtsbarkeit="Vwgh").
entscheidungsartNoType of decision. Allowed values differ by jurisdiction, e.g. Vfgh/Vwgh/Bvwg: "Beschluss", "Erkenntnis"; Lvwg also "Bescheid"; Justiz: "Verstärkter Senat", "Ordentliche Erledigung (Sachentscheidung)".
entscheidungsdatum_bisNoDecision date to (YYYY-MM-DD)
entscheidungsdatum_vonNoDecision date from (YYYY-MM-DD)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageYesPage number of this result set (1-based)
queryNoEcho of the validated search parameters alongside the tool name — re-issue the call with an incremented "seite" for the next page
noticeNoPresent when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit
has_moreYesWhether further result pages are available
documentsYesThe documents on this page
page_sizeYesNumber of documents per page
total_hitsYesTotal number of documents in RIS matching the search

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.8.2
    • changedInput schema / properties / limit / description
      Previous value: -"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
  2. Changed6 schema fields changedv1.8.0
    • changedInput schema / properties / limit / description
      Previous value: -"Results per page: 10, 20, 50, or 100 (default: 20)"New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
    • removedOutput schema / properties / documents / items / properties / citation / properties / kurztitel
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / documents / items / properties / content_urls / properties / rtf
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / documents / items / properties / content_urls / properties / xml
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / documents / items / properties / kurztitel
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • addedOutput schema / properties / notice
      Added value: +{
      +  "description": "Present when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit",
      +  "type": "string"
      +}
  3. Changed1 schema field changedv1.6.1
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "documents": {
      +      "description": "The documents on this page",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "applikation": {
      +            "type": "string"
      +          },
      +          "citation": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "ausserkrafttreten": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "eli": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "inkrafttreten": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "kundmachungsorgan": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "kurztitel": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "langtitel": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "paragraph": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "citation_display": {
      +            "description": "Preformatted citation line as shown in the text output",
      +            "type": "string"
      +          },
      +          "content_urls": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "html": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "pdf": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "rtf": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "xml": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "dokument_url": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "dokumentnummer": {
      +            "type": "string"
      +          },
      +          "entscheidungsdatum": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Decision date as YYYY-MM-DD (Judikatur documents only)"
      +          },
      +          "gericht": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Deciding court or authority (Judikatur documents only)"
      +          },
      +          "gesamte_rechtsvorschrift_url": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "geschaeftszahl": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Case number(s), semicolon-separated when several (Judikatur documents only)"
      +          },
      +          "kurztitel": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "rechtssatznummer": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Rechtssatz number, e.g. \"RS0018547\" (Judikatur Rechtssatz documents only)"
      +          },
      +          "titel": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "dokumentnummer",
      +          "applikation",
      +          "titel",
      +          "citation",
      +          "citation_display",
      +          "content_urls"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "has_more": {
      +      "description": "Whether further result pages are available",
      +      "type": "boolean"
      +    },
      +    "page": {
      +      "description": "Page number of this result set (1-based)",
      +      "type": "number"
      +    },
      +    "page_size": {
      +      "description": "Number of documents per page",
      +      "type": "number"
      +    },
      +    "query": {
      +      "additionalProperties": {},
      +      "description": "Echo of the validated search parameters alongside the tool name — re-issue the call with an incremented \"seite\" for the next page",
      +      "properties": {
      +        "tool": {
      +          "description": "Name of the tool that produced this result — call it again to paginate",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "tool"
      +      ],
      +      "type": "object"
      +    },
      +    "total_hits": {
      +      "description": "Total number of documents in RIS matching the search",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "total_hits",
      +    "page",
      +    "page_size",
      +    "has_more",
      +    "documents"
      +  ],
      +  "type": "object"
      +}
  4. Changed17 schema fields changedv1.2.4
    • addedInput schema / properties / dokumenttyp
      Added value: +{
      +  "default": "beide",
      +  "description": "Which document kind to search: \"rechtssatz\" (abstract headnotes only), \"entscheidungstext\" (full decision texts only), or \"beide\" (both, default). The RIS API otherwise searches only Rechtssätze.",
      +  "enum": [
      +    "rechtssatz",
      +    "entscheidungstext",
      +    "beide"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / entscheidungsart
      Added value: +{
      +  "description": "Type of decision. Allowed values differ by jurisdiction, e.g. Vfgh/Vwgh/Bvwg: \"Beschluss\", \"Erkenntnis\"; Lvwg also \"Bescheid\"; Justiz: \"Verstärkter Senat\", \"Ordentliche Erledigung (Sachentscheidung)\".",
      +  "maxLength": 100,
      +  "type": "string"
      +}
    • addedInput schema / properties / fachgebiet
      Added value: +{
      +  "description": "Subject area of OGH case law (e.g., \"Arbeitsrecht\", \"Insolvenzrecht\"). Applies to gerichtsbarkeit=\"Justiz\" and only matches full decision texts (requires dokumenttyp \"entscheidungstext\" or \"beide\").",
      +  "enum": [
      +    "Amtsdelikte/Korruption",
      +    "Amtshaftung inkl. StEG",
      +    "Anfechtungsrecht",
      +    "Arbeitsrecht",
      +    "Bestandrecht",
      +    "Datenschutzrecht",
      +    "Erbrecht und Verlassenschaftsverfahren",
      +    "Erwachsenenschutzrecht",
      +    "Exekutionsrecht",
      +    "Familienrecht (ohne Unterhalt)",
      +    "Finanzstrafsachen",
      +    "Gewerblicher Rechtsschutz",
      +    "Grundbuchsrecht",
      +    "Grundrechte",
      +    "Insolvenzrecht",
      +    "Internationales Privat- und Zivilverfahrensrecht",
      +    "Jugendstrafsachen",
      +    "Kartellrecht",
      +    "Klauselentscheidungen",
      +    "Konsumentenschutz und Produkthaftung",
      +    "Medienrecht",
      +    "Persönlichkeitsschutzrecht",
      +    "Schadenersatz nach Verkehrsunfall",
      +    "Schlepperei/FPG",
      +    "Schiedsverfahrensrecht",
      +    "Sexualdelikte",
      +    "Sozialrecht",
      +    "Suchtgiftdelikte",
      +    "Transportrecht",
      +    "Unionsrecht",
      +    "Unterbringungs- und Heimaufenthaltsrecht",
      +    "Unterhaltsrecht inkl. UVG",
      +    "Unternehmens-, Gesellschafts- und Wertpapierrecht",
      +    "Urheberrecht",
      +    "Versicherungsvertragsrecht",
      +    "Wirtschaftsstrafsachen",
      +    "Wohnungseigentumsrecht",
      +    "Zivilverfahrensrecht"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / gericht / default
      Removed value: -"Justiz"
    • changedInput schema / properties / gericht / description
      Previous value: -"Court - \"Justiz\" (OGH/OLG/LG, default), \"Vfgh\" (Constitutional), \"Vwgh\" (Administrative), \"Bvwg\", \"Lvwg\", \"Dsk\" (Data Protection), \"AsylGH\" (historical), \"Normenliste\", \"Pvak\", \"Gbk\", \"Dok\""New value: +"Filter by the actual court within the jurisdiction (e.g., \"OGH\", \"OLG Wien\"). Applies to gerichtsbarkeit=\"Justiz\"."
    • removedInput schema / properties / gericht / enum
      Removed value: -[
      -  "Justiz",
      -  "Vfgh",
      -  "Vwgh",
      -  "Bvwg",
      -  "Lvwg",
      -  "Dsk",
      -  "AsylGH",
      -  "Normenliste",
      -  "Pvak",
      -  "Gbk",
      -  "Dok"
      -]
    • addedInput schema / properties / gericht / maxLength
      Added value: +100
    • addedInput schema / properties / gerichtsbarkeit
      Added value: +{
      +  "default": "Justiz",
      +  "description": "Court system / data collection to search (maps to the RIS \"Applikation\"): \"Justiz\" (OGH/OLG/LG/BG, default), \"Vfgh\" (Constitutional), \"Vwgh\" (Administrative), \"Bvwg\", \"Lvwg\", \"Dsk\" (Data Protection), \"AsylGH\", \"Normenliste\", \"Pvak\", \"Gbk\", \"Dok\", plus historical (dissolved 2014, stock still searchable): \"Verg\", \"Uvs\", \"Ubas\", \"Umse\", \"Bks\"",
      +  "enum": [
      +    "Justiz",
      +    "Vfgh",
      +    "Vwgh",
      +    "Bvwg",
      +    "Lvwg",
      +    "Dsk",
      +    "AsylGH",
      +    "Normenliste",
      +    "Pvak",
      +    "Gbk",
      +    "Dok",
      +    "Verg",
      +    "Uvs",
      +    "Ubas",
      +    "Umse",
      +    "Bks"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / limit / anyOf
      Added value: +[
      +  {
      +    "const": 10,
      +    "type": "number"
      +  },
      +  {
      +    "const": 20,
      +    "type": "number"
      +  },
      +  {
      +    "const": 50,
      +    "type": "number"
      +  },
      +  {
      +    "const": 100,
      +    "type": "number"
      +  }
      +]
    • changedInput schema / properties / limit / description
      Previous value: -"Results per page"New value: +"Results per page: 10, 20, 50, or 100 (default: 20)"
    • removedInput schema / properties / limit / type
      Removed value: -"number"
    • addedInput schema / properties / rechtsgebiet
      Added value: +{
      +  "description": "Broad legal area: \"Zivilrecht\" or \"Strafrecht\". Applies to gerichtsbarkeit=\"Justiz\".",
      +  "enum": [
      +    "Zivilrecht",
      +    "Strafrecht"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / sammlungsnummer
      Added value: +{
      +  "description": "Collection number: VfSlg (gerichtsbarkeit=\"Vfgh\") or VwSlg (gerichtsbarkeit=\"Vwgh\").",
      +  "maxLength": 100,
      +  "type": "string"
      +}
    • addedInput schema / properties / seite / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / seite / minimum
      Added value: +1
    • changedInput schema / properties / seite / type
      Previous value: -"number"New value: +"integer"
    • addedInput schema / properties / sortierung
      Added value: +{
      +  "description": "Sort by decision date: \"datum_auf\" (oldest first) or \"datum_ab\" (newest first).",
      +  "enum": [
      +    "datum_auf",
      +    "datum_ab"
      +  ],
      +  "type": "string"
      +}
  5. First observedv1.1.3

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the description correctly doesn't restate those. It adds meaningful behavioral context beyond annotations: the limit parameter's payload cost and automatic page-size fallback, and the constraint that fachgebiet only matches full decision texts (requiring dokumenttyp 'entscheidungstext' or 'beide'). This is valuable transparency for a search tool with pagination and filtering quirks.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured and front-loaded: a one-sentence summary leads, followed by a concise explanation of the two document kinds and then practical examples. Every sentence serves a purpose—either explaining semantics, constraints, or usage—without redundancy. The length is justified by the tool's complexity, and the organization aids readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 16 optional parameters, full schema coverage, an output schema, and the annotations, the description covers the essential decision points: what to search, how to filter, and key caveats. It doesn't explicitly walk through every parameter, but the schema already does that. The description's focus on the most impactful parameters and their interactions is sufficient for an agent to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds significant value by clarifying parameter interactions (e.g., gericht applies only to 'Justiz', fachgebiet requires specific document types, and limit's payload implications). It also gives example queries that map parameter combinations to real use cases, which goes beyond the schema's individual field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Search') and resource ('Austrian court decisions (Judikatur)'), and clearly differentiates from sibling RIS tools by focusing on case law. The description goes further to distinguish the two document kinds (Rechtssatz vs. Entscheidungstext) and provides concrete examples, leaving no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on choosing jurisdiction ('gerichtsbarkeit'), document type ('dokumenttyp'), and gives multiple example queries illustrating different use cases (e.g., filtering by court, norm, subject area). While it doesn't explicitly state when NOT to use this tool versus siblings like ris_bundesrecht, the domain focus is clear enough for an agent to select it appropriately. The lack of explicit exclusion of alternatives is the only gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.