Saltar al contenido

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

Campos de persona
CampoDescripción
idNúmero único del registro. Se mantiene estable.
nombreNombre social o con el que la persona era conocida. Nunca publicamos el nombre legal si es distinto.
pronombresPronombres de la persona, si se conocen (ella, él, elle).
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, Otra, Se desconoce.
orientacion_sexualOrientación sexual: Lesbiana, Gay, Bisexual, Pansexual, Asexual, Heterosexual, Otra, Se desconoce.
expresion_generoExpresión de género: Femenina, Masculina, Andrógina, No conformista, Genderqueer, Otra, Se desconoce.
ocupacionOcupación o actividad, si se conoce.
pertenencia_etnicaPertenencia étnica: Ninguna, Indígena, Afromexicana, Otra, Se desconoce.
es_migrante, habla_lengua_indigena, tiene_discapacidad, situacion_calle, es_defensora_dhIndicadores de interseccionalidad: 1 = sí, 0 = no o sin dato.

Registro

Campos de registro
CampoDescripción
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 (Sin vida), 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.
sintesisResumen breve del caso.
descripcion_hechos, remembranzaTextos largos. Solo en el CSV con ?textos=1.
urlEnlace a la ficha pública de memoria.

Fecha y lugar

Campos de fecha y lugar
CampoDescripción
fecha_hechosFecha de los hechos o de la desaparición (AAAA-MM-DD).
fecha_decesoFecha del fallecimiento o de la localización.
fecha_hallazgoFecha del hallazgo, si es distinta.
fecha (API)Fecha principal: fallecimiento; si no hay, la de los hechos o la del hallazgo.
estado, municipio, localidadLugar de los hechos según el Marco Geoestadístico del INEGI.
lat, lngCoordenadas aproximadas (WGS84) del lugar de los hechos o del hallazgo.

Búsqueda

Campos de búsqueda
CampoDescripción
folio_busquedaFolio de la ficha de búsqueda, si existe.
boletin_busqueda, alerta_amber, protocolo_albaAlertas 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):

Filtros de la API
ParámetroValores
qTexto en el nombre.
anio · desde · hastaAño exacto o rango de años (por ejemplo, desde=2020&hasta=2024).
estado · municipioIdentificador numérico (ver /api/municipios?estado=ID).
tipolegal, desaparecido, obituario, otro
situacionfallecido, fallecido_post_agresion, desaparecido, sobreviviente
identidad · orientacion · expresionValores exactos del diccionario.
interes_migrante, habla_lengua_indigena, tiene_discapacidad, situacion_calle, es_defensora_dh
delitoIdentificador del catálogo de delitos.
alertaboletin_busqueda, alerta_amber, protocolo_alba
limiteMá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.