Guía de datos abiertos
Todo lo que necesitas para usar los 117 registros públicos en tu investigación, reportaje o proyecto: qué significa cada campo, cómo citarnos y cómo consultar la API.
Principios
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.
Separamos la información en dos niveles:
- Pública: lo que aparece en el mapa, el memorial, la API y las descargas.
- Privada: 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.
Diccionario de datos
Campos disponibles en el CSV y en /api/casos. Los valores vacíos significan que el dato no se conoce.
Persona
| Campo | Descripción |
|---|---|
| id | Número único del registro. Se mantiene estable. |
| nombre | Nombre social o con el que la persona era conocida. Nunca publicamos el nombre legal si es distinto. |
| pronombres | Pronombres de la persona, si se conocen (ella, él, elle). |
| edad | Edad al momento de los hechos. Puede ser un texto aproximado (por ejemplo, «30 a 35»). |
| identidad_genero | Identidad de género: Mujer Transgénero, Hombre Transgénero, Mujer Cisgénero, Hombre Cisgénero, No Binario, Otra, Se desconoce. |
| orientacion_sexual | Orientación sexual: Lesbiana, Gay, Bisexual, Pansexual, Asexual, Heterosexual, Otra, Se desconoce. |
| expresion_genero | Expresión de género: Femenina, Masculina, Andrógina, No conformista, Genderqueer, Otra, Se desconoce. |
| ocupacion | Ocupación o actividad, si se conoce. |
| pertenencia_etnica | Pertenencia étnica: Ninguna, Indígena, Afromexicana, Otra, Se desconoce. |
| es_migrante, habla_lengua_indigena, tiene_discapacidad, situacion_calle, es_defensora_dh | Indicadores de interseccionalidad: 1 = sí, 0 = no o sin dato. |
Registro
| Campo | Descripción |
|---|---|
| tipo_registro | Tipo de registro: legal (Crimen o delito), desaparecido (Desaparición), obituario (Obituario), otro (Otro). En el CSV aparece la etiqueta legible. |
| estado_victima / situacion | Situación de la persona: fallecido (Sin vida), fallecido_post_agresion (Falleció tras una agresión), desaparecido (Desaparecida / no localizada), sobreviviente (Con vida / sobreviviente). |
| delitos | Delitos registrados para el caso (CSV), separados por « | ». Es la clasificación documentada, no una sentencia. |
| sintesis | Resumen breve del caso. |
| descripcion_hechos, remembranza | Textos largos. Solo en el CSV con ?textos=1. |
| url | Enlace a la ficha pública de memoria. |
Fecha y lugar
| Campo | Descripción |
|---|---|
| fecha_hechos | Fecha de los hechos o de la desaparición (AAAA-MM-DD). |
| fecha_deceso | Fecha del fallecimiento o de la localización. |
| fecha_hallazgo | Fecha del hallazgo, si es distinta. |
| fecha (API) | Fecha principal: fallecimiento; si no hay, la de los hechos o la del hallazgo. |
| estado, municipio, localidad | Lugar de los hechos según el Marco Geoestadístico del INEGI. |
| lat, lng | Coordenadas aproximadas (WGS84) del lugar de los hechos o del hallazgo. |
Búsqueda
| Campo | Descripción |
|---|---|
| folio_busqueda | Folio de la ficha de búsqueda, si existe. |
| boletin_busqueda, alerta_amber, protocolo_alba | Alertas activadas: 1 = sí, 0 = no. |
Licencia y cómo citar
Los datos se publican bajo la licencia Creative Commons Atribución 4.0 Internacional (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.
Sugerimos citar así:
Memoria y Resistencia (2026). Registro de violencias contra personas LGBTTTIQANB+ en México [conjunto de datos]. Consultado el 16 de octubre de 2026 en https://memoriayresistencia.org/datos
API pública
Dos puntos de consulta de solo lectura, en JSON, sin registro y con CORS abierto. Las respuestas se guardan en caché cinco minutos.
GET /api/casos
Devuelve los casos públicos con los campos necesarios para un mapa: id, nombre, lat, lng, tipo_registro, estado_victima, situacion, fecha, edad, lugar, estado, municipio, identidad_genero, foto_url y url.
Filtros opcionales (las listas se separan con comas):
| Parámetro | Valores |
|---|---|
| q | Texto en el nombre. |
| anio · desde · hasta | Año exacto o rango de años (por ejemplo, desde=2020&hasta=2024). |
| estado · municipio | Identificador numérico (ver /api/municipios?estado=ID). |
| tipo | legal, desaparecido, obituario, otro |
| situacion | fallecido, fallecido_post_agresion, desaparecido, sobreviviente |
| identidad · orientacion · expresion | Valores exactos del diccionario. |
| inter | es_migrante, habla_lengua_indigena, tiene_discapacidad, situacion_calle, es_defensora_dh |
| delito | Identificador del catálogo de delitos. |
| alerta | boletin_busqueda, alerta_amber, protocolo_alba |
| limite | Máximo de resultados, de 1 a 5000. |
Ejemplo con la terminal:
curl "https://memoriayresistencia.org/api/casos?tipo=desaparecido&desde=2023"
Ejemplo en 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 y contexto del fallecimiento. Es la fuente de la página Datos abiertos.
curl "https://memoriayresistencia.org/api/estadisticas?anio=2025"
Descargas
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; agrega textos=1 para incluir los relatos completos.
Para leerlo en Python:
import pandas as pd
casos = pd.read_csv('https://memoriayresistencia.org/datos/descargar.csv')
casos.groupby('estado').size().sort_values(ascending=False)
¿Encontraste un error en los datos o quieres colaborar con tu organización? Escríbenos.