VOOZH about

URL: https://apify.com/jungle_synthesizer/ktmb-malaysia-transit-scraper

โ‡ฑ Malaysia Transit Scraper โ€” KTMB & Easybook Bus Routes ยท Apify


๐Ÿ‘ Malaysia Transit โ€” KTMB Rail & Easybook Bus Routes avatar

Malaysia Transit โ€” KTMB Rail & Easybook Bus Routes

Pricing

Pay per event

Go to Apify Store

Malaysia Transit โ€” KTMB Rail & Easybook Bus Routes

Scrape Malaysian transit data: KTMB rail stations (ETS, Intercity, Komuter โ€” ~150 stations with IDs and state groupings) and Easybook intercity bus routes (80+ routes with distance, duration, and city-pair metadata). Transit network graph for travel apps, MaaS platforms, and mapping services.

Pricing

Pay per event

Rating

0.0

(0)

Developer

๐Ÿ‘ BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

13 days ago

Last modified

Categories

Share

Malaysia Transit Scraper โ€” KTMB Rail & Easybook Bus Routes

Extracts Malaysian public transit network data from two sources: the KTMB rail station directory and the Easybook intercity bus route catalog. Delivers the station and route graph used by travel apps, MaaS platforms, and regional mapping services โ€” without requiring live schedule queries or CAPTCHA solving.

Malaysia Transit Scraper Features

  • Scrape KTMB rail stations across Peninsular Malaysia โ€” ~150 stations covering ETS, Intercity, and Komuter lines with numeric station IDs and state groupings
  • Scrape the Easybook intercity bus route catalog โ€” 400+ Malaysia routes with city-pair metadata including distance, average journey duration, and operator count
  • Filter by data source: KTMB rail only, Easybook bus only, or both in a single run
  • Cap results with maxItems for sampling or testing without pulling the full catalog
  • Runs on Malaysian residential proxy for geo-consistent content
  • Handles rate limiting and retries automatically via CoreCrawler

Who Uses Malaysian Transit Data?

  • MaaS platforms โ€” bootstrap a Malaysia transit network graph without manually compiling station lists from PDFs or timetable PDFs
  • Travel apps โ€” populate route finders and journey planners with real station IDs and city-pair links
  • Regional mapping services โ€” overlay rail and bus networks on maps using structured place IDs and geographic metadata
  • Transport researchers โ€” analyze intercity connectivity, route coverage, and operator presence across Peninsular Malaysia
  • Developers โ€” integrate KTMB station IDs directly with the KTMB booking API for downstream automation

How Malaysia Transit Scraper Works

  1. Select which data source to scrape: KTMB rail stations, Easybook bus routes, or both.
  2. For KTMB, the scraper fetches the timetable search page and extracts the embedded groupedStations JSON โ€” all ~150 stations with their IDs, names, lines, and state groupings, no CAPTCHA required.
  3. For Easybook, the scraper fetches the Malaysia bus route directory, collects all route links, and visits each route page to extract static metadata: distance, average duration, operator count, and from/to place IDs from the embedded search view model.
  4. Results are saved as flat records. KTMB and Easybook records share the same schema with null fields for inapplicable columns.

Input

{
"dataSource":"all",
"maxItems":15
}
FieldTypeDefaultDescription
dataSourceString"all"Which sources to scrape. Options: "all", "ktmb_stations", "easybook_routes".
maxItemsInteger15Maximum records to return across all sources.
proxyConfigurationObjectMalaysian residentialApify proxy configuration. Defaults to MY residential proxy for geo-consistent results.

KTMB Stations Only

{
"dataSource":"ktmb_stations",
"maxItems":150
}

Easybook Bus Routes Only

{
"dataSource":"easybook_routes",
"maxItems":100
}

Malaysia Transit Scraper Output Fields

KTMB Rail Station Record

{
"record_type":"ktmb_station",
"source":"KTMB",
"station_id":"19100",
"station_name":"KL SENTRAL",
"line":"ETS / Intercity",
"state":"Kuala Lumpur",
"from_city":null,
"from_place_id":null,
"to_city":null,
"to_place_id":null,
"distance_km":null,
"avg_duration_mins":null,
"operator_count":null,
"route_url":null
}

Easybook Bus Route Record

{
"record_type":"easybook_route",
"source":"Easybook",
"station_id":null,
"station_name":null,
"line":null,
"state":null,
"from_city":"Kuala Lumpur",
"from_place_id":"2",
"to_city":"Penang",
"to_place_id":"5",
"distance_km":351.0,
"avg_duration_mins":294,
"operator_count":12,
"route_url":"https://www.easybook.com/en-my/bus/booking/kualalumpur-to-penang"
}
FieldTypeDescription
record_typeStringRecord type: ktmb_station or easybook_route
sourceStringData source name: KTMB or Easybook
station_idStringKTMB numeric station ID (KTMB records only)
station_nameStringKTMB station name in uppercase (KTMB records only)
lineStringTrain line or service type โ€” ETS / Intercity / Komuter (KTMB records only)
stateStringMalaysian state where the station is located (KTMB records only)
from_cityStringOrigin city for the bus route (Easybook records only)
from_place_idStringEasybook internal place ID for the origin city
to_cityStringDestination city for the bus route (Easybook records only)
to_place_idStringEasybook internal place ID for the destination city
distance_kmNumberRoute distance in kilometres (Easybook records only)
avg_duration_minsNumberAverage journey duration in minutes (Easybook records only)
operator_countNumberNumber of bus operators serving this route (Easybook records only)
route_urlStringEasybook route page URL (Easybook records only)

Scope and Limitations

This scraper extracts the static transit network directory โ€” station catalogs and route metadata. It does not extract:

  • Live departure times or timetables (gated behind CAPTCHA on both KTMB and Easybook)
  • Fare prices or seat availability (CAPTCHA-gated)
  • Real-time service status or disruptions

The station and route data changes infrequently and is stable for use in network graph construction, mapping overlays, and app bootstrapping.

You might also like

Singapore Transit Scraper โ€” MRT, LRT, Bus via LTA DataMall

jungle_synthesizer/singapore-transit-scraper

Singapore transit data via LTA DataMall REST API. Real-time bus arrivals, bus stops with coordinates, service inventories, bus routes with stop sequences, and MRT/LRT service alerts. Covers MRT, LRT, and bus services (SMRT, SBS Transit, Tower Transit, Go-Ahead). Free AccountKey required.

๐Ÿ‘ User avatar

BowTiedRaccoon

2

Itabus Scraper - Rates, Routes & More

epicscrapers/itabus-scraper

Scrape Itabus bus network data effortlessly. Extract stations, routes, ticket prices, and journey schedules. Ideal for price monitoring, alerts, travel automation, and transport data analysis.

3

SmartAPIs Transit Routes

smartapis/smartapis-transit-routes

Thin Apify wrapper for the SmartAPIs.net Transit API.

Amtrak, Greyhound & Megabus Scraper โ€” US Intercity Rail & Bus

jungle_synthesizer/amtrak-greyhound-us-intercity-scraper

Scrape US intercity bus schedules and fares: Megabus and FlixBus (Greyhound/FlixBus network) with per-carrier trip IDs, origin/destination cities, departure/arrival times, fares, seat availability, amenities, and booking links. Covers 734+ city pairs and 500+ routes across the continental US.

๐Ÿ‘ User avatar

BowTiedRaccoon

3

Irish Rail Realtime Scraper

parseforge/irishrail-realtime-scraper

Stream live Irish Rail train movements with train code, public message, direction, status, and last reported location. Filter by Northbound or Southbound to follow commuter and intercity services across Ireland for transit apps, dashboards, or delay analytics.

Rome2Rio Scraper | Multi-Modal Travel Routes

parseforge/rome2rio-scraper

Get travel routes between any two cities from Rome2Rio with flight, train, bus, ferry, and car options including duration, price, frequency, operators, and segment details. Power travel apps, itinerary tools, ground transport research, and transit data pipelines worldwide.

Amtrak Rail Network Scraper โ€” Routes, Stations, Alerts

jungle_synthesizer/amtrak-rail-network-scraper

Amtrak's full US passenger rail network: every route (Acela, Northeast Regional, Silver Meteor, Coast Starlight and ~50 others), 1,000+ stations with codes, state, timezone and amenity flags (wheelchair, staffed, QuikTrak), and current service alerts.

๐Ÿ‘ User avatar

BowTiedRaccoon

3

MBTA Boston Live Transit Scraper

parseforge/mbta-transit-scraper

Scrape live data from the MBTA (Massachusetts Bay Transportation Authority): routes, stops, vehicle positions, predictions, and service alerts across subway, commuter rail, bus, and ferry. Filter by mode, route, or stop.

Irish Rail Scraper - Train Fares & Schedules

studio-amba/irish-rail-scraper

Scrape train schedules, fares, and real-time data from Irish Rail (irishrail.ie). Extract Intercity, DART, Commuter, and Enterprise routes across Ireland. No login required.