Начало работы
SkyLink API продаётся по двум каналам: напрямую у нас (оплата через наш собственный портал) и через маркетплейс RapidAPI. Оба отдают одни и те же данные — различаются только базовый URL и заголовок аутентификации. Вы оформляете подписку (или подаёте заявку на пробный период), копируете ключ и отправляете HTTPS-запросы; каждый ответ приходит в формате JSON.
Выберите канал
Выберите тот, через который вы совершили покупку. Все базовые URL, заголовки и примеры кода в этой документации следуют этому переключателю, а ваш выбор запоминается на всех страницах.
| Direct API | RapidAPI | |
|---|---|---|
| Базовый URL | https://data.skylinkapi.com + /v3.1, /v3 или /v2 | https://skylink-api.p.rapidapi.com (без сегмента версии) |
| Аутентификация | x-api-key | X-RapidAPI-Key и X-RapidAPI-Host |
| Где купить | наша страница оплаты | страница на RapidAPI |
| Оплата | Polar (merchant of record) | RapidAPI |
Шаг 1 — оформите подписку и получите учётные данные
FREE Trial
FREE Trial (1000 запросов в месяц) не оформляется самостоятельно. Подайте заявку на FREE Trial SkyLink API — заявки рассматриваются еженедельно; большинство команд получают ответ в течение 3–5 рабочих дней.
Платные тарифы
- Откройте страницу оплаты SkyLink API и выберите Basic или Pro с ежемесячной или ежегодной оплатой (сравнить тарифы).
- После оплаты ваш лицензионный ключ отображается на странице подтверждения и отправляется вам по электронной почте; он всегда доступен в вашем клиентском портале Polar.
Каждый аутентифицированный запрос содержит один заголовок:
| Заголовок | Значение |
|---|---|
x-api-key | Ваш лицензионный ключ |
Заголовок — единственный допустимый способ передачи: ключ никогда не считывается из query-параметра. Отсутствующий или неизвестный ключ возвращает 401.
Версия указывается в пути. https://data.skylinkapi.com/v3.1/... для v3.1, /v3/... и /v2/... для более старых поколений.
Защита ключа
- Никогда не встраивайте ключ в мобильные приложения, браузерный JavaScript или публичные репозитории — он даёт полный доступ к API в рамках квоты вашей подписки.
- Храните его в переменной окружения (например,
SKYLINK_API_KEY) и подставляйте на стороне сервера во время выполнения. - Смените ключ в панели управления оплатой, если он когда-либо был раскрыт.
Публичные эндпоинты (ключ не требуется)
Спецификации OpenAPI и проверка работоспособности upstream-сервиса отдаются с api.skylinkapi.com — отдельно и от хоста данных, и от прокси RapidAPI — и не требуют ключа:
| Эндпоинт | Описание |
|---|---|
GET https://api.skylinkapi.com/health | Проверка работоспособности upstream-сервиса |
GET https://api.skylinkapi.com/v2/openapi.json | Спецификация OpenAPI v2 |
GET https://api.skylinkapi.com/v3/openapi.json | Спецификация OpenAPI v3 |
GET https://api.skylinkapi.com/v3.1/openapi.json | Спецификация OpenAPI v3.1 |
Важно: вызов /health или / на хосте данных возвращает 404. Используйте api.skylinkapi.com только для спецификаций без аутентификации и проверок работоспособности.
Шаг 2 — отправьте первый запрос
https://data.skylinkapi.com/v3.1/weather/metar/{icao}Пример: ?parsed=true для /weather/metar/KJFK.
Заголовки: Шаг 1.
import osimport requestsBASE_URL = "https://data.skylinkapi.com/v3.1"HEADERS = { "x-api-key": os.getenv( "SKYLINK_API_KEY", os.getenv("SKYLINK_API_KEY", os.getenv("SKYLINK_API_KEY", "YOUR_API_KEY")), )}def get_metar(icao: str, parsed: bool = True) -> dict: r = requests.get( f"{BASE_URL}/weather/metar/{icao}", headers=HEADERS, params={"parsed": str(parsed).lower()}, timeout=(10, 15), ) r.raise_for_status() return r.json()if __name__ == "__main__": import json data = get_metar("KJFK") print(json.dumps(data, indent=2, default=str))Официальные SDK
Предпочитаете типизированный клиент вместо «сырого» HTTP? Оба официальных SDK опубликованы под именем skylink-api, оборачивают одни и те же эндпоинты, считывают ваш ключ из окружения и возвращают типизированные модели.
| Язык | Реестр | Установка |
|---|---|---|
| Python | PyPI → skylink-api | pip install skylink-api |
| TypeScript | npm → skylink-api | npm install skylink-api |
from skylink_api import SkyLink
with SkyLink() as sky:
metar = sky.weather.metar("KJFK")
traffic = sky.adsb.aircraft(lat=51.47, lon=-0.46, radius=75)
status = sky.flight_status("BA117")import { SkyLink } from "skylink-api";
// Direct channel — omit `provider` to use RapidAPI, the SDK's default.
const sky = new SkyLink({ provider: "direct", apiKey: process.env.SKYLINK_API_KEY });
const metar = await sky.weather.metar("KJFK", { parsed: true });
const flight = await sky.flightStatus("BA117");Оба канала предоставляют идентичный набор методов — provider определяет лишь базовый URL и то, какие заголовки аутентификации отправляются.
Клиент для Python требует Python 3.10+ и зависит от httpx и pydantic v2. Клиент для TypeScript требует Node 20+ (или любую среду выполнения с глобальным fetch — Bun, Deno, Cloudflare Workers, Vercel Edge), не имеет зависимостей во время выполнения и включает встроенные повторные попытки и учёт квоты. Клиент для TypeScript считывает RAPIDAPI_KEY или SKYLINK_API_KEY из окружения, если ключ не передан явно.
Что вы получаете в ответ
Успешный ответ METAR с parsed=true выглядит так:
{
"raw": "METAR KJFK 062251Z 24017G23KT 10SM FEW060 FEW075 SCT110 BKN180 BKN250 28/17 A2974 RMK AO2 SLP072 T02830167 $",
"icao": "KJFK",
"airport_name": "John F. Kennedy International Airport",
"timestamp": "2026-06-06T23:09:37Z",
"parsed": {
"time": "2026-06-07T00:51:00+02:00",
"wind": { "direction": 240, "speed": 17, "gust": 23, "variable": [] },
"visibility": { "value": 10, "repr": "10" },
"flight_rules": "VFR",
"temperature": 28,
"dewpoint": 17,
"altimeter": 29.74
}
}parsed.flight_rules — это категория полётных условий, определяемая по высоте нижней границы облаков и видимости: VFR (правила визуальных полётов), MVFR (пограничные VFR), IFR (правила полётов по приборам) или LIFR (низкие IFR). Полные таблицы полей и правила допустимости значения null: справочник по METAR.
При parsed=false (или если параметр не указан) ключ parsed отсутствует — вы получаете только raw, icao, airport_name и timestamp.
Дальнейшие шаги
- Справочник API v3.1 — полный перечень эндпоинтов (начните отсюда)
- Обработка ошибок — формат ошибок, коды статуса, правила повторных попыток
- Ограничения частоты запросов — тарифы, заголовки квоты, уровни путей исторических данных ADS-B
- Справочник API v3 — стабильная версия
- Справочник API v2 — устаревшая версия
- Python SDK · TypeScript SDK — типизированные клиенты
Введение
Документация SkyLink API: авиаданные по REST через HTTPS — напрямую или через RapidAPI. Погода, аэропорты, рейсы, ADS-B, карты, оповещения и руководства для v2, v3 и v3.1.
Обработка ошибок
HTTP-ошибки SkyLink на уровне всей платформы — форматы ошибок авторизации и API, валидация, повторные попытки и заголовки квот.