eurlex_structure
Returns the outline of an EU legal act, including chapters, articles, and paragraphs, with character offsets so you can directly retrieve a specific section instead of reading the entire document.
Instructions
Returns the outline (table of contents) of an EU legal act — its chapters, sections, articles and annexes — each with a character offset into the document's plain text. Use it as a map for targeted reading: read an article's offset from the outline, then call eurlex_fetch(celex_id, format:"plain", offset, max_chars) with that offset to jump straight to that article instead of paging from the top of a long act. Identify the act by celex_id (e.g. "32024R1689"), eli, or oj_ref — provide exactly one. Each outline entry has: level (1=part/title/annex, 2=chapter, 3=section, 4=article), label (e.g. "Article 5", "CHAPTER III"), title (the heading's subtitle, e.g. "Prohibited AI practices"), and offset. total_headings is the full count; the returned list is capped at 300 for very large acts (truncated=true). Heading offsets are specific to the chosen language and to plain (tag-stripped) text — pass the SAME language to the follow-up eurlex_fetch call and keep format:"plain". Heading recognition covers English, German and French documents. For case-law documents (CELEX sector 6, e.g. CJEU judgments) the outline additionally lists each numbered judgment paragraph as "Paragraph N" (level 4); numbered-paragraph detection works in any language (it keys on the paragraph number, not heading words) — so you can get the offset of, say, paragraph 72 of a judgment and jump eurlex_fetch straight to it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| eli | No | European Legislation Identifier (ELI), short or full form, e.g. "reg/2016/679" or "http://data.europa.eu/eli/reg/2016/679/oj" (GDPR). Resolved to a CELEX ID via Cellar. Provide exactly one of celex_id, eli, or oj_ref. | |
| oj_ref | No | Official Journal reference in the post-2023 scheme, e.g. "OJ:L_202401689" (AI Act). Resolved to a CELEX ID via Cellar. Provide exactly one of celex_id, eli, or oj_ref. | |
| celex_id | No | CELEX identifier, e.g. "32024R1689" (AI Act). Provide exactly one of celex_id, eli, or oj_ref. | |
| language | No | Language of the document to outline, as a Cellar 3-letter code (any of the 24 official EU languages, e.g. DEU, ENG, FRA). Heading labels are language-specific; the returned offsets index the plain text of THIS language, so pass the same language to the follow-up eurlex_fetch call. | ENG |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Present only when no headings were found or the outline was truncated | |
| outline | Yes | Headings in document order | |
| celex_id | Yes | The resolved CELEX ID (echoed for the follow-up eurlex_fetch) | |
| language | Yes | ||
| returned | Yes | Number of headings in `outline` (<= total_headings) | |
| truncated | Yes | True when `outline` was capped below total_headings | |
| source_url | Yes | ||
| total_chars | Yes | Length of the plain text the offsets index into (matches eurlex_fetch total_chars) | |
| total_headings | Yes | Total headings detected before the returned-list cap |