> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usecroma.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SCJN

> Search Mexican Supreme Court case law from the Semanario Judicial: 300k+ tesis and jurisprudencia in full, filtered by subject, época, court, binding force or publication date.

Mexican Supreme Court case law from the Semanario Judicial de la Federación:
every tesis and jurisprudencia published since 1911, over 300k, each in full.
Search by words in the title and text and filter by binding force, subject,
época, year, deciding level, court or chamber, how the criterion was formed,
publication window, or what the court changed since a date. Then read one
tesis by its registro digital.

## Search tesis

`POST /mx/scjn/tesis-search/v1` <a className="dataset-pill" href="/datasets">Dataset</a>

Answered over the whole corpus: filters the court's own search does not offer, the full text in every result, and no dependence on the source at request time.

| Field            | Type    | Notes                                                                                                                                                                      |
| ---------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`          | string  | Optional words to match in the title and text of the tesis; every word must appear. Leave it empty to filter only.                                                         |
| `tesis_type`     | enum    | Binding force: `jurisprudencia` (binding), `aislada` (non-binding), or `any`. Default `any`.                                                                               |
| `subject`        | string  | Optional materia filter (e.g. `Civil`, `Constitucional`); a tesis matches when any of its subjects does.                                                                   |
| `epoch`          | string  | Optional época number (`5` through `12`).                                                                                                                                  |
| `year`           | string  | Optional 4-digit year of the Semanario issue.                                                                                                                              |
| `instance`       | string  | Optional deciding level, exactly as `instance` reads in results (e.g. `Suprema Corte de Justicia de la Nación`, `Tribunales Colegiados de Circuito`, `Plenos Regionales`). |
| `court`          | string  | Optional court or chamber, exactly as `court` reads in results (e.g. `Primera Sala`, `Pleno`).                                                                             |
| `formation`      | string  | Optional way the criterion was formed, exactly as `formation` reads in results (e.g. `Reiteración`).                                                                       |
| `published_from` | string  | Optional earliest publication date, `yyyy-mm-dd`. Pre-Gaceta tesis carry no publication date and never match a window.                                                     |
| `published_to`   | string  | Optional latest publication date, `yyyy-mm-dd`.                                                                                                                            |
| `updated_after`  | string  | Optional: only tesis the court modified on or after this date, `yyyy-mm-dd`.                                                                                               |
| `page`           | integer | 1-based page number. Default `1`.                                                                                                                                          |
| `per_page`       | integer | Results per page (1-50). Every result carries the full text. Default `20`.                                                                                                 |

```bash theme={"dark"}
curl https://api.croma.run/mx/scjn/tesis-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "interés usurario", "tesis_type": "jurisprudencia" }'
```

Returns `as_of` (how current the data is), the applied filters, `total`
(matches across every page), `page`, `per_page`, `total_pages`, `count` and
`results[]`: full tesis records, the same shape the lookup below answers with,
newest first (dated tesis by `publication_date`, then the pre-Gaceta ones by the
year of their Semanario issue). With `query`, every word must appear in the title
or the text.

| Field                                                    | Notes                                                                                                                                      |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `registration_number`                                    | Registro digital: the court's stable id for the tesis, and the key of the lookup.                                                          |
| `title`, `subtitle`                                      | Rubro (the heading that states the criterion) and subtítulo.                                                                               |
| `type`                                                   | `jurisprudencia` or `aislada`; null when the source reports neither.                                                                       |
| `citation`                                               | Official citation key, e.g. `1a./J. 132/2012 (10a.)`.                                                                                      |
| `epoch`, `epoch_number`                                  | Judicial epoch, by name and number (5 through 12).                                                                                         |
| `instance`, `circuit`, `court`                           | Deciding level, judicial circuit (null for SCJN chambers), and the specific chamber or court.                                              |
| `source`, `subjects`                                     | Publication and materias.                                                                                                                  |
| `location`                                               | Citation coordinates in the Semanario: `book`, `volume`, `page`, `month`, `year`.                                                          |
| `text`                                                   | The full text of the tesis.                                                                                                                |
| `facts`, `legal_criteria`, `justification`               | The sections of tesis published in the structured format (Undécima Época onward); null before it.                                          |
| `formation`                                              | How the criterion was formed, e.g. `Reiteración`, `Contradicción de criterios (antes contradicción de tesis)`.                             |
| `issue`, `publication_date`, `binding_date`              | The Semanario issue (e.g. `Libro 28, Agosto de 2023`), the date it was published and the date it became binding; null on pre-Gaceta tesis. |
| `updated_at`                                             | When the court last modified the record; null on tesis it has not touched since it began recording changes.                                |
| `notes`, `precedent_notes`                               | Publication notes and the precedent history, as plain text.                                                                                |
| `linked_case_registrations`, `linked_vote_registrations` | Registro digital ids of the rulings the tesis derives from and of the votes linked to it.                                                  |
| `fingerprint`, `official_url`                            | The integrity hash the court publishes for the document, and its public page.                                                              |

<Note>
  Answered over the whole corpus, which follows the Semanario's weekly
  publication. `updated_after` matches the court's own modification stamp, which
  only tesis it has touched since 2025 carry.
</Note>

## One tesis

`POST /mx/scjn/tesis/v1`

| Field                 | Type   | Notes                                                   |
| --------------------- | ------ | ------------------------------------------------------- |
| `registration_number` | string | **Required.** Registro digital from the search results. |

```bash theme={"dark"}
curl https://api.croma.run/mx/scjn/tesis/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "registration_number": "2001360" }'
```

Returns `found`, `registration_number` and `tesis`: the full record, the same
shape as one entry of the search's `results[]`.

| Field                                                    | Notes                                                                                                                                      |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `registration_number`                                    | Registro digital: the court's stable id for the tesis, and the key of the lookup.                                                          |
| `title`, `subtitle`                                      | Rubro (the heading that states the criterion) and subtítulo.                                                                               |
| `type`                                                   | `jurisprudencia` or `aislada`; null when the source reports neither.                                                                       |
| `citation`                                               | Official citation key, e.g. `1a./J. 132/2012 (10a.)`.                                                                                      |
| `epoch`, `epoch_number`                                  | Judicial epoch, by name and number (5 through 12).                                                                                         |
| `instance`, `circuit`, `court`                           | Deciding level, judicial circuit (null for SCJN chambers), and the specific chamber or court.                                              |
| `source`, `subjects`                                     | Publication and materias.                                                                                                                  |
| `location`                                               | Citation coordinates in the Semanario: `book`, `volume`, `page`, `month`, `year`.                                                          |
| `text`                                                   | The full text of the tesis.                                                                                                                |
| `facts`, `legal_criteria`, `justification`               | The sections of tesis published in the structured format (Undécima Época onward); null before it.                                          |
| `formation`                                              | How the criterion was formed, e.g. `Reiteración`, `Contradicción de criterios (antes contradicción de tesis)`.                             |
| `issue`, `publication_date`, `binding_date`              | The Semanario issue (e.g. `Libro 28, Agosto de 2023`), the date it was published and the date it became binding; null on pre-Gaceta tesis. |
| `updated_at`                                             | When the court last modified the record; null on tesis it has not touched since it began recording changes.                                |
| `notes`, `precedent_notes`                               | Publication notes and the precedent history, as plain text.                                                                                |
| `linked_case_registrations`, `linked_vote_registrations` | Registro digital ids of the rulings the tesis derives from and of the votes linked to it.                                                  |
| `fingerprint`, `official_url`                            | The integrity hash the court publishes for the document, and its public page.                                                              |

## Browse tesis

<Warning>
  This endpoint is deprecated since 2026-09-07 and stops answering on 2026-12-15. Use [its successor](/guides/mexico/scjn), `POST /mx/scjn/tesis-search/v1`, instead.
</Warning>

`POST /mx/scjn/tesis-browse/v1` <a className="dataset-pill" href="/datasets">Dataset</a>

| Field            | Type    | Notes                                                                                                                                                                      |
| ---------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`          | string  | Optional words to match in the title and text of the tesis; every word must appear. Leave it empty to filter only.                                                         |
| `tesis_type`     | enum    | Binding force: `jurisprudencia` (binding), `aislada` (non-binding), or `any`. Default `any`.                                                                               |
| `subject`        | string  | Optional materia filter (e.g. `Civil`, `Constitucional`); a tesis matches when any of its subjects does.                                                                   |
| `epoch`          | string  | Optional época number (`5` through `12`).                                                                                                                                  |
| `year`           | string  | Optional 4-digit year of the Semanario issue.                                                                                                                              |
| `instance`       | string  | Optional deciding level, exactly as `instance` reads in results (e.g. `Suprema Corte de Justicia de la Nación`, `Tribunales Colegiados de Circuito`, `Plenos Regionales`). |
| `court`          | string  | Optional court or chamber, exactly as `court` reads in results (e.g. `Primera Sala`, `Pleno`).                                                                             |
| `formation`      | string  | Optional way the criterion was formed, exactly as `formation` reads in results (e.g. `Reiteración`).                                                                       |
| `published_from` | string  | Optional earliest publication date, `yyyy-mm-dd`. Pre-Gaceta tesis carry no publication date and never match a window.                                                     |
| `published_to`   | string  | Optional latest publication date, `yyyy-mm-dd`.                                                                                                                            |
| `updated_after`  | string  | Optional: only tesis the court modified on or after this date, `yyyy-mm-dd`.                                                                                               |
| `page`           | integer | 1-based page number. Default `1`.                                                                                                                                          |
| `per_page`       | integer | Results per page (1-20). Every result carries the full text. Default `10`.                                                                                                 |

```bash theme={"dark"}
curl https://api.croma.run/mx/scjn/tesis-browse/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "subject": "Civil",
        "tesis_type": "jurisprudencia",
        "published_from": "2026-01-01"
      }'
```

Same response as the search above: `as_of`, the applied filters, the totals and
`results[]` of full tesis records, newest first. Change the path to migrate; the
request is the same, and the search accepts up to 50 results per page.

<Card title="Full reference" icon="code" href="/api-reference/overview">
  Schemas, all response fields, and an interactive playground.
</Card>
