Rome2Rio Multi-Modal Route Scraper avatar

Rome2Rio Multi-Modal Route Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Rome2Rio Multi-Modal Route Scraper

Rome2Rio Multi-Modal Route Scraper

Scrape Rome2Rio trip-planning results - compare flight, train, bus, car, ferry, and rideshare options between any two cities or airports, with durations, price ranges, and operators.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape Rome2Rio trip-planning results — compare every reliable way to get from one place to another: flight, train, bus, car, ferry, rideshare, and walking. Get durations, price ranges, operators, and distances for every route option Rome2Rio surfaces for a city, town, or airport pair. HTTP-only, no login, no cookies required.

What this actor does

  • Single-route or batch search — look up one origin/destination pair, or supply an array of pairs to scrape many routes in one run
  • Every transport mode Rome2Rio returns: flight, train, bus, car/drive, ferry, rideshare, walk — including multi-leg combinations (e.g. "train to the airport, then fly")
  • Filters: transport mode, max duration, max price
  • Sort: recommended (site order), cheapest first, fastest first
  • Operators surfaced where shown (e.g. Amtrak, Eurostar, Flixbus, Greyhound)
  • Empty fields are omitted — a field only appears on a record when real data was found for it

Output per route option

  • origin, destination — canonicalized place names for the route
  • mode — primary transport mode for this option (flight / train / bus / car / ferry / rideshare / walk)
  • modes — every mode involved for multi-leg options (e.g. ["car", "ferry"])
  • title — Rome2Rio's own label for the option (e.g. Train (Amtrak), Drive 337.4 km)
  • operators[] — named carrier(s), when shown (e.g. Amtrak, Flixbus)
  • durationMinutes, durationText — total travel time
  • priceMin, priceMax, currency — quoted fare range
  • distanceKm — driving distance, for car-only options
  • straightLineDistanceKm — general point-to-point distance between origin and destination, present on every option regardless of mode
  • position — Rome2Rio's own rank/order for this option (1 = top result)
  • deepLink — link to the full Rome2Rio itinerary/schedule page for this option
  • sourceUrl — the Rome2Rio search page this was scraped from
  • recordType: "routeOption", scrapedAt

Input

FieldTypeDefaultDescription
originstringNew YorkStarting city, town, address, or airport. Ignored if routePairs is set.
destinationstringBostonEnding city, town, address, or airport. Ignored if routePairs is set.
routePairsarrayBatch mode: [{"origin": "...", "destination": "..."}, ...] — scrapes multiple routes in one run
transportModestringanyKeep only options using this mode: any / flight / train / bus / car / ferry / rideshare / walk
maxDurationMinutesintDrop options longer than this many minutes
maxPricenumberDrop options whose cheapest quoted price exceeds this
sortBystringrecommendedrecommended / cheapest / fastest
maxItemsint50Hard cap on emitted route options (1–1000)
proxyConfigurationobjectAUTOApify proxy (free AUTO datacenter group); not strictly required

Examples

{
"origin": "New York",
"destination": "Boston",
"maxItems": 20
}

Example: only flights, cheapest first

{
"origin": "Paris",
"destination": "London",
"transportMode": "flight",
"sortBy": "cheapest"
}

Example: batch multiple routes in one run

{
"routePairs": [
{ "origin": "Berlin", "destination": "Prague" },
{ "origin": "Munich", "destination": "Zurich" }
],
"maxItems": 100
}

Example: fast options only, budget capped

{
"origin": "Los Angeles",
"destination": "San Francisco",
"maxDurationMinutes": 180,
"maxPrice": 100,
"sortBy": "fastest"
}

Use cases

  • Travel planning tools — pull live multi-modal options into a trip-comparison UI
  • Fare-tracking dashboards — snapshot price ranges across modes for a route over time
  • Travel content/SEO — power "how to get from X to Y" articles with real operator and fare data
  • Corporate travel booking — compare cost/time tradeoffs across transport modes for a route
  • Market research — see which operators and modes Rome2Rio surfaces as viable for a given city pair

Data Source / Limitations

Data comes from Rome2Rio's public trip-summary pages (rome2rio.com/s/<origin>/<destination>), which render duration and price ranges without requiring login. Rome2Rio determines the actual origin/destination match when a place name is ambiguous (e.g. multiple cities sharing a name) — the actor reports back whichever place Rome2Rio resolved to. Prices are indicative ranges as shown on the summary page, not live booking quotes; for exact schedules and booking, follow the deepLink for an option. If no viable route exists between two places, or all results are excluded by filters, the actor returns 0 records with a clear status message rather than failing.

Rome2Rio protects its pages with Cloudflare bot-management for all visitors, including real browsers (a one-time JS challenge that resolves automatically in a browser tab). This means deepLink and sourceUrl values open normally when clicked in a browser, but a bare command-line request (e.g. plain curl) to those URLs may receive a challenge page instead of the itinerary — this is Rome2Rio's own site-wide protection, not a broken or mistyped link.

FAQ

Is this affiliated with Rome2Rio? No — this is an independent, third-party actor that reads Rome2Rio's public search-results pages.

Why do some options have no operators field? Rome2Rio only names a specific carrier for some options (e.g. "Train (Amtrak)"); others are generic (e.g. "Bus") because the site doesn't attribute a single operator on the summary page.

Why is distanceKm only present on some records? Rome2Rio only shows an explicit driving distance for car/drive options on the summary page — other modes don't include a comparable figure. straightLineDistanceKm (point-to-point distance) is present on every option regardless of mode.

What currency are prices in? Prices are consistently shown in USD by Rome2Rio's summary page regardless of route location, locale, or currency query parameters — the currency field reflects whatever symbol/code is actually found on the page.

Does transportMode filter change what Rome2Rio itself returns? No — Rome2Rio always returns its full set of route options; the transportMode filter is applied by the actor after fetching so you only receive the modes you asked for.

What happens if the two places can't be matched to a real route? The actor returns 0 records and sets a status message explaining that no route was found — this is treated as a clean, valid result, not an error.