<!-- https://api.ibusisrael.online/docs/he/ -->
# ה-API של iBus לתחבורה ציבורית

תחנות, קווים, לוחות זמנים, הגעות בזמן אמת והודעות רשמיות על שינויים בתחבורה הציבורית בישראל, כ-JSON ב-HTTPS. אותם נתונים שאפליקציית iBus משתמשת בהם, לפרויקטים עם בקשה מאושרת.

```bash
curl -H "Authorization: Bearer $IBUS_API_KEY" "https://api.ibusisrael.online/api/transport/v2/stop/21472/arrivals?limit=6&lang=he"
```

תשובה לדוגמה (שמורה, לא חיה)

```json
{
  "stopId": "21472",
  "updatedAt": "2026-10-21T17:16:22+03:00",
  "stale": false,
  "arrivals": [
    {
      "vehicle_ref": "AVEexampleVehicle01",
      "line_ref": "9877",
      "route_short_name": "271",
      "agency_id": "3",
      "agency_name": "אגד",
      "stop_point_ref": "21472",
      "direction_ref": "1",
      "dated_vehicle_journey_ref": "9719820",
      "data_frame_ref": "2026-10-21",
      "item_identifier": "1433250322",
      "confidence_level": "probablyReliable",
      "call_order": 17,
      "distance_from_stop_m": 6887,
      "latitude": 32.0769,
      "longitude": 34.792049,
      "bearing": 206.0,
      "velocity": 0.0,
      "motion": "stopped",
      "destination_name": "Yerushalayim Boulevard/Mifrats Shlomo",
      "destination_ref": "35810",
      "direction_text": null,
      "current_stop_name": null,
      "current_stop_code": "21472",
      "origin_aimed_departure_utc": "2026-10-21T13:45:00Z",
      "expected_arrival_utc": "2026-10-21T14:17:00Z",
      "aimed_arrival_utc": null,
      "recorded_at_utc": "2026-10-21T14:16:05Z",
      "expected_in_min": 0,
      "wheelchair_accessible": 1,
      "stops_remaining": 16,
      "freshness": {
        "state": "live",
        "age_sec": 17,
        "observed_at_utc": "2026-10-21T14:16:05Z"
      },
      "observation_age_sec": 17,
      "gtfs_trip_id": "8947270_211026",
      "gtfs_stop_sequence": 17,
      "dest_code": "35810",
      "dest_names": {
        "he": "שדרות ירושלים/מפרץ שלמה",
        "en": "Yerushalayim Boulevard/Mifrats Shlomo",
        "ar": "جادة يروشلايم/خليج شلومو"
      },
      "trust": {
        "v": 1,
        "observed_at_utc": "2026-10-21T14:16:05Z",
        "received_at_utc": "2026-10-21T14:16:22Z",
        "age_sec": 17,
        "freshness": "live",
        "identity": "exact",
        "position": "ok",
        "checks": {
          "motion": "ok",
          "time": "ok",
          "geometry": "unknown",
          "direction": "unknown"
        },
        "issues": [],
        "forecast": "source",
        "verdict": "live"
      },
      "vtok": "EXAMPLEpass1"
    },
    {
      "vehicle_ref": "AVEexampleVehicle02",
      "line_ref": "2454",
      "route_short_name": "42",
      "agency_id": "5",
      "agency_name": "דן",
      "stop_point_ref": "21472",
      "direction_ref": "1",
      "dated_vehicle_journey_ref": "3019375",
      "data_frame_ref": "2026-10-21",
      "item_identifier": "1433250318",
      "confidence_level": "probablyReliable",
      "call_order": 24,
      "distance_from_stop_m": 8190,
      "latitude": 32.080585,
      "longitude": 34.79604,
      "bearing": 248.0,
      "velocity": 0.0,
      "motion": "stopped",
      "destination_name": "ת.רק''ל הקוממיות/דרך בגין",
      "destination_ref": "36108",
      "direction_text": null,
      "current_stop_name": null,
      "current_stop_code": "21472",
      "origin_aimed_departure_utc": "2026-10-21T13:35:00Z",
      "expected_arrival_utc": "2026-10-21T14:17:00Z",
      "aimed_arrival_utc": null,
      "recorded_at_utc": "2026-10-21T14:14:15Z",
      "expected_in_min": 0,
      "wheelchair_accessible": 1,
      "stops_remaining": 23,
      "freshness": {
        "state": "scheduled_confirmed",
        "age_sec": 127,
        "observed_at_utc": "2026-10-21T14:14:15Z",
        "basis": "gtfs_confirmed_stale_observation",
        "scheduled_arrival_utc": "2026-10-21T14:01:54Z"
      },
      "observation_age_sec": 127,
      "stale_observation": true,
      "schedule_confirmed": true,
      "gtfs_trip_id": "3019266_211026",
      "gtfs_stop_sequence": 24,
      "gtfs_scheduled_arrival_utc": "2026-10-21T14:01:54Z",
      "gtfs_scheduled_departure_utc": "2026-10-21T14:01:54Z",
      "dest_code": "36108",
      "dest_names": {
        "he": "ת.רק''ל הקוממיות/דרך בגין",
        "en": "ת.רק''ל הקוממיות/דרך בגין",
        "ar": "ת.רק''ל הקוממיות/דרך בגין"
      },
      "trust": {
        "v": 1,
        "observed_at_utc": "2026-10-21T14:14:15Z",
        "received_at_utc": "2026-10-21T14:16:22Z",
        "age_sec": 127,
        "freshness": "scheduled_confirmed",
        "identity": "exact",
        "position": "ok",
        "checks": {
          "motion": "ok",
          "time": "ok",
          "geometry": "unknown",
          "direction": "unknown"
        },
        "issues": [],
        "forecast": "timetable",
        "verdict": "schedule"
      },
      "vtok": "EXAMPLEpass2"
    }
  ],
  "source": "siri",
  "server_now_utc": "2026-10-21T14:16:22Z",
  "freshness_contract": 1,
  "source_state": "ok"
}
```

## מה אפשר לקבל

- **תחנות.** חיפוש לפי שם או קוד, תחנה עם הכתובת ואזור התעריף שלה, תחנות סביב נקודה, תחנות רכבת.
- **זמן אמת.** כלי הרכב שבדרך לתחנה. כל שורה מציינת עד כמה היא עדכנית.
- **לוח זמנים.** כל היציאות של תחנה או של מסלול ביום שירות מסוים.
- **קווים.** המסלולים של מספר קו, התחנות שלהם, החלופות והתוואי על הכביש.
- **הודעות על שינויים.** מעקפים, תחנות שהועתקו או בוטלו ועבודות, כפי שמשרד התחבורה מפרסם.

## גישה

חיבורים פונים ל-API מהשרת עם המפתח של פרויקט מאושר: `Authorization: Bearer <מפתח>`. [איך מקבלים גישה](/he/access/). פונקציות אישיות של אפליקציית iBus (מועדפים, התראות, העוזר ליאור) אינן חלק מה-API הזה; ראו [גישה, מפתחות ופרטיות](/docs/he/access/).

> [!NOTE]
> נדרש מפתח: מאז 24.10.2026 הפעולות של `/api/transport/` עונות רק לבקשות עם מפתח (בלי מפתח: `401 KEY_REQUIRED`). הכתובות הישנות בלי `/transport` עדיין עונות בינתיים גם בלי מפתח (תקופת מעבר); על סיומן נודיע ב[דף הגישה](/he/access/) מראש.

## הבקשה הראשונה

```bash
curl -H "Authorization: Bearer $IBUS_API_KEY" "https://api.ibusisrael.online/api/transport/stops/search?q=Azrieli&limit=3&lang=en"
```

שמרו את המפתח בשרת, למשל במשתנה הסביבה `IBUS_API_KEY` שכל הדוגמאות משתמשות בו.

התשובה מחזירה תחנות עם הקוד הציבורי, השם והמיקום. עם הקוד אפשר לבקש את ההגעות: המדריך [בקשה ראשונה](/docs/he/quickstart/) מוביל צעד אחר צעד.

## נתונים שאפשר לסמוך עליהם

> [!NOTE]
> כל שורה בזמן אמת כוללת `freshness`. רק שורות עם `freshness.state = "live"` הן תחזית בזמן אמת. תצפית ישנה אף פעם לא מוצגת כחיה, וזמן לפי לוח הזמנים מסומן ככזה.

הזמנים בלוח הזמנים הם זמני GTFS של יום השירות, ולפעמים הם אחרי 24:00. הסבר על כך ועל המזהים בעמוד [נתונים וזמן](/docs/he/data/).

## מגבלות

המגבלות שייכות לפרויקט: בקשות בדקה (עם פרץ קצר), ביממה ובחודש, בקשות בו-זמנית ותקציב נפרד לפעולות כבדות. מעבר למגבלה התשובה היא `429` עם `Retry-After`. פרטים: [מגבלות ושגיאות](/docs/he/limits/).

## לכלים ולעוזרי בינה מלאכותית

- OpenAPI 3.1 של הפעולות שפורסמו: [openapi.json](https://api.ibusisrael.online/openapi.json)
- מפה קצרה למודלי שפה: [llms.txt](https://api.ibusisrael.online/llms.txt)
- כל מדריך גם ב-Markdown, למשל [העמוד הזה](/docs/md/he/index.md)

## כל הפעולות שפורסמו

| שיטה | פעולה | נתונים |
|---|---|---|
| GET | מצב השירות — `/api/transport/healthz` (`getHealth`) | מידע כללי |
| GET | כללי הרעננות של נתוני זמן אמת — `/api/transport/contract/freshness` (`getFreshnessContract`) | מידע כללי |
| GET | חיפוש תחנות לפי שם או קוד — `/api/transport/stops/search` (`searchStops`) | מידע כללי |
| GET | תחנה: מיקום, כתובת, אזור תעריף — `/api/transport/stop/{stopCode}` (`getStop`) | מידע כללי |
| GET | תחנות סביב נקודה — `/api/transport/nearby_stops` (`listNearbyStops`) | מידע כללי |
| GET | שמות ומיקומים של עד 50 תחנות — `/api/transport/gw/stops/brief` (`getStopsBrief`) | מידע כללי |
| GET | הגעות צפויות לתחנה (זמן אמת) — `/api/transport/v2/stop/{stopCode}/arrivals` (`getStopArrivals`) | זמן אמת |
| GET | לוח הזמנים של תחנה ליום שירות — `/api/transport/stop/{stopCode}/day_schedule` (`getStopDaySchedule`) | לוח זמנים |
| GET | תחנות רכבת ישראל — `/api/transport/gw/rail/stations` (`listRailStations`) | מידע כללי |
| GET | חיפוש קווים לפי מספר — `/api/transport/routes/search` (`searchLines`) | מידע כללי |
| GET | מסלול ותחנותיו — `/api/transport/line/{routeId}/full` (`getLine`) | מידע כללי |
| GET | תוואי המסלול בתאריך — `/api/transport/gw/line/{routeId}/shape` (`getLineShape`) | מידע כללי |
| GET | כל החלופות של הקו של מסלול — `/api/transport/gw/line/{routeId}/variants` (`getLineVariants`) | מידע כללי |
| GET | חלופות של קו לפי מספר — `/api/transport/gw/line/variants` (`findLineVariantsByNumber`) | מידע כללי |
| GET | יציאות של מסלול ליום שירות — `/api/transport/line/{routeId}/day_schedule` (`getLineDaySchedule`) | לוח זמנים |
| GET | הודעות על שינויים בתנועה — `/api/transport/alerts` (`listAlerts`) | הודעות |
| GET | הודעה אחת — `/api/transport/alerts/{alertId}` (`getAlert`) | הודעות |
| GET | הודעות לתחנה — `/api/transport/alerts/by-stop/{stopCode}` (`listAlertsByStop`) | הודעות |
| GET | הודעות למסלול — `/api/transport/alerts/by-line/{agencyId}/{routeId}` (`listAlertsByLine`) | הודעות |
| GET | מפעילי תחבורה — `/api/transport/agencies` (`listAgencies`) | מידע כללי |
| GET | גרסת רשימת התחנות — `/api/transport/stops/version` (`getStopsVersion`) | מידע כללי |
| GET | האם התאריך בלוח הזמנים והאם זה יום רגיל — `/api/transport/gw/service-day` (`getServiceDay`) | מידע כללי |
| GET | מה השרת רואה לגבי הבקשה שלכם (כתובת, מפתח, פרויקט) — `/api/access/whoami` (`whoami`) | גישה |
