Skip to content

Open data guide

Todo lo que necesitas para usar los 3,266 registros públicos en tu investigación, reportaje o proyecto: qué significa cada campo, cómo citarnos y cómo consultar la API.

Principles

Nuestro modelo de datos se basa en el Protocolo de la SCJN para juzgar con perspectiva de orientación sexual, identidad y expresión de género, en los Principios de Yogyakarta y en un enfoque de interseccionalidad. Registramos la identidad de cada persona como ella se nombraba, sin patologizar. Cómo documentamos, verificamos y contamos cada caso está en la methodology of the map and the memorial.

We separate the information into two levels:

  • Public: what appears on the map, the memorial, the API and the downloads.
  • Private: nombre legal, expedientes y carpetas de investigación, datos de salud, contactos de familiares y causas de muerte detalladas. Nunca se publica ni se entrega por la API.

Detrás de cada fila hay una persona y una familia. Te pedimos usar estos datos con respeto: evita el lenguaje sensacionalista, nombra a cada persona según su identidad y no difundas imágenes o detalles de la violencia sufrida.

Data dictionary

Fields available in the CSV and in /api/casos. Empty values mean the data is unknown.

Person

Campos de persona
FieldDescription
idUnique record number. It stays stable.
nombreNombre social o con el que la persona era conocida. Nunca publicamos el nombre legal si es distinto.
pronombresThe person's pronouns, if known (she, he, they).
edadEdad al momento de los hechos. Puede ser un texto aproximado (por ejemplo, «30 a 35»).
identidad_generoIdentidad de género: Mujer Transgénero, Hombre Transgénero, Mujer Cisgénero, Hombre Cisgénero, No Binario, Muxe, Travesti, Otra, Se desconoce.
orientacion_sexualOrientación sexual: Lesbiana, Gay, Bisexual, Pansexual, Asexual, Heterosexual, Diversidad sexual (sin especificar), Otra, Se desconoce.
expresion_generoExpresión de género: Femenina, Masculina, Andrógina, No conformista, Genderqueer, Otra, Se desconoce.
ocupacionOccupation or activity, if known.
pertenencia_etnicaPertenencia étnica: Ninguna, Indígena, Afromexicana, Otra, Se desconoce.
es_migrante, habla_lengua_indigena, tiene_discapacidad, situacion_calle, es_defensora_dhIntersectionality indicators: 1 = yes, 0 = no or no data.

Record

Campos de registro
FieldDescription
tipo_registroTipo de registro: legal (Crimen o delito), desaparecido (Desaparición), obituario (Obituario), otro (Otro). En el CSV aparece la etiqueta legible.
estado_victima / situacionSituación de la persona: fallecido (Falleció), fallecido_post_agresion (Falleció tras una agresión), desaparecido (Desaparecida / no localizada), sobreviviente (Con vida / sobreviviente).
delitosDelitos registrados para el caso (CSV), separados por « | ». Es la clasificación documentada, no una sentencia.
sintesisBrief summary of the case.
descripcion_hechos, remembranzaLong texts. Only in the CSV with ?textos=1.
urlLink to the public memory record.

Date and place

Campos de fecha y lugar
FieldDescription
fecha_hechosDate of the events or of the disappearance (YYYY-MM-DD).
fecha_decesoDate of death or of being located.
fecha_hallazgoDate of the finding, if different.
date (API)Main date: death; if not available, the date of the events or of the finding.
estado, municipio, localidadPlace of the events according to INEGI's Geostatistical Framework.
lat, lngApproximate coordinates (WGS84) of the place of the events or the finding.

Search

Campos de búsqueda
FieldDescription
folio_busquedaSearch notice number, if it exists.
boletin_busqueda, alerta_amber, protocolo_albaAlerts issued: 1 = yes, 0 = no.

License and how to cite

The data is published under the license Creative Commons Attribution 4.0 International (CC BY 4.0). Puedes copiarlos, analizarlos y redistribuirlos, incluso con fines comerciales, siempre que nos des el crédito correspondiente e indiques si hiciste cambios.

