# Corte Constitucional de Colombia: sentencias C, SU y T (`opendata-cr/corte-constitucional-colombia`) Actor

Sentencias de la Corte Constitucional de Colombia: C y SU con texto completo, tutelas (T) solo metadatos. Filtros por año, fechas, magistrado ponente, palabras clave y norma demandada. Modo monitor. Colombian Constitutional Court rulings.

- **URL**: https://apify.com/opendata-cr/corte-constitucional-colombia.md
- **Developed by:** [Tornwar](https://apify.com/opendata-cr) (community)
- **Categories:** Business, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 sentencias

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Sentencias de la Corte Constitucional de Colombia / Colombian Constitutional Court rulings

Busque y monitoree sentencias de la Corte Constitucional de Colombia. Las sentencias de constitucionalidad (C) y de unificación (SU) se entregan con su texto completo, la síntesis, la parte resolutiva, los temas del tesauro y la norma demandada. Las tutelas (T) se entregan solo con metadatos: número, fecha, expediente, magistrado ponente, sala y votos, sin texto ni nombres de las partes.

El Actor combina el índice abierto «Sentencias proferidas por la Corte Constitucional» de datos.gov.co con las páginas públicas de la Relatoría de la Corte.

Search and monitor rulings of Colombia's Constitutional Court. C and SU rulings come with full text; tutelas (T) as metadata only. English below.

> **Aviso.** Herramienta independiente. No está afiliada, patrocinada ni avalada por la Corte Constitucional de Colombia ni por la Rama Judicial. No es una fuente oficial: verifique el texto en la Relatoría antes de citarlo.

***

### Español

#### Para quién es

- Abogados y firmas que siguen la jurisprudencia constitucional sobre una ley, un tema o un magistrado.
- Universidades, semilleros y editoriales jurídicas que arman colecciones de sentencias.
- Equipos de tecnología legal que necesitan el texto completo, limpio y con metadatos, en JSON.
- Alertas: «avíseme cuando la Corte decida sobre la Ley 2277 de 2022».

#### Qué devuelve

| Tipo | Qué incluye | Evento |
|---|---|---|
| `C` constitucionalidad | Metadatos + `normaDemandada`, `normas`, `temas`, `decisionesDetectadas`, `sintesis`, `resuelve` y `texto` completo | `sentencia-texto` |
| `SU` unificación | Metadatos + `temas`, `decisionesDetectadas`, `sintesis`, `resuelve` y `texto` completo | `sentencia-texto` |
| `T` tutela | Solo metadatos. Con `includeTutelaTopics`, también los descriptores del tesauro | `sentencia-metadatos` |

Si una C o SU todavía no tiene texto en la Relatoría (suele tardar varias semanas o meses), se entrega con `textoDisponible: false`, solo con metadatos y al precio de metadatos. Con `includeWithoutText: false` se omite hasta que aparezca el texto.

Con `includeText: false`, las C y SU se entregan sin texto y se cobran como metadatos. Si el texto ya está publicado, el ítem conserva `normaDemandada`, `normas`, `temas` y `decisionesDetectadas`, pero no `texto`, `sintesis` ni `resuelve`.

Cada ítem lleva `fuente`, `licencia`, `aviso`, `url` (la página de la Relatoría) y `fechaConsulta`. El resumen de la ejecución (registro `OUTPUT`) repite la fuente, la licencia y el aviso, e indica cuándo se actualizó el índice por última vez (`indexUpdatedAt`).

#### Filtros

| Campo | Qué hace |
|---|---|
| `types` | `C`, `SU`, `T`. Si se deja vacío: `C` y `SU` |
| `year` | Año de la sentencia. Si también indica fechas, se usa la intersección |
| `dateFrom`, `dateTo` | Rango de fechas de la sentencia, inclusive. Sin año ni fechas, se usan los últimos `recentDays` días (90) |
| `magistradoPonente` | Uno o varios nombres. No distingue tildes ni mayúsculas; cada palabra escrita debe aparecer: `ibanez` encuentra a Jorge Enrique Ibáñez Najar |
| `keywords`, `keywordMode` | Palabras o frases completas. `any`: basta una; `all`: todas. En C y SU se busca en todo el texto; en T, solo en los metadatos y en los temas (si están activados) |
| `normaDemandada` | Solo sentencias C. Acepta `Ley 2277 de 2022`, `ley 100/93`, `Decreto 624 de 1989` o texto libre como `Estatuto Tributario`. Se compara con la referencia de la sentencia, así que requiere que el texto esté publicado |
| `sentencias` | Números concretos, por ejemplo `C-355/06`, `SU-018/25` o `T-280/26`. El tipo sale del número (se ignora `types`) y, sin fechas, se busca en todo el índice |

Los filtros por texto (`keywords` en C/SU y `normaDemandada`) revisan el contenido publicado de cada sentencia candidata. `maxPagesToScan` limita cuántas se revisan por ejecución: 300 por defecto, que cubre un año completo de sentencias C y SU (el índice registra entre 101 y 258 por año desde 2018), y hasta 5,000 si lo fija usted. Las páginas revisadas que no coinciden no se cobran.

#### Precio (pago por evento)

| Evento | Precio | Se cobra por |
|---|---|---|
| `actor-start` (Inicio) | US$0.01 | Una vez por ejecución, cuando el índice de sentencias responde |
| `sentencia-texto` (Sentencia) | US$0.005 | Cada sentencia C o SU entregada con texto completo |
| `sentencia-metadatos` (Metadatos de sentencia) | US$0.001 | Cada tutela, y cada C o SU entregada sin texto |

Ejemplos de costo:

| Ejecución | Cálculo | Total |
|---|---|---|
| 10 sentencias C con texto | 0.01 + 10 × 0.005 | US$0.06 |
| 50 sentencias C y SU con texto | 0.01 + 50 × 0.005 | US$0.26 |
| 100 tutelas (metadatos) | 0.01 + 100 × 0.001 | US$0.11 |
| Monitor semanal sin novedades | solo el inicio | US$0.01 |

El inicio se cobra aunque no haya resultados, por ejemplo en un monitor sin sentencias nuevas o en una búsqueda sin coincidencias. No se cobra si la entrada es inválida, si el índice de datos.gov.co no responde o si el máximo a cobrar no alcanza para el inicio y una sentencia. Las sentencias solo se cobran cuando se escriben en el dataset.

`maxResults` limita la cantidad de sentencias por ejecución (50 si se omite; el formulario sugiere 10; máximo 5,000). Los resultados salen de la más reciente a la más antigua.

Puede fijar un máximo a cobrar por ejecución (mínimo US$0.02: el inicio más una sentencia con texto). El inicio se descuenta primero de ese máximo. Antes de cada sentencia, el Actor revisa que su evento quepa en lo que queda. Si no cabe, la ejecución termina con éxito, conserva lo ya entregado y lo indica en el mensaje de estado. No salta a una sentencia más barata para llenar el saldo. Si el máximo no alcanza ni para una sentencia de metadatos, no se consulta ninguna fuente.

#### Ejemplo

```json
{
    "types": ["C"],
    "year": 2026,
    "normaDemandada": "Ley 2277 de 2022",
    "maxResults": 3
}
```

Resultado real (octubre de 2026). Se acortaron `temas`, `sintesis`, `resuelve` y `texto`:

```json
{
  "sentencia": "C-050/26",
  "tipo": "C",
  "tipoDescripcion": "Constitucionalidad",
  "numero": "050",
  "anio": 2026,
  "fecha": "2026-03-11",
  "proceso": "Demanda de inconstitucionalidad",
  "expediente": "D-16796",
  "magistradoPonente": "Héctor Alfonso Carvajal Londoño",
  "sala": "Sala Plena",
  "salvamentoVoto": true,
  "aclaracionVoto": true,
  "nivelDetalle": "texto",
  "textoIncluido": true,
  "url": "https://www.corteconstitucional.gov.co/relatoria/2026/C-050-26.htm",
  "textoDisponible": true,
  "textoPublicadoEn": "2026-09-01T14:50:19+00:00",
  "normaDemandada": "Demanda de inconstitucionalidad contra el parágrafo 4, parcial, del artículo 240 del Decreto 624 de 1989, modificado por el artículo 10 de la Ley 2277 de 2022 …",
  "normas": ["Decreto 624 de 1989", "Ley 2277 de 2022"],
  "temas": [
    {
      "descriptor": "PRINCIPIOS DE IGUALDAD Y DE EQUIDAD TRIBUTARIA",
      "subtema": "No se vulneran por sobretasa del impuesto sobre la renta para empresas generadoras de energía hidroeléctrica mediante recursos hídricos"
    }
  ],
  "decisionesDetectadas": ["exequible", "inhibición", "estarse a lo resuelto"],
  "sintesis": "La Corte Constitucional estudió una demanda de inconstitucionalidad contra el parágrafo 4 (parcial) del artículo 240 del Estatuto Tributario …",
  "resuelve": "PRIMERO. ESTARSE A LO RESUELTO en la Sentencia C-389 de 2023 …",
  "texto": "TEMAS-SUBTEMAS\nSentencia C-050/26\n…",
  "textoCaracteres": 186877,
  "textoTruncado": false,
  "fuente": "Corte Constitucional de Colombia. Índice «Sentencias proferidas por la Corte Constitucional» (datos.gov.co, v2k4-2t8s, CC BY-SA 4.0) y texto publicado por la Relatoría (corteconstitucional.gov.co/relatoria)",
  "licencia": "Índice: CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/). Texto: providencia judicial pública publicada por la Corte Constitucional.",
  "aviso": "Herramienta independiente. No está afiliada, patrocinada ni avalada por la Corte Constitucional de Colombia ni por la Rama Judicial. …",
  "fechaConsulta": "2026-10-05T01:07:05+00:00"
}
```

Una tutela trae solo estos campos:

```json
{
  "sentencia": "T-280/26",
  "tipo": "T",
  "tipoDescripcion": "Tutela",
  "numero": "280",
  "anio": 2026,
  "fecha": "2026-08-31",
  "proceso": "Tutela",
  "expediente": "T-11726522",
  "magistradoPonente": "Héctor Alfonso Carvajal Londoño",
  "sala": "Salas de Revisión",
  "salvamentoVoto": null,
  "aclaracionVoto": null,
  "nivelDetalle": "metadatos",
  "textoIncluido": false,
  "url": "https://www.corteconstitucional.gov.co/relatoria/2026/T-280-26.htm"
}
```

`salvamentoVoto` y `aclaracionVoto` son `null` cuando el índice dice «s.d.» (sin dato). `decisionesDetectadas` se deduce de la parte resolutiva con reglas simples (exequible, inexequible, exequibilidad condicionada, inhibición, estarse a lo resuelto, revocar, confirmar, amparo, etc.). Es una ayuda para filtrar, no una clasificación oficial: lea `resuelve`.

#### Modo monitor

- Programe el Actor (por ejemplo, cada lunes a las 7:00, zona `America/Bogota`).
- Entrada: `onlyNewSinceLastRun: true`, los filtros que le interesan y un `monitorStoreName` distinto para cada alerta, por ejemplo `cc-tributario` o `cc-salud`.
- Cada ejecución entrega y cobra solo las sentencias que no se entregaron antes con ese almacén, más el inicio (US$0.01). Un monitor semanal sin novedades cuesta US$0.01. Las sentencias ya entregadas se guardan en un Key-Value Store con nombre, en el registro `seen-sentencias`.
- Con `redeliverWhenTextPublished: true` (por defecto), una C o SU que se entregó sin texto se entrega de nuevo, ahora con texto y al precio `sentencia-texto`, cuando la Relatoría la publique.
- Las sentencias que no se entregaron porque se alcanzó `maxResults` o el máximo a cobrar no quedan marcadas: saldrán en la siguiente ejecución. Para empezar sin historial, use un rango corto en la primera ejecución.

El índice de datos.gov.co se actualiza aproximadamente una vez al mes y suele ir algunas semanas detrás de la Corte. Por eso el monitor compara números de sentencia, no fechas: una sentencia de agosto que aparece en el índice en octubre igual se entrega como nueva.

#### Fuentes y licencias

| Dato | Fuente | Licencia |
|---|---|---|
| Índice (número, fecha, proceso, expediente, magistrado, sala, votos) | [datos.gov.co, dataset v2k4-2t8s](https://www.datos.gov.co/d/v2k4-2t8s), publicado por la Corte Constitucional | CC BY-SA 4.0 |
| Texto, temas, síntesis, parte resolutiva, norma demandada | Relatoría: `https://www.corteconstitucional.gov.co/relatoria/{año}/{C\|T}-nnn-aa.htm` y `SUnnn-aa.htm` | Providencias judiciales públicas |

Si redistribuye el índice, respete la licencia CC BY-SA 4.0 (atribución y misma licencia).

#### Privacidad

- Las tutelas nunca llevan texto, síntesis, referencia ni parte resolutiva. El índice no trae nombres de las partes, y el Actor arma cada ítem de tutela con una lista cerrada de campos.
- Con `includeTutelaTopics`, se agregan los descriptores del tesauro (por ejemplo `PENSIÓN DE INVALIDEZ`). Si un subtema contiene una palabra con mayúscula que no es una institución conocida (un posible nombre o lugar), ese subtema se omite.
- En las C y SU se entrega el texto tal como lo publica la Corte, que ya anonimiza a las personas cuando la ley lo exige. En las SU, que nacen de tutelas, el texto puede contener los nombres o seudónimos que use la Corte.

#### Limitaciones

- La Relatoría publica el texto con retraso. En octubre de 2026, cerca de la mitad de las C de 2026 que figuraban en el índice aún no tenían texto.
- El índice abierto no incluye todas las tutelas que profiere la Corte cada año, ni los autos. Lo que no está en el índice no aparece aquí.
- `normaDemandada`, `normas`, `sintesis`, `resuelve` y `decisionesDetectadas` se extraen del texto con reglas. Las sentencias antiguas no tienen síntesis ni tesauro, y en algunas la norma se toma del primer párrafo.
- Muchas tutelas recientes todavía no tienen el bloque de tesauro, así que con `includeTutelaTopics` su `temas` puede venir vacío.
- Las búsquedas por palabra clave en rangos de muchos años revisan muchas páginas. Use `maxPagesToScan` y filtros de fecha.
- El texto de las sentencias SU se entrega tal como lo publica la Corte y puede contener nombres o seudónimos de las partes.

***

### English

#### Who it is for

- Lawyers tracking constitutional case law on a statute, a topic or a justice.
- Universities, legal publishers and research groups building ruling collections.
- Legal technology teams that need clean full text plus metadata as JSON.
- Alerts: "tell me when the Court rules on Law 2277 of 2022".

#### What you get

| Type | Includes | Event |
|---|---|---|
| `C` constitutionality | Metadata + `normaDemandada`, `normas`, `temas`, `decisionesDetectadas`, `sintesis`, `resuelve` and full `texto` | `sentencia-texto` |
| `SU` unification | Metadata + `temas`, `decisionesDetectadas`, `sintesis`, `resuelve` and full `texto` | `sentencia-texto` |
| `T` tutela | Metadata only. With `includeTutelaTopics`, thesaurus descriptors too | `sentencia-metadatos` |

When a C or SU ruling has no text in the Relatoría yet (this often takes weeks or months), it is delivered with `textoDisponible: false`, as metadata only, at the metadata price. With `includeWithoutText: false` it is skipped until the text appears.

With `includeText: false`, C and SU rulings are delivered without text and charged as metadata. If the text is already published, the item keeps `normaDemandada`, `normas`, `temas` and `decisionesDetectadas`, but not `texto`, `sintesis` or `resuelve`.

Every item carries `fuente` (source), `licencia` (license), `aviso` (disclaimer), `url` (the Relatoría page) and `fechaConsulta` (retrieval time). The run summary (`OUTPUT` record) repeats the source, license and disclaimer, and shows when the index was last updated (`indexUpdatedAt`). Field names are in Spanish.

#### Filters

| Field | What it does |
|---|---|
| `types` | `C`, `SU`, `T`. Empty: `C` and `SU` |
| `year` | Ruling year. Combined with dates, the overlap is used |
| `dateFrom`, `dateTo` | Ruling date range, inclusive. With no year or dates, the last `recentDays` days (90) |
| `magistradoPonente` | One or more names. Accent- and case-insensitive; every word you type must appear |
| `keywords`, `keywordMode` | Whole words or phrases. `any` or `all`. C and SU: full text. T: metadata and topics only |
| `normaDemandada` | C rulings only. `Ley 2277 de 2022`, `ley 100/93`, `Decreto 624 de 1989` or free text such as `Estatuto Tributario`. Needs the published text |
| `sentencias` | Specific numbers such as `C-355/06`, `SU-018/25`, `T-280/26`. The type comes from the number (`types` is ignored); without dates, the whole index is searched |

Text filters (C/SU `keywords` and `normaDemandada`) look at the published content of each candidate ruling. `maxPagesToScan` caps how many are checked per run: 300 by default, enough for a full year of C and SU rulings (the index lists 101 to 258 per year since 2018), and up to 5,000 if you set it. Pages that are checked but do not match are not charged.

#### Pricing (pay per event)

| Event | Price | Charged for |
|---|---|---|
| `actor-start` (Inicio) | US$0.01 | Once per run, when the ruling index responds |
| `sentencia-texto` (Sentencia) | US$0.005 | Each C or SU ruling delivered with full text |
| `sentencia-metadatos` (Metadatos de sentencia) | US$0.001 | Each tutela, and each C or SU ruling delivered without text |

Cost examples:

| Run | Calculation | Total |
|---|---|---|
| 10 C rulings with text | 0.01 + 10 × 0.005 | US$0.06 |
| 50 C and SU rulings with text | 0.01 + 50 × 0.005 | US$0.26 |
| 100 tutelas (metadata) | 0.01 + 100 × 0.001 | US$0.11 |
| Weekly monitor with nothing new | start only | US$0.01 |

The start fee is charged even when there are no results, for example a monitor run with nothing new or a search with no matches. It is not charged when the input is invalid, when the datos.gov.co index does not respond, or when the maximum charge does not cover the start fee plus one ruling. Rulings are charged only when written to the dataset.

`maxResults` caps rulings per run (50 if omitted; the form suggests 10; maximum 5,000). Results are newest first.

You can set a maximum charge per run (minimum US$0.02: the start fee plus one ruling with text). The start fee comes out of that maximum first. Before each ruling the Actor checks that its event fits in what is left. If it does not, the run ends as succeeded, keeps what was already delivered and says so in the status message. It does not skip ahead to a cheaper ruling to use up the balance. If the maximum does not cover a single metadata ruling, no source is queried.

#### Example

See the Spanish section for a full real item. Input:

```json
{ "types": ["C"], "year": 2026, "normaDemandada": "Ley 2277 de 2022", "maxResults": 3 }
```

returned C-196/26, C-050/26 and C-020/26, all with full text (170,000 to 240,000 characters each), the challenged provision, the laws cited in it, thesaurus topics and the operative part.

#### Monitor mode

- Schedule the Actor (for example every Monday 07:00, `America/Bogota`).
- Input: `onlyNewSinceLastRun: true`, your filters, and a different `monitorStoreName` per alert.
- Each run delivers and charges only rulings not delivered before under that store (named Key-Value Store, record `seen-sentencias`), plus the start fee (US$0.01). A weekly monitor run with nothing new costs US$0.01.
- With `redeliverWhenTextPublished: true` (default), a C or SU ruling first delivered without text is delivered again, with text and at the `sentencia-texto` price, once the Relatoría publishes it.
- Rulings left out because of `maxResults` or the charge cap are not marked and come in the next run. To start without history, use a short range on the first run.

The datos.gov.co index is updated roughly monthly and usually lags the Court by a few weeks. The monitor therefore compares ruling numbers, not dates.

#### Sources and licenses

| Data | Source | License |
|---|---|---|
| Index (number, date, proceeding, case file, justice, chamber, votes) | [datos.gov.co, dataset v2k4-2t8s](https://www.datos.gov.co/d/v2k4-2t8s), published by the Constitutional Court | CC BY-SA 4.0 |
| Text, topics, summary, operative part, challenged law | Relatoría pages on corteconstitucional.gov.co | Public judicial decisions |

If you redistribute the index, follow CC BY-SA 4.0 (attribution, share-alike).

#### Privacy

- Tutelas never include text, summary, reference or operative part. The index has no party names, and tutela items are built from a fixed list of fields.
- With `includeTutelaTopics`, thesaurus descriptors are added. A subtopic containing a capitalised word that is not a known institution (a possible name or place) is dropped.
- C and SU text is delivered as published by the Court, which anonymises people where the law requires. SU rulings come from tutelas and may contain the names or pseudonyms the Court uses.

#### Limitations

- The Relatoría publishes text with a delay. In October 2026, about half of the 2026 C rulings in the index had no text yet.
- The open index does not list every tutela the Court issues, nor its orders (autos).
- `normaDemandada`, `normas`, `sintesis`, `resuelve` and `decisionesDetectadas` are rule-based extractions. Old rulings have no summary or thesaurus.
- Many recent tutelas have no thesaurus block yet, so with `includeTutelaTopics` their `temas` may be empty.
- Keyword searches over many years check many pages. Use `maxPagesToScan` and date filters.
- SU ruling text is delivered as published by the Court and may contain the parties' names or pseudonyms.

> **Disclaimer.** Independent tool. Not affiliated with, sponsored or endorsed by the Constitutional Court of Colombia or the Colombian judiciary. Not an official source: check the Relatoría before citing.

# Actor input Schema

## `types` (type: `array`):

C (constitucionalidad) y SU (unificación) llevan texto completo. T (tutela) solo metadatos: número, fecha, expediente, magistrado ponente, sala y votos, sin texto ni nombres de las partes. Si se deja vacío: C y SU.

## `year` (type: `integer`):

Año de la sentencia (1992 en adelante). Si también indica fechas, se usa la intersección. Ruling year.

## `dateFrom` (type: `string`):

Fecha de la sentencia, inclusive (AAAA-MM-DD). Sin año ni fechas se usan los últimos recentDays días. Start date, inclusive.

## `dateTo` (type: `string`):

Fecha de la sentencia, inclusive. Si está vacía, hoy (hora de Bogotá). End date, inclusive.

## `recentDays` (type: `integer`):

Se usa cuando no hay año ni fechas. El índice abierto suele ir algunas semanas detrás de la Corte. Used when no year or dates are given.

## `magistradoPonente` (type: `array`):

Uno o varios nombres; basta con que coincida uno. Sin tildes ni mayúsculas, y cada palabra escrita debe aparecer: 'ibanez' encuentra a Jorge Enrique Ibáñez Najar. Any of these names.

## `keywords` (type: `array`):

Palabras o frases completas, sin distinguir tildes ni mayúsculas. En C y SU se busca en todo el texto y en los temas. En T solo en los metadatos y, si activa includeTutelaTopics, en los temas. Words or phrases.

## `keywordMode` (type: `string`):

any: basta una palabra clave. all: deben aparecer todas. any = one keyword is enough; all = every keyword.

## `normaDemandada` (type: `string`):

Solo sentencias C. Por ejemplo 'Ley 2277 de 2022', 'Decreto 624 de 1989', 'ley 100/93' o 'Estatuto Tributario'. Se compara con la referencia de la sentencia, por eso requiere que el texto esté publicado. Only C rulings.

## `sentencias` (type: `array`):

Números como C-355/06, SU-018/25 o T-280/26. Si se indican y no hay fechas, se buscan en todo el índice. Specific ruling numbers.

## `includeText` (type: `boolean`):

Con texto se cobra sentencia-texto. Sin texto, todas se cobran como sentencia-metadatos. Las tutelas nunca llevan texto. With text, the sentencia-texto event applies.

## `includeWithoutText` (type: `boolean`):

La Relatoría publica el texto semanas después de la sentencia. Activado: esas C/SU se entregan solo con metadatos (precio de metadatos). Desactivado: se omiten y se entregan cuando aparezca el texto. Deliver rulings whose text is not published yet.

## `includeTutelaTopics` (type: `boolean`):

Agrega a cada T los descriptores del tesauro (por ejemplo 'DERECHO A LA SALUD'). No se entrega texto, síntesis ni partes; un subtema con un posible nombre propio se omite. Adds thesaurus topics to T rulings; never includes text.

## `onlyNewSinceLastRun` (type: `boolean`):

Modo monitor: solo entrega y cobra sentencias que no se entregaron antes con el mismo almacén. Monitor mode.

## `monitorStoreName` (type: `string`):

Key-Value Store con nombre donde se guardan las sentencias ya entregadas. Use un nombre distinto para cada alerta (minúsculas, números y guiones). Use one name per alert.

## `redeliverWhenTextPublished` (type: `boolean`):

En modo monitor, una C o SU que se entregó sin texto se vuelve a entregar (y a cobrar como sentencia-texto) cuando la Relatoría publica el texto. In monitor mode, deliver again once the text appears.

## `maxResults` (type: `integer`):

Cantidad máxima de sentencias (y de cobros por sentencia) por ejecución. Si se omite: 50. Si antes se alcanza el máximo a cobrar de la ejecución, esta termina con éxito. Maximum rulings per run.

## `maxPagesToScan` (type: `integer`):

Límite de páginas de la Relatoría que se revisan por ejecución, útil con palabras clave o norma demandada en rangos largos. 300 por defecto cubre un año completo de sentencias C y SU; puede subirlo hasta 5,000. Las páginas revisadas que no coinciden no se cobran. Maximum Relatoría pages checked per run (default 300, about one year of C and SU rulings).

## `proxyConfiguration` (type: `object`):

Opcional. No suele hacer falta. Optional; usually not needed.

## Actor input object example

```json
{
  "types": [
    "C",
    "SU"
  ],
  "recentDays": 90,
  "magistradoPonente": [],
  "keywords": [],
  "keywordMode": "any",
  "sentencias": [],
  "includeText": true,
  "includeWithoutText": true,
  "includeTutelaTopics": false,
  "onlyNewSinceLastRun": false,
  "monitorStoreName": "corte-constitucional-co-monitor",
  "redeliverWhenTextPublished": true,
  "maxResults": 10,
  "maxPagesToScan": 300,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("opendata-cr/corte-constitucional-colombia").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "maxResults": 10 }

# Run the Actor and wait for it to finish
run = client.actor("opendata-cr/corte-constitucional-colombia").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxResults": 10
}' |
apify call opendata-cr/corte-constitucional-colombia --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,opendata-cr/corte-constitucional-colombia"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/sOMMw1awoTmi7tFu1/builds/Z4dzTTR1ytkOwuRYo/openapi.json
