12go.asia Scraper - Train, Bus, Ferry, Flight Schedules (Asia) avatar

12go.asia Scraper - Train, Bus, Ferry, Flight Schedules (Asia)

Pricing

Pay per event

Go to Apify Store
12go.asia Scraper - Train, Bus, Ferry, Flight Schedules (Asia)

12go.asia Scraper - Train, Bus, Ferry, Flight Schedules (Asia)

Scrape multimodal transport from 12go.asia: trains, buses, ferries, flights, vans, and private transfers across 40+ Asian countries. Returns operator, vehicle class, schedules, fares, ratings, and booking links for travel apps and aggregators.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

12go.asia Multimodal Transport Scraper

Scrape multimodal transport schedules and fares from 12go.asia. Returns trains, buses, ferries, flights, vans, and private transfers across Thailand, Vietnam, Indonesia, Malaysia, Philippines, Cambodia, Laos, Japan, India, Sri Lanka, and 30+ other countries — with operator names, schedules, fares, ratings, and direct booking links in clean JSON.


12go Asia Scraper Features

  • Extracts trip data across all 12go transport modes — train, bus, ferry, flight, van, private transfer, taxi, and mixed multi-segment journeys.
  • Returns 24 fields per trip including operator, vehicle class, origin/destination terminals, departure and arrival times, duration, transfers, price, currency, rating, and booking URL.
  • Searches by city pair — supply origin, destination, and an optional travel date. Slug resolution is automatic.
  • Currency override built in. Pick from USD, EUR, GBP, THB, VND, IDR, MYR, SGD, PHP, JPY, INR, or AUD and prices come back normalized.
  • Multi-route batches in a single run — each search executes independently with shared deduplication, so the same trip never appears twice.
  • Handles AWS WAF challenges automatically via headless browser. Routes that look hard to scrape are not.
  • Residential proxy support out of the box for geo-flexible runs.

Who Uses 12go Asia Data?

  • Travel aggregators — feed real-time schedules and fares into route-planning apps without negotiating partner agreements.
  • Backpacker booking platforms — rebuild the 12go index with your own filtering and presentation, or just pull in the price-comparison data.
  • Tourism startups in Southeast Asia — track operator pricing, route popularity, and seat availability across the region's biggest multimodal booking engine.
  • Hostel and accommodation sites — show transport options between properties as a value-add. People book hostels based on how easy it is to get there.
  • Travel-tech researchers — analyze pricing trends, operator coverage, and route density across countries that don't surface this data anywhere else.
  • Affiliate marketers — generate booking-link inventory for content sites and SEO landing pages.

How 12go Asia Scraper Works

  1. Provide a list of { origin, destination, date? } searches. City names get lowercased and dashed into 12go's URL slugs (e.g. Koh Samui becomes koh-samui).
  2. The scraper navigates each search URL through a headless browser. AWS WAF resolves on its own — no captcha solving, no proxy gymnastics.
  3. Trip cards are parsed from the rendered page. Each card yields one record with operator, mode, schedule, price, rating, and a deep link to the booking page.
  4. Records flush to the dataset as they're found. Set maxItems to cap the total across all searches.

Input

{
"searches": [
{ "origin": "Bangkok", "destination": "Koh Samui" },
{ "origin": "Ho Chi Minh City", "destination": "Phnom Penh", "date": "2026-08-15" }
],
"currency": "USD",
"maxItems": 50,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}
FieldTypeDefaultDescription
searchesarray of objects— (required)List of routes. Each entry has origin (string), destination (string), and optional date (YYYY-MM-DD).
currencystringUSDOutput currency. One of: USD, EUR, GBP, THB, VND, IDR, MYR, SGD, PHP, JPY, INR, AUD.
maxItemsinteger15Maximum total trip records across all searches.
proxyConfigurationobjectresidentialApify proxy configuration. Residential is recommended — 12go uses AWS WAF.

12go Asia Scraper Output Fields