We suggest citing it like this:

Memoria y Resistencia (2026). Record of violence against LGBTTTIQANB+ people in Mexico [conjunto de datos]. Consultado el 3 de noviembre de 2026 en https://memoriayresistencia.org/datos

API

Two read-only endpoints, in JSON. /api/casos is open because it feeds the map. The figures in /api/estadisticas require an account with the starting questionnaire answered: in the browser your session is enough and, from code, use your personal key.

GET /api/casos

Returns the public cases with the fields needed for a map: id, nombre, lat, lng, tipo_registro, estado_victima, situacion, fecha, edad, lugar, estado, municipio, identidad_genero, foto_url y url.

Optional filters (lists are separated by commas):

Filtros de la API
ParameterValues
qText in the name.
anio · desde · hastaExact year or range of years (for example, desde=2020&hasta=2024).
estado · municipioNumeric identifier (see /api/municipios?estado=ID).
tipolegal, desaparecido, obituario, otro
situacionfallecido, fallecido_post_agresion, desaparecido, sobreviviente
identidad · orientacion · expresionExact values from the dictionary.
interes_migrante, habla_lengua_indigena, tiene_discapacidad, situacion_calle, es_defensora_dh
crimeIdentifier from the crimes catalog.
alertaboletin_busqueda, alerta_amber, protocolo_alba
limiteMaximum results, from 1 to 5000.

Example with the terminal:

curl "https://memoriayresistencia.org/api/casos?tipo=desaparecido&desde=2023"

Example in JavaScript:

const r = await fetch('https://memoriayresistencia.org/api/casos?estado=21');
const { total, datos } = await r.json();
console.log(`${total} personas documentadas`);

GET /api/estadisticas

Cifras agregadas con los mismos filtros: totales, y conteos por año, Estado, identidad, orientación, expresión, rango de edad, tipo de registro, situación, delito, interseccionalidad, contexto, medio, ocupación, mes, día de la semana, municipio, tipo de fuente, la tasa por millón de habitantes y qué tanto se conoce cada dato. Es la fuente de la página Open data.

Create your key in My account › My open data and send it in the header X-Clave-Datos. Each key allows 600 requests per hour.

curl -H "X-Clave-Datos: TU_CLAVE" "https://memoriayresistencia.org/api/estadisticas?anio=2025"

GET /api/estadisticas?bloque=medios

Figures for Media Observatory: totales, notas por nivel de calificación, rasgos, tipos de problema, notas por mes y por año, prensa frente a redes, expresiones más frecuentes y la clasificación de cada medio y cuenta. Solo cifras agregadas: no incluye el texto de las notas. Usa la misma clave y el mismo límite.

curl -H "X-Clave-Datos: TU_CLAVE" "https://memoriayresistencia.org/api/estadisticas?bloque=medios"

/api/casos también tiene un límite de consultas por hora para cada conexión. Si necesitas la base completa, solicita el CSV en Open data.

Downloads

El CSV con los casos se entrega con una solicitud: detrás de cada registro hay una persona con nombre, y queremos saber quién usará los datos, para qué y cómo conocer su trabajo.

  1. Create your account and answer the starting questionnaire.
  2. Send the data request: si vienen de una institución, qué harás con ellos y cómo darle seguimiento a tu trabajo.
  3. When the team authorizes it, the download link appears in My account for 90 days.

El CSV usa codificación UTF-8 con BOM y comas como separador, así que abre bien en Excel, LibreOffice y Google Sheets. Acepta los mismos filtros que la API. Los relatos completos (textos=1) are included only if the request authorizes them.

Once downloaded, to read it in Python:

import pandas as pd
casos = pd.read_csv('memoria-y-resistencia-casos-2026-11-03.csv')
casos.groupby('estado').size().sort_values(ascending=False)

Did you find an error in the data or want to collaborate with your organization? Write to us.