---
title: "ICFES Saber 11 Results by Stratum"
method: POST
path: "/co/icfes/saber11-strata-search/v1"
tags: ["Colombia", "ICFES"]
---

# ICFES Saber 11 Results by Stratum

`POST /co/icfes/saber11-strata-search/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/co/icfes/saber11-strata-search/v1`
- Auth: HTTP bearer

Saber 11 results of every Colombian municipality by the socioeconomic stratum of the students' homes, per exam period, 2010 to 2022 (Colombia's end-of-secondary exam, run by ICFES): students who sat it (each counted once) and their mean global and per-area scores. Stratum is `1` to `6`, `sin_estrato` or `no_reportado`, as each student reported it. Filter by `territory_code` (5-digit DIVIPOLA municipality of the school or 2-digit department), `year`, `period` (`yyyy-1` or `yyyy-2`) and `stratum`. Served by Croma (`as_of` says how current the data is).

**Dataset endpoint**: answers from the whole source in milliseconds and carries `as_of`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `territory_code` string: Optional DIVIPOLA code: 5 digits for one municipality (e.g. `05001`, Medellín) or 2 digits for every municipality of a department (e.g. `05`, Antioquia).
  - `year` integer: Optional exam year, 2010 to 2022. 0 returns every year.
  - `period` string: Optional exam period as `yyyy-1` (the first sitting of the year) or `yyyy-2` (the second), e.g. `2022-2`.
  - `stratum` '' | '1' | '2' | '3' | '4' | '5' | '6' | 'sin_estrato' | 'no_reportado': Optional socioeconomic stratum of the student's home as the student reported it: `1` to `6`, `sin_estrato` (the home has none) or `no_reportado` (not answered).
  - `page` integer: 1-based page number for paginated results.
  - `per_page` integer: Results per page (1-100).

## Response `200`

Successful response

- IcfesSaber11StrataSearchResponse
  - `data` IcfesSaber11StrataSearchData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `territory_code` string, nullable, required
    - `year` number, nullable, required
    - `period` string, nullable, required
    - `stratum` string, nullable, required
    - `total` number, required
    - `page` number, required
    - `per_page` number, required
    - `total_pages` number, required
    - `count` number, required
    - `results` object[], required
      - `id` string, required: The period, the municipality and the stratum, e.g. `2022-2:11001:3`.
      - `period` string, required: The exam period: `yyyy-1` for the first sitting of the year (mostly calendar B schools), `yyyy-2` for the second (calendar A, most of the country), e.g. `2022-2`.
      - `year` number, required: The exam year.
      - `sitting` number, required: `1` for the first sitting of the year, `2` for the second.
      - `territory_code` string, nullable, required: The 5-digit DIVIPOLA code of the municipality where the school is, e.g. `11001`. Null when ICFES records none.
      - `territory_name` string, nullable, required: The municipality's name as ICFES writes it, e.g. `BOGOTÁ D.C.`.
      - `department_code` string, nullable, required: The 2-digit DIVIPOLA code of the department, e.g. `11`.
      - `department_name` string, nullable, required: The department's name as ICFES writes it.
      - `stratum` '1' | '2' | '3' | '4' | '5' | '6' | 'sin_estrato' | 'no_reportado', required: The socioeconomic stratum of the student's home as the student reported it: `1` to `6`, `sin_estrato` (the home has none) or `no_reportado` (not answered).
      - `students` number, required: Students who sat the exam, each counted once.
      - `mean_global` number, nullable, required: Mean global score (puntaje global, 0 to 500) of the group's students, rounded to two decimals. Published from 2014-2, when the exam took its current form; null before, and when no student in the group has one.
      - `mean_mathematics` number, nullable, required: Mean mathematics (0 to 100) score of the group's students, rounded to two decimals. Every period has it; before 2014-2 it is on the earlier exam's scale, so compare it only within one form of the exam.
      - `mean_critical_reading` number, nullable, required: Mean critical reading (lectura crítica, 0 to 100) score of the group's students, rounded to two decimals. Published from 2014-2, when the exam took its current form; null before, and when no student in the group has one.
      - `mean_natural_sciences` number, nullable, required: Mean natural sciences (0 to 100) score of the group's students, rounded to two decimals. Published from 2014-2, when the exam took its current form; null before, and when no student in the group has one.
      - `mean_social_studies` number, nullable, required: Mean social studies and citizenship (sociales y ciudadanas, 0 to 100) score of the group's students, rounded to two decimals. Published from 2014-2, when the exam took its current form; null before, and when no student in the group has one.
      - `mean_english` number, nullable, required: Mean English (0 to 100) score of the group's students, rounded to two decimals. Every period has it; before 2014-2 it is on the earlier exam's scale, so compare it only within one form of the exam.

## Other responses

- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