{
"trip_id": "TH1esQ01Mp9DAf0SJ03SPY6d",
"mode": "ferry",
"operator": "Lomprayah",
"vehicle_class": "Ferry with Lomprayah",
"origin_city": "Bangkok",
"origin_terminal": "Khao San Lomprayah, Bangkok",
"origin_country": "",
"destination_city": "Koh Samui",
"destination_terminal": "Maenam Samui, Koh Samui",
"destination_country": "",
"departure_time": "21:30",
"arrival_time": "11:30",
"travel_date": "",
"duration_minutes": 840,
"duration_text": "14h",
"transfers": 0,
"route_summary": "14h | Lomprayah | Ferry",
"labels": "Instant confirmation | Bestseller | Recommended | Most popular class",
"features": "Free cancellation",
"price_total": 44.58,
"price_text": "$44",
"price_currency": "USD",
"rating": 4.4,
"booking_url": "https://12go.asia/en/trip-page/TH1esQ01Mp9DAf0SJ03SPY6d/2026-05-04-21-30-00?position=1&fromSlug=bangkok&toSlug=koh-samui",
"scraped_at": "2026-05-01T15:11:27.919Z"
}
FieldTypeDescription
trip_idstringInternal 12go trip ID extracted from the trip detail URL.
modestringTransport mode: train, bus, ferry, flight, van, private_transfer, taxi, or mixed for multi-segment trips.
operatorstringOperator name (Lomprayah, State Railway of Thailand, Bangkok Airways, Giant Ibis, etc.).
vehicle_classstringHuman-readable transport label (e.g. Ferry with Lomprayah, Bus, Ferry with Boonsiri).
origin_citystringOrigin city as supplied in the search.
origin_terminalstringDeparture terminal name — station, pier, airport, or office address.
origin_countrystringOrigin country (when 12go publishes it; otherwise empty).
destination_citystringDestination city as supplied in the search.
destination_terminalstringArrival terminal name.
destination_countrystringDestination country (when published).
departure_timestringScheduled departure as HH:MM (24-hour, local time).
arrival_timestringScheduled arrival as HH:MM (24-hour, local time).
travel_datestringTravel date in YYYY-MM-DD if supplied in the search; otherwise empty.
duration_minutesnumberTotal duration in minutes, parsed from the route summary.
duration_textstringDuration as displayed (14h, 13h 30m).
transfersnumberNumber of connections. 0 for direct trips, 1+ for multi-segment journeys.
route_summarystringRoute summary line as 12go displays it.
labelsstringTrip badges joined by `
featuresstringTrip features joined by `
price_totalnumberNumeric total price in the selected currency.
price_textstringPrice as displayed ($44, £35, ฿1,500).
price_currencystringISO currency code (USD, THB, EUR, etc.).
ratingnumberOperator/trip rating from 1 to 5.
booking_urlstringDirect deep link to the 12go booking page for this trip.
scraped_atstringISO 8601 timestamp of the scrape.

FAQ

How do I scrape 12go.asia transport data?

12go Asia Scraper handles it. Supply a list of city pairs in the searches input, and the scraper resolves them to 12go URL slugs, navigates each one, parses the trip cards, and writes structured JSON to the dataset.

How much does the 12go Asia Scraper cost to run?

Pricing is pay-per-event: $0.10 per actor start, plus $0.002 per trip record. Most runs cost a few cents — a 50-trip search comes in around $0.20. Apify proxy usage is included in the per-record price.

What data can I get from 12go.asia?

Operator name, transport mode, vehicle class, origin and destination terminals, departure/arrival times, duration, number of transfers, total price in your chosen currency, operator rating, trip badges, and a direct booking URL. Twenty-four fields per trip.

Does the 12go Asia Scraper need proxies?

12go Asia Scraper runs through Apify residential proxies by default. 12go uses AWS WAF, which is geo-aware. Residential is recommended for stable runs; you can switch to no proxy or datacenter via the proxyConfiguration input if your use case allows.

Can I get prices in a specific currency?

Yes. Set currency to any of USD, EUR, GBP, THB, VND, IDR, MYR, SGD, PHP, JPY, INR, or AUD. 12go converts in real time and the scraper normalizes the output. The default is USD.

What countries does 12go cover?

Heavy coverage across Southeast Asia — Thailand, Vietnam, Indonesia, Malaysia, Philippines, Cambodia, Laos, Myanmar — plus growing service in Japan, India, Sri Lanka, Turkey, Egypt, Morocco, and more. Some EU routes are bundled via partner integrations.


Need More Features?

Need extra fields, a different output format, or a related scraper? File an issue or get in touch.

Why Use 12go Asia Scraper?

  • Affordable — about $0.002 per trip record, with a $0.10 start fee.
  • Multimodal coverage — train, bus, ferry, flight, van, and private transfer in a single actor, which is more than the source site's official partners offer in their own APIs.
  • Clean structured JSON — 24 fields per trip with consistent names, parsed durations in minutes, and direct booking deep links. No HTML cleanup on your end.