Rutas de Google Maps en coche, transporte público, a pie y en bici, matrices de distancias N×M y perfiles de tráfico por hora de salida, en JSON o CSV y sin clave de API de Google. Para equipos que toman decisiones de logística, ubicación y movilidad con tiempos de viaje medidos, no estimados a ojo.
Respuesta rápida: Rutas, tiempos de viaje y distancia de Google Maps en coche, transporte público, a pie y en bici, con matrices de N orígenes por M destinos y perfiles de tráfico por hora de salida, sin clave de API de Google. Hay una muestra pública de 100 filas en CSV y JSON. Se lanza el actor en Apify con pago por resultado o se recibe un dataset recurrente de tus corredores.
Siete casos en los que un tiempo de viaje medido sustituye a una estimación, con los campos que usa cada uno.
distanceMeters, durationSeconds, durationInTrafficSeconds, typicalRangeText, trafficLeveltravelMode, durationSeconds, walkingDistanceMeters, numTransfers, resolvedOriginNamerequestedTime, durationInTrafficSeconds, trafficDelaySeconds, trafficLevel, avgSpeedKmhorigin (zona), destination (sede), travelMode, durationSeconds, numTransfersdepartureTime, arrivalTime, transitLines, fareAmount, fareCurrency, numTransfersdistanceMeters, durationSeconds, hasTolls, viastatus, durationText, trafficLevel, resolvedDestinationName, googleMapsUrlQué se mide. Cada resultado es una ruta entre dos lugares, con su distancia y su duración. Con tráfico en vivo si pides salir «ahora», y con la predicción de tráfico de Google si indicas una fecha y hora futuras. Para un perfil, la misma ruta se repite cada N minutos a lo largo de uno o varios días.
Cómo se pide. Admite listas de rutas, matrices de N orígenes por M destinos y enlaces de Google Maps, con hasta 8 puntos intermedios y la opción de evitar peajes, autopistas o ferris. La salida está disponible en más de 40 idiomas.
Tres extractos de ejecuciones reales del actor. La muestra pública de 100 filas se descarga sin registro.
| Origen | Destino | Distancia | Duración | Duración con tráfico | Nivel de tráfico | Vía |
|---|---|---|---|---|---|---|
| Madrid | Valencia | 361.7 km | 3 h 43 min | 3 h 42 min | light | A-3 |
| Madrid | Sevilla | 534.1 km | 5 h 5 min | 5 h 14 min | light | A-5 and A-66 |
| Madrid | Bilbao | 404.3 km | 4 h 8 min | 4 h 10 min | light | A-1 |
| Barcelona | Valencia | 350.5 km | 3 h 40 min | 3 h 40 min | light | AP-7 |
| Bilbao | Madrid | 403.2 km | 4 h 6 min | 4 h 9 min | light | A-1 |
| Sevilla | Málaga | 210.6 km | 2 h 15 min | 2 h 11 min | light | A-92 |
| Valencia | Zaragoza | 314.8 km | 3 h 13 min | 3 h 11 min | light | A-23 |
| Getafe | Toledo | 59.8 km | 43 min | 41 min | light | A-42 |
Filas reales de una matriz de rutas por carretera entre ciudades españolas (modo coche, salida «ahora»). Distancia y duraciones se formatean a partir de los campos en metros y segundos. Los valores cambian con el tráfico del momento.
| Ruta | Hora de salida solicitada | Duración con tráfico | Rango típico | Nivel de tráfico |
|---|---|---|---|---|
| Madrid → Bilbao | 2026-10-16 07:00 | 4 h 10 min | 3 h 40 min – 5 h 10 min | light |
| Madrid → Bilbao | 2026-10-16 11:00 | 4 h 10 min | 3 h 40 min – 5 h 10 min | light |
| Madrid → Bilbao | 2026-10-16 15:00 | 4 h 20 min | 3 h 50 min – 5 h 30 min | light |
| Madrid → Bilbao | 2026-10-16 19:00 | 4 h 10 min | 3 h 40 min – 5 h 10 min | light |
| Madrid → Barcelona | 2026-10-16 07:00 | 6 h 20 min | 5 h 30 min – 8 h 0 min | light |
| Madrid → Barcelona | 2026-10-16 11:00 | 6 h 20 min | 5 h 30 min – 8 h 0 min | light |
| Madrid → Barcelona | 2026-10-16 15:00 | 6 h 20 min | 5 h 40 min – 7 h 50 min | light |
| Madrid → Barcelona | 2026-10-16 19:00 | 6 h 10 min | 5 h 30 min – 7 h 50 min | light |
Filas reales de un perfil de tráfico: la misma ruta consultada con cuatro horas de salida de un mismo día futuro (predicción de tráfico de Google). La duración y el rango típico cambian según la hora de salida. Solo filas, sin agregados.
| Origen | Destino | Salida | Llegada | Líneas (transitLines) | Transbordos | Distancia a pie |
|---|---|---|---|---|---|---|
| Atocha, Madrid | Plaza de Castilla, Madrid | 2026-10-14 10:00 | 2026-10-14 10:42 | Subterráneo 1 Atocha→Plaza de Castilla (15 paradas) | 0 | 1026 m |
| Madrid | Toledo | 2026-10-14 07:45 | 2026-10-14 08:41 | Tren Avant Estación de Madrid Puerta de Atocha - Almudena Grandes→Toledo (1 paradas) | 0 | 1518 m |
| Paris Gare de Lyon | Lyon Part-Dieu | 2026-10-15 10:00 | 2026-10-15 11:56 | Tren de alta velocidad TGV INOUI Gare de Lyon→Lyon Part Dieu (1 paradas) | 0 | 0 m |
| Bilbao | San Sebastián | 2026-10-09 04:20 | 2026-10-09 05:35 | Autobús FlixBus Bilbao→Estación de Autobuses de San Sebastian (1 paradas) | 0 | 0 m |
| Berlin Hauptbahnhof | München Hbf | 2026-10-08 23:29 | 2026-10-09 06:47 | — | 1 | — |
Filas reales de rutas en transporte público (metro, tren de alta velocidad, autobús). Horas locales de la ruta; el campo conserva la zona horaria. Un «—» significa que Google no devolvió ese dato para la ruta. Los nombres de línea llegan en el idioma pedido.
Calidad del dato. El campo status vale OK, NO_ROUTE o ERROR. Una pareja sin ruta posible se marca como NO_ROUTE y se entrega en el dataset: no se filtra. Cada resultado trae el lugar que Google resolvió (resolvedOriginName, resolvedDestinationName y sus placeId) para que verifiques que se usó el sitio correcto.
Un esquema estable para todos los modos, con tipo y descripción de cada campo.
| Campo | Tipo | Descripción |
|---|---|---|
| origin | string | Origen tal como lo pediste |
| destination | string | Destino tal como lo pediste |
| travelMode | string | Modo: driving, transit, walking o cycling |
| timeMode | string | «now», salida a una hora o llegada a una hora |
| requestedTime | string | Hora de salida o llegada solicitada |
| status | string | OK, NO_ROUTE o ERROR |
| distanceMeters | integer | Distancia de la ruta en metros |
| durationSeconds | integer | Duración de la ruta en segundos |
| durationInTrafficSeconds | integer | Duración con tráfico en segundos |
| typicalMinSeconds | integer | Extremo inferior del rango típico de Google |
| typicalMaxSeconds | integer | Extremo superior del rango típico de Google |
| typicalRangeText | string | Rango típico en texto |
| trafficLevel | string | Nivel de tráfico de la ruta |
| trafficDelaySeconds | integer | Retraso por tráfico en segundos |
| via | string | Vía principal de la ruta |
| hasTolls | boolean | La ruta incluye peajes |
| departureTime | string | Salida (transporte público), con zona horaria |
| arrivalTime | string | Llegada (transporte público), con zona horaria |
| transitLines | string | Líneas y paradas del trayecto |
| numTransfers | integer | Número de transbordos |
| walkingDistanceMeters | integer | Metros a pie del trayecto |
| fareAmount | number | Tarifa del trayecto |
| fareCurrency | string | Moneda de la tarifa |
| resolvedOriginName | string | Lugar de origen que resolvió Google |
| resolvedOriginPlaceId | string | placeId del origen |
| resolvedDestinationName | string | Lugar de destino que resolvió Google |
| resolvedDestinationPlaceId | string | placeId del destino |
| matrixOriginIndex | integer | Posición del origen en la matriz |
| matrixDestinationIndex | integer | Posición del destino en la matriz |
| googleMapsUrl | string | Enlace a la ruta en Google Maps |
| scrapedAt | string | Fecha y hora de captura |
Campos reales de la muestra pública. Los campos de transporte público y tarifa solo se rellenan en rutas de ese modo; el resto de rutas los deja vacíos.
El actor funciona allí donde Google Maps ofrece rutas para el modo pedido. La disponibilidad de transporte público, horarios y tarifas depende de lo que Google publique en cada ciudad.
Elige entre ejecutar tú el actor, recibir un dataset recurrente o encargar un proyecto a medida.
No. El actor funciona sin clave de API de Google: indicas las rutas y recibes el resultado en el dataset de Apify.
Depende de la hora que pidas. Con «ahora» devuelve el tráfico en vivo; con una fecha y hora futuras usa la predicción de tráfico de Google. El campo timeMode indica cuál se pidió.
Que Google no encontró ruta posible entre ese origen y destino para el modo pedido. La fila se entrega con status = NO_ROUTE y no se filtra, para que sepas qué parejas fallaron. En el pago por resultado solo cuentan los resultados OK.
Google elige un lugar y el actor te dice cuál: cada resultado trae el nombre, el placeId y las coordenadas del origen y del destino resueltos. Si no es el que querías, repite con una dirección más precisa, coordenadas o un enlace de Google Maps.
JSON y CSV desde Apify o por API, con la matriz en segundos y metros. También se puede entregar de forma recurrente en un bucket S3 propio. La salida admite más de 40 idiomas.
No hace falta. Los orígenes y destinos son lugares, zonas o códigos postales, y los resultados son tiempos y distancias. Para casos de RR. HH. se usan zonas, nunca direcciones de empleados.
Dinos qué orígenes, destinos y modos te interesan y te enviamos una muestra con el esquema que recibirías.
Combinamos rutas con tu red de tiendas, almacenes o sedes como proyecto a medida.