Tablo API
← Все статьи
1 июля 2026 г.

Как получить статус рейса через REST API — примеры на Python и JavaScript

Если вам нужны актуальные данные о статусах рейсов из российских аэропортов (DME, SVO, VKO, LED, AER, KZN), REST API — самый надёжный способ интеграции. В этой статье — рабочие примеры на Python и JavaScript, которые можно запустить прямо сейчас.

Что нужно для начала

  1. API-ключ (запросите доступ на главной странице)
  2. 5 минут

Пример на Python

import requests

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.tabloapi.ru"

def get_flight_status(flight_number: str, airport: str, date: str) -> dict:
    response = requests.get(
        f"{BASE_URL}/v1/flights/{flight_number}",
        headers={"X-API-Key": API_KEY},
        params={"airport": airport, "date": date}
    )
    response.raise_for_status()
    return response.json()

# Статус рейса SU100 в Шереметьево
flight = get_flight_status("SU100", "SVO", "2026-07-01")
print(flight["data"]["status"])     # → "LANDED"
print(flight["data"]["subStatus"])  # → "ARRIVED"

Пример на JavaScript

const API_KEY = "YOUR_API_KEY";
const BASE_URL = "https://api.tabloapi.ru";

async function getFlightStatus(flightNumber, airport, date) {
  const params = new URLSearchParams({ airport, date });
  const res = await fetch(`${BASE_URL}/v1/flights/${flightNumber}?${params}`, {
    headers: { "X-API-Key": API_KEY }
  });
  if (!res.ok) throw new Error(`HTTP ${res.status}`);
  return res.json();
}

const flight = await getFlightStatus("SU100", "SVO", "2026-07-01");
console.log(flight.data.status);     // → "LANDED"
console.log(flight.data.subStatus);  // → "ARRIVED"

Структура ответа

{
  "data": {
    "name": "SU100",
    "airport_code": "SVO",
    "status": "LANDED",
    "subStatus": "ARRIVED",
    "date_arrival_plan": "2026-07-01T10:30:00.000Z",
    "date_arrival_fact": "2026-07-01T10:28:00.000Z",
    "city_departure": "Санкт-Петербург",
    "type_aircraft": "Airbus A320"
  }
}

Справочник статусов

| status | subStatus | Значение | |--------|-----------|---------| | SCHEDULED | — | Рейс по расписанию | | DELAYED | — | Задержан | | DEPARTED | — | Вылетел | | LANDED | ARRIVED | Приземлился | | CANCELLED | — | Отменён |

Получить все рейсы за день

def get_all_arrivals(airport: str, date: str) -> list:
    response = requests.get(
        f"{BASE_URL}/v1/flights",
        headers={"X-API-Key": API_KEY},
        params={"airport": airport, "type": "arrival", "date": date}
    )
    response.raise_for_status()
    return response.json()["data"]

arrivals = get_all_arrivals("SVO", "2026-07-01")
delayed = [f for f in arrivals if f["status"] == "DELAYED"]
print(f"Задержано рейсов: {len(delayed)}")

Актуальность данных

Данные обновляются каждые 15 минут. Поле data_freshness в ответе показывает время последнего обновления:

{
  "data_freshness": {
    "SVO": "2026-07-01T10:25:00.000Z"
  }
}

Вебхуки: push вместо polling

Вместо периодических запросов можно настроить вебхук — API пришлёт POST-запрос на ваш эндпоинт при изменении статуса рейса. Подробнее в документации.


Tablo API покрывает 6 аэропортов России: DME, SVO, VKO, LED, AER, KZN. Запросить доступ →