Skip to main content
The Servicio de Impuestos Internos (SII) is Chile’s tax authority. It publishes how it reads the tax laws in four collections, and this source keeps all four: its oficios (the answers it gives to taxpayers’ questions, the jurisprudencia administrativa) from 1994 on, about 7,500 of them on income tax, VAT and every other norm; its circulares from 1975 on, about 3,100; its resoluciones from 1975 on, about 4,200; and its compilation of court rulings on tax matters, about 3,600 rulings of the Corte Suprema, the Cortes de Apelaciones, the Tribunales Tributarios y Aduaneros and the Tribunal Constitucional since 2008. Each document comes with its number, date, SII’s summary, the norms it applies, its full text, and a copy of every file SII publishes with it, kept byte for byte. Search each collection by number, year or date, or with free text that reaches into the body of every document. Search first, then read one document in full.
The whole source, organized and ready to query: every endpoint on this page answers in milliseconds. Every response carries as_of: how current the data is. How datasets work.

Search the oficios

POST /cl/sii/oficios-search/v1 Dataset One search over the full text of every oficio, filtered by tax, number, year or date.
Returns as_of (how current the data is), the applied filters, total and total_is_exact, page, per_page, total_pages, count and results[], most recently issued first. Every result carries id, subject (renta, iva or otras), number, document_type (e.g. Oficio Ordinario), year, issued_at, published_at (2019 on), legal_references (the norms the oficio interprets), summary, text_status (ok, scanned or missing) and official_url (the year’s listing at SII). document_url is Croma’s copy of the main document, byte for byte as SII published it, which stays available whatever happens to SII’s link; source_document_url is the same document on SII’s own site; documents[] lists every file SII publishes with it (name, format, document_url, source_document_url, bytes).
Search results leave out the text; query still matches it, so a phrase from the body finds the document. Read the text itself with the SII Oficio endpoint.

One oficio, in full

POST /cl/sii/oficio/v1 Dataset
Returns as_of, found, oficio_id and oficio, which carries everything the search returns plus content: a window onto the full text, with text, offset, total_length, has_more and next_offset. Every result carries id, subject (renta, iva or otras), number, document_type (e.g. Oficio Ordinario), year, issued_at, published_at (2019 on), legal_references (the norms the oficio interprets), summary, text_status (ok, scanned or missing) and official_url (the year’s listing at SII). document_url is Croma’s copy of the main document, byte for byte as SII published it, which stays available whatever happens to SII’s link; source_document_url is the same document on SII’s own site; documents[] lists every file SII publishes with it (name, format, document_url, source_document_url, bytes).
An id Croma’s copy does not hold returns found: false with HTTP 200, not an error.

Search the circulars

POST /cl/sii/circulars-search/v1 Dataset One search over the full text of every circular, filtered by number, year or date.
Returns as_of (how current the data is), the applied filters, total and total_is_exact, page, per_page, total_pages, count and results[], newest first. Every result carries id (year and number, e.g. 2026-41), number, year, title, issued_at, summary, issuing_office (the office SII names as its source), status (the note SII prints beside it, e.g. modificada), text_status and official_url (the year’s listing at SII). document_url is Croma’s copy of the main document, byte for byte as SII published it, which stays available whatever happens to SII’s link; source_document_url is the same document on SII’s own site; documents[] lists every file SII publishes with it (name, format, document_url, source_document_url, bytes).
Search results leave out the text; query still matches it, so a phrase from the body finds the document. Read the text itself with the SII Circular endpoint.

One circular, in full

POST /cl/sii/circular/v1 Dataset
Returns as_of, found, circular_id and circular, which carries everything the search returns plus content: a window onto the full text, with text, offset, total_length, has_more and next_offset. Every result carries id (year and number, e.g. 2026-41), number, year, title, issued_at, summary, issuing_office (the office SII names as its source), status (the note SII prints beside it, e.g. modificada), text_status and official_url (the year’s listing at SII). document_url is Croma’s copy of the main document, byte for byte as SII published it, which stays available whatever happens to SII’s link; source_document_url is the same document on SII’s own site; documents[] lists every file SII publishes with it (name, format, document_url, source_document_url, bytes).
An id Croma’s copy does not hold returns found: false with HTTP 200, not an error.

Search the resolutions

POST /cl/sii/resolutions-search/v1 Dataset One search over the full text of every resolution, filtered by number, year or date.
Returns as_of (how current the data is), the applied filters, total and total_is_exact, page, per_page, total_pages, count and results[], newest first. Every result carries id (year and number, e.g. 2026-41), number, year, title, issued_at, summary, issuing_office (the office SII names as its source), status (the note SII prints beside it, e.g. modificada), text_status and official_url (the year’s listing at SII). document_url is Croma’s copy of the main document, byte for byte as SII published it, which stays available whatever happens to SII’s link; source_document_url is the same document on SII’s own site; documents[] lists every file SII publishes with it (name, format, document_url, source_document_url, bytes).
Search results leave out the text; query still matches it, so a phrase from the body finds the document. Read the text itself with the SII Resolution endpoint.

One resolution, in full

POST /cl/sii/resolution/v1 Dataset
Returns as_of, found, resolution_id and resolution, which carries everything the search returns plus content: a window onto the full text, with text, offset, total_length, has_more and next_offset. Every result carries id (year and number, e.g. 2026-41), number, year, title, issued_at, summary, issuing_office (the office SII names as its source), status (the note SII prints beside it, e.g. modificada), text_status and official_url (the year’s listing at SII). document_url is Croma’s copy of the main document, byte for byte as SII published it, which stays available whatever happens to SII’s link; source_document_url is the same document on SII’s own site; documents[] lists every file SII publishes with it (name, format, document_url, source_document_url, bytes).
An id Croma’s copy does not hold returns found: false with HTTP 200, not an error.

Search the court rulings

POST /cl/sii/rulings-search/v1 Dataset One search over SII’s compilation of court rulings, filtered by court, case number, year or date.
Returns as_of (how current the data is), the applied filters, total and total_is_exact, page, per_page, total_pages, count and results[], newest first. Every result carries id, code_type (ROL or RIT), registration_number, case_ruc, ruling_date, year, court, court_group (e.g. Corte Suprema, Tribunal Tributario y Aduanero), ruling_type, parties (as SII’s compilation names them), summary (SII’s headnote), extract (SII’s extract of the reasoning), norms[] (norm_body, articles[]), text_status, document_url (Croma’s copy of the ruling’s text as SII publishes it) and source_document_url (the ruling’s document at SII, when it links one).
Search results leave out the text; query still matches it, so a phrase from the body finds the document. Read the text itself with the SII Court Ruling endpoint.

One court ruling, in full

POST /cl/sii/ruling/v1 Dataset
Returns as_of, found, ruling_id and ruling, which carries everything the search returns plus content: a window onto the full text, with text, offset, total_length, has_more and next_offset. Every result carries id, code_type (ROL or RIT), registration_number, case_ruc, ruling_date, year, court, court_group (e.g. Corte Suprema, Tribunal Tributario y Aduanero), ruling_type, parties (as SII’s compilation names them), summary (SII’s headnote), extract (SII’s extract of the reasoning), norms[] (norm_body, articles[]), text_status, document_url (Croma’s copy of the ruling’s text as SII publishes it) and source_document_url (the ruling’s document at SII, when it links one).
An id Croma’s copy does not hold returns found: false with HTTP 200, not an error.

Full reference

Schemas, all response fields, and an interactive playground.