Selected work

API 2023-now

MetroAPI

Una API no oficial de Metrovalència amb un SDK de Python per a treballar amb dades de transport.

metroapi is an unofficial Metrovalencia API made with Flask and hosted on Vercel. It uses MongoDB as a Database. It’s main focus is providing a simple, easy-to-use API for accessing Metrovalencia transit data.

Example next metros for a given stop:

{
    "meta": {
      "lines": [],
      "station_id": "32",
      "station_name": null,
      "zone": null
    },
    "nombre": null,
    "previsiones": [
      {
          "cabecera": false,
          "capacity": 397,
          "destino": "València Sud",
          "hora": "23:23",
          "latitude": null,
          "line": 2,
          "line_id": 2,
          "longitude": null,
          "meters": null,
          "seconds": 374,
          "trainTimestamp": 1791840194,
          "vehicle": 2103
      },
      {
          "cabecera": false,
          "capacity": 397,
          "destino": "Empalme",
          "hora": "23:25",
          "latitude": null,
          "line": 1,
          "line_id": 1,
          "longitude": null,
          "meters": null,
          "seconds": 539,
          "trainTimestamp": 1791840359,
          "vehicle": 1103
      },
      {
          "cabecera": false,
          "capacity": 397,
          "destino": "Torrent",
          "hora": "23:37",
          "latitude": null,
          "line": 1,
          "line_id": 1,
          "longitude": null,
          "meters": null,
          "seconds": 1224,
          "trainTimestamp": 1791841044,
          "vehicle": 1108
      },
      {
          "cabecera": false,
          "capacity": 397,
          "destino": "València Sud",
          "hora": "23:42",
          "latitude": null,
          "line": 1,
          "line_id": 1,
          "longitude": null,
          "meters": null,
          "seconds": 1559,
          "trainTimestamp": 1791841379,
          "vehicle": 1107
      },
      {
          "cabecera": false,
          "capacity": 397,
          "destino": "Torrent Avinguda",
          "hora": "00:19",
          "latitude": null,
          "line": 2,
          "line_id": 2,
          "longitude": null,
          "meters": null,
          "seconds": 3738,
          "trainTimestamp": 1791843558,
          "vehicle": 2108
      }
    ],
    "station": {
      "accessibilities": [
          "estacion_exterior",
          "senyal_ayuda_visual",
          "senyal_ayuda_auditiva",
          "mostrador_ayuda",
          "andenes_adaptado",
          "cruce_ayuda"
      ],
      "direccion": "Jaime I. CP: 46210 - Picanya -",
      "id": "32",
      "idinterno": "617",
      "latitud": "39.4330980242",
      "lineas": [
          "1",
          "2",
          "7"
      ],
      "longitud": "-0.4370820522",
      "nombre": "Picanya",
      "paradas_sigs": [
          "31",
          "33"
      ],
      "zonas": [
          "A",
          "B"
      ]
    }
}

Built with

  • Flask
  • Python
  • Python SDK