Variable de ruta {sistema}

Todos los endpoints de datos tabulares incluyen {sistema} en la ruta. El valor se normaliza automáticamente a mayúsculas.

Sistema Identificador Notas
Metro METRO 12 líneas, datos completos (GTFS SEMOVI)
Metrobús MB Fuente no oficial (OSMAN MAPS), num_estacion no poblado
Cablebús CBB Datos completos
RTP RTP Red de Transporte de Pasajeros
Trolebús TROLE Línea 13: DATOS_INCOMPLETOS (ruta loop, sin stop_times en GTFS)
Tren Ligero TL Datos completos
Mexibús MEXIBUS Fuente no oficial (OSMAN MAPS), num_estacion no poblado
Mexicable MEXICABLE Fuente no oficial (OSMAN MAPS), num_estacion no poblado
Interurbano INTERURBANO Tren Interurbano México-Toluca
Corredor Concesionado CC Datos completos
TODOS Consulta todos los sistemas sin filtro

Módulo 1 — Líneas /movilidad/{sistema}/linea

Datos operativos y características principales de las líneas de transporte.

GET /movilidad/{sistema}/linea Listar líneas con filtros

Retorna un listado de líneas del sistema indicado. Todos los parámetros son opcionales y se pueden combinar.

Parámetros de consulta
Parámetro Tipo Ejemplo Descripción
id int 301 ID interno de la línea
nombre string Metro Línea 1 Nombre completo (búsqueda parcial)
num_comercial string L12 Número oficial de la línea (ej. L12, 1, 2, B, MB-3)
nombre_ramal string Tláhuac Filtro por ramal específico
clasificacion string existente Clasificación operativa: existente, proyecto
tam_km float 10.5 Líneas con longitud mayor o igual a X km
existe bool true Solo líneas actualmente en operación
Ejemplo
curl "https://apimetro.dev/movilidad/METRO/linea?existe=true&num_comercial=L12"
POST /movilidad/{sistema}/linea Crear línea

Crea un nuevo registro en la tabla lineas. Enviar JSON en el cuerpo de la petición.

Cuerpo (application/json)
{
  "nombre":       "Metro Línea L13",
  "num_comercial": "L13",
  "sistema":       "METRO",
  "color_esp":     "Gris",
  "color_en":      "Gray",
  "tam_km":        15.5,
  "existe":        true,
  "clasificacion": "proyecto"
}
Ejemplo
curl -X POST "https://apimetro.dev/movilidad/METRO/linea" \
  -H "Content-Type: application/json" \
  -d '{"nombre":"Metro Línea L13","num_comercial":"L13","sistema":"METRO","tam_km":15.5,"existe":true}'
PATCH /movilidad/{sistema}/linea?id={id} Actualizar línea

Actualiza campos específicos de una línea usando su ID. Solo se modifican los campos incluidos en el cuerpo.

Parámetro de consulta requerido
Parámetro Tipo Descripción
id int ID numérico de la línea a modificar (requerido)
Ejemplo
curl -X PATCH "https://apimetro.dev/movilidad/METRO/linea?id=301" \
  -H "Content-Type: application/json" \
  -d '{"tam_km":18.2,"clasificacion":"existente"}'
DELETE /movilidad/{sistema}/linea?id={id} Eliminar línea

Elimina una línea y sus ramales dependientes (borrado en cascada configurado en BD).

Parámetro Tipo Descripción
id int ID numérico de la línea a eliminar (requerido)
Ejemplo
curl -X DELETE "https://apimetro.dev/movilidad/METRO/linea?id=301"

Módulo 2 — Estaciones /movilidad/{sistema}/estacion

Información administrativa y geográfica de las estaciones de transporte.

GET /movilidad/{sistema}/estacion Listar estaciones con filtros

Retorna un listado tabular con la información administrativa de las estaciones. Todos los parámetros son opcionales.

Parámetros de consulta
Parámetro Tipo Ejemplo Descripción
id int 11974 ID único de la estación
linea_id int 191 ID de la línea madre — filtra todas las estaciones de esa línea
nombre string Chapultepec Nombre de la estación (búsqueda parcial, no distingue acentos)
alcaldia_municipio string Cuauhtémoc Filtro por alcaldía (CDMX) o municipio (Estado de México)
color_esp string Rosa Color oficial de la línea en español
color_en string Pink Color oficial de la línea en inglés
anio int 1969 Año de inauguración de la estación
es_cetram bool true Solo estaciones que son nodos CETRAM
existe bool true Solo estaciones actualmente en operación
Ejemplo — estaciones CETRAM en Cuauhtémoc
curl "https://apimetro.dev/movilidad/TODOS/estacion?es_cetram=true&alcaldia_municipio=Cuauhtémoc"
POST /movilidad/{sistema}/estacion Crear estación

Crea un nuevo registro en la tabla estacions.

Cuerpo (application/json)
{
  "nombre":             "Estación Nueva",
  "tipo":               "Subterráneo",
  "alcaldia_municipio": "Coyoacán",
  "estado_ciudad":      "Ciudad de México",
  "linea_id":           191,
  "sistema":            "METRO",
  "existe":             true,
  "es_cetram":          false
}
Ejemplo
curl -X POST "https://apimetro.dev/movilidad/METRO/estacion" \
  -H "Content-Type: application/json" \
  -d '{"nombre":"Estación Nueva","tipo":"Subterráneo","linea_id":191,"sistema":"METRO","existe":true}'
PATCH /movilidad/{sistema}/estacion?id={id} Actualizar estación

Actualiza campos específicos de una estación usando su ID.

Ejemplo — marcar una estación como CETRAM
curl -X PATCH "https://apimetro.dev/movilidad/METRO/estacion?id=11974" \
  -H "Content-Type: application/json" \
  -d '{"es_cetram":true,"nombre_cetram":"Chapultepec"}'
DELETE /movilidad/{sistema}/estacion?id={id} Eliminar estación
Ejemplo
curl -X DELETE "https://apimetro.dev/movilidad/METRO/estacion?id=11974"

Módulo 3 — GeoJSON /movilidad/mapas/

Retorna geometrías PostGIS en formato FeatureCollection estándar GeoJSON (RFC 7946). Todos los endpoints son solo lectura (GET). Compatibles con Mapbox GL, Leaflet, QGIS, Kepler.gl y cualquier herramienta GIS.

GET /movilidad/mapas/geojsonLinea Trazos de líneas (MultiLineString)

Retorna una FeatureCollection de geometrías MultiLineString segmentadas tramo a tramo entre estaciones. Incluye propiedades operativas en cada Feature.

Parámetros de consulta
Parámetro Tipo Ejemplo Descripción
sistema string METRO,MB Uno o varios sistemas separados por coma (requerido)
num_comercial string L12 Número oficial — filtra una línea específica
nombre_ramal string Tláhuac Ramal específico dentro de la línea
jerarquia_transporte string masivo_pesado Jerarquía del sistema: masivo_pesado, masivo_ligero, alimentador
derecho_de_via string exclusivo Tipo de derecho de vía: exclusivo, compartido
sentido string IDA Dirección del trazo: IDA o REGRESO
cetram_real string Pantitlán Filtro espacial — trazos con estaciones dentro de 250 m del CETRAM indicado
existe bool true Solo líneas actualmente en operación
Ejemplo — Línea 12 del Metro, solo trazo de IDA
curl "https://apimetro.dev/movilidad/mapas/geojsonLinea?sistema=METRO&num_comercial=L12&sentido=IDA"
Ejemplo — Toda la red activa (Metro + Metrobús + Cablebús)
curl "https://apimetro.dev/movilidad/mapas/geojsonLinea?sistema=METRO,MB,CBB&existe=true"
GET /movilidad/mapas/geojsonEstacion Puntos de estación (Point)

Retorna una FeatureCollection de geometrías Point. Cada Feature incluye nombre, sistema, línea, alcaldía/municipio y flag CETRAM.

Parámetros de consulta
Parámetro Tipo Ejemplo Descripción
sistema string METRO Uno o varios sistemas separados por coma (requerido)
num_comercial string L12 Número oficial — filtra estaciones de una línea específica
alcaldia_municipio string Iztapalapa Filtro por alcaldía o municipio
nombre_ramal string Tláhuac Ramal específico dentro de la línea
jerarquia_transporte string masivo_pesado Jerarquía del sistema de transporte
derecho_de_via string exclusivo Tipo de derecho de vía de la línea
es_cetram bool true Solo estaciones que son nodos CETRAM
nombre_cetram string Chapultepec Nombre del nodo CETRAM
cetram_real string Tacubaya Filtro espacial — estaciones dentro de 250 m del CETRAM indicado
Ejemplo — Todos los nodos CETRAM en GeoJSON
curl "https://apimetro.dev/movilidad/mapas/geojsonEstacion?sistema=TODOS&es_cetram=true"
Ejemplo — Estaciones en Iztapalapa (Metro + Metrobús)
curl "https://apimetro.dev/movilidad/mapas/geojsonEstacion?sistema=METRO,MB&alcaldia_municipio=Iztapalapa"
GET /movilidad/mapas/geojsonPoligono Límites territoriales (MultiPolygon)

Retorna fronteras y límites geográficos de la CDMX y el Área Metropolitana en formato FeatureCollection con geometrías MultiPolygon.

Parámetros de consulta
Parámetro Tipo Ejemplo Descripción
nivel string ESTADO Nivel territorial: ESTADO, MUNICIPIO, ALCALDIA
nombre string Milpa Alta Nombre del polígono (búsqueda parcial)
entidad string Ciudad de México Entidad federativa: Ciudad de México, Estado de México, Hidalgo, Morelos
existe bool true Solo polígonos activos
Ejemplo — Todos los estados del ZMVM
curl "https://apimetro.dev/movilidad/mapas/geojsonPoligono?nivel=ESTADO"
Ejemplo — Alcaldías de la CDMX
curl "https://apimetro.dev/movilidad/mapas/geojsonPoligono?nivel=ALCALDIA&entidad=Ciudad de México"

Notas sobre calidad de datos

Fuente no oficial (OSMAN MAPS): Los sistemas Metrobús (MB), Mexibús (MEXIBUS) y Mexicable (MEXICABLE) usan datos de fuente no oficial. El campo num_estacion no está poblado para estos sistemas. Los datos pueden no reflejar la operación actual con exactitud.
Datos incompletos: La línea TROLE 13 tiene clasificacion = DATOS_INCOMPLETOS porque es una ruta en loop sin stop_times en el GTFS de origen. Solo cuenta con ramal_num = 1.
Fuente oficial: El resto de los sistemas utiliza datos del GTFS publicado por SEMOVI (Secretaría de Movilidad de la Ciudad de México).