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

API аэропортов России 2026: DME, SVO, VKO, LED, AER, KZN — полный обзор

Tablo API предоставляет реалтайм данные о рейсах из шести крупнейших аэропортов России через единый REST API. Один ключ — все аэропорты.

Покрытие аэропортов

| Код | Аэропорт | Город | |-----|----------|-------| | DME | Домодедово | Москва | | SVO | Шереметьево | Москва | | VKO | Внуково | Москва | | LED | Пулково | Санкт-Петербург | | AER | Сочи | Сочи | | KZN | Казань | Казань |

Данные обновляются каждые 15 минут.

Единый эндпоинт для всех аэропортов

# Прилёты в Домодедово
curl -H "X-API-Key: YOUR_KEY" \
  "https://api.tabloapi.ru/v1/flights?airport=DME&type=arrival&date=2026-07-01"

# Вылеты из Пулково
curl -H "X-API-Key: YOUR_KEY" \
  "https://api.tabloapi.ru/v1/flights?airport=LED&type=departure&date=2026-07-01"

# Конкретный рейс в Шереметьево
curl -H "X-API-Key: YOUR_KEY" \
  "https://api.tabloapi.ru/v1/flights/SU100?airport=SVO"

Параметры запроса

| Параметр | Тип | Описание | |----------|-----|---------| | airport | string | Код аэропорта: DME, SVO, VKO, LED, AER, KZN | | type | string | arrival или departure | | date | string | Дата в формате YYYY-MM-DD |

Пример ответа

{
  "data": [
    {
      "id": 1,
      "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_arrival": "Москва",
      "city_departure": "Санкт-Петербург",
      "type_aircraft": "Airbus A320",
      "timezone_offset": 180
    }
  ],
  "data_freshness": {
    "SVO": "2026-07-01T10:25:00.000Z"
  }
}

Проверка нескольких аэропортов одним скриптом

import requests

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.tabloapi.ru"
AIRPORTS = ["DME", "SVO", "VKO", "LED", "AER", "KZN"]

def get_delayed_flights(date: str) -> dict:
    delayed = {}
    for code in AIRPORTS:
        r = requests.get(
            f"{BASE_URL}/v1/flights",
            headers={"X-API-Key": API_KEY},
            params={"airport": code, "type": "arrival", "date": date}
        )
        flights = r.json().get("data", [])
        delayed[code] = [f for f in flights if f["status"] == "DELAYED"]
    return delayed

result = get_delayed_flights("2026-07-01")
for airport, flights in result.items():
    print(f"{airport}: {len(flights)} задержанных рейсов")

Актуальность и кэширование

Поле data_freshness показывает время последнего обновления данных по каждому аэропорту. Рекомендуемая стратегия: обновляйте данные не чаще раза в 10–15 минут и храните data_freshness как метку последней синхронизации.

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

Для получения уведомлений об изменении статуса рейса настройте вебхук через /v1/webhooks. API пришлёт POST на ваш URL при каждом изменении статуса.

Подробнее — в документации.


Запросить доступ к API →