bus.nitaimaarek.comstatus

Bus API

Israeli public transport arrivals as JSON. The timetable is the Ministry of Transport's GTFS feed, reloaded every night and trimmed to yesterday, today and tomorrow. Live positions come from the ministry's SIRI feed, updated about once a minute. Each bus is matched to its timetable trip, and its delay is carried forward to the stops ahead.

All endpoints are GET, return JSON, and send Access-Control-Allow-Origin: *. Add pretty to any URL for indented output and lang=en or lang=ar for translated names where the feed has them. Times are ISO 8601 in Israel time.

Stops

/api/stops?q=text
Search by stop code (exact first, then prefix) or by name and city words. limit defaults to 30.
/api/stops/near?lat=&lon=
Closest stops with distance_m. radius in metres (default 500, max 5000), limit (default 20).
/api/stops/code
One stop by the number on its sign, with every line that calls there in the loaded days. Stations also list their platforms.
/api/stops/code/arrivals
Upcoming buses, soonest first. minutes ahead (default 90), limit (default 30), line=5,480 to filter by line number, all to include buses that end at this stop.

Lines and trips

/api/lines?q=line
Routes by line number (exact, then prefix) or by words in the route's long name. Each direction and alternative is its own route. Only routes running in the loaded days unless all.
/api/routes/route_id
Route details and its stops (from the day's longest trip), with minutes from the first stop. Add shape for the path as [lat, lon] pairs.
/api/routes/route_id/vehicles
Buses on the route right now.
/api/routes/route_id/departures?date=
Every departure from the first stop on a day (default today) with its live status.
/api/trips/trip_id?date=
One trip, stop by stop, with scheduled and predicted times and whether each stop has been passed.

Vehicles and status

/api/vehicles?bbox=minLon,minLat,maxLon,maxLat
Every bus in the latest snapshot, optionally inside a box or on one route (route_id). Without filters this is the whole country, about 7,000 buses at midday.
/api/status
Feed dates, snapshot age, how many buses matched the timetable, and the last errors.

Arrival fields

status
live: the time comes from the bus's position. at_stop: the bus is within 50 m of the stop. at_origin: the bus is waiting at the first stop and the time assumes it leaves now if it's already late. stale: the bus's last position is over 10 minutes old, so the time is the timetable's. scheduled: no bus is reporting for this trip yet.
scheduled, predicted, minutes
predicted is null when there is no live position. minutes counts to the predicted time if there is one, otherwise to the scheduled time.
delay_s, stops_away, vehicle
The delay in seconds (negative means early), how many stops the bus still has to make before this one, and the bus itself: position, bearing, speed, and how old the position is.

Sources

Timetable: Ministry of Transport GTFS. Live positions: the ministry's SIRI StopMonitoring feed, read from the per-minute archive kept by Hasadna's Open Bus project until direct access is set up. The source in use is shown in /api/status.