Sân bay API
Tra 12.000 sân bay theo mã IATA / ICAO, tên hoặc thành phố, tìm sân bay gần một toạ độ, tính khoảng cách đường tròn lớn và hướng bay giữa hai sân bay.
/v1/airports/SGN (hoặc iata=, icao=, code=) trả về một sân bay: tên, loại, thành phố, quốc gia, vùng, toạ độ, độ cao, có chuyến bay thường lệ không, các mã và, với sân bay lớn và vừa, các đường băng đang mở (đầu băng, chiều dài, chiều rộng, mặt đường, đèn). q tìm theo tên, thành phố và các tên gọi khác, không cần dấu (saigon ra Tân Sơn Nhất); lọc bằng country, type (large, medium, small, seaplane) và scheduled=true.
lat + lon liệt kê các sân bay gần nhất (mặc định sân bay lớn, vừa và sân bay nhỏ có mã IATA) kèm khoảng cách; from + to trả về khoảng cách đường tròn lớn theo km, dặm và hải lý cùng hướng bay ban đầu và lúc đến.
Dữ liệu: OurAirports (public domain), cập nhật hàng tuần: mọi sân bay lớn và vừa, cùng sân bay nhỏ và bến thuỷ phi cơ có mã IATA hoặc ICAO; bỏ sân bay đã đóng và sân đỗ trực thăng. Khoảng cách tính trên mặt cầu, lệch khoảng 0,5 % so với ellipsoid – đủ cho hiển thị và ước tính, không dùng lập kế hoạch bay.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
code | path | string | không | Mã IATA (3 chữ) hoặc ICAO (4 chữ): /v1/airports/HAN. Hoặc iata=, icao=, code=. | |
q | query | string | không | Tên, thành phố hoặc mã cần tìm. | |
lat | query | number | không | Vĩ độ để tìm sân bay gần nhất (cùng lon). | |
lon | query | number | không | Kinh độ. | |
from | query | string | không | Mã sân bay đi để tính khoảng cách (cùng to). | |
to | query | string | không | Mã sân bay đến. | |
country | query | string | không | Lọc theo mã quốc gia ISO, ví dụ VN. | |
type | query | string | không | large, medium, small, seaplane (phân tách bằng dấu phẩy). | |
scheduled | query | boolean | không | Chỉ sân bay có (true) hoặc không có (false) chuyến bay thường lệ. | |
limit | query | number | không | 10 | Số kết quả (1–50). |
Ví dụ
curl "https://apibox.io.vn/v1/airports?from=SGN&to=NRT" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/airports?from=SGN&to=NRT', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/airports?from=SGN&to=NRT",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/airports?from=SGN&to=NRT');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"from": {
"iata": "SGN",
"icao": "VVTS",
"ident": "VVTS",
"name": "Tan Son Nhat International Airport",
"type": "large_airport",
"municipality": "Ho Chi Minh City",
"country_code": "VN",
"country": "Vietnam",
"region_code": "VN-SE",
"lat": 10.8188,
"lon": 106.652,
"elevation_ft": 33,
"elevation_m": 10,
"scheduled_service": true
},
"to": {
"iata": "NRT",
"icao": "RJAA",
"ident": "RJAA",
"name": "Narita International Airport",
"type": "large_airport",
"municipality": "Narita",
"country_code": "JP",
"country": "Japan",
"region_code": "JP-12",
"lat": 35.76858,
"lon": 140.38871,
"elevation_ft": 141,
"elevation_m": 43,
"scheduled_service": true
},
"distance": {
"km": 4383.7,
"mi": 2723.9,
"nmi": 2367
},
"initial_bearing": 45.2,
"initial_bearing_compass": "NE",
"final_bearing": 59.2,
"method": "great-circle (haversine) distance on a sphere of radius 6371.0088 km; bearings in degrees from true north",
"attribution": "Data: OurAirports (ourairports.com), public domain",
"data_version": "2026-11-11"
}
Ứng dụng
- Ô chọn sân bay có mã IATA trong form đặt vé, du lịch
- Tìm sân bay gần khách sạn hoặc địa điểm sự kiện nhất
- Hiển thị khoảng cách bay giữa hai sân bay để tính dặm thưởng hoặc CO₂
- Kiểm tra chiều dài đường băng khi nhận yêu cầu thuê chuyến
Hỏi đáp
Dữ liệu có được dùng lại tự do không?
Có. OurAirports phát hành dữ liệu vào public domain; ghi nguồn là nên làm nhưng không bắt buộc.
Vì sao không thấy một sân bay nhỏ?
Sân bay nhỏ chỉ được giữ khi có mã IATA hoặc ICAO. Sân đỗ trực thăng và sân bay đã đóng bị loại.
Khoảng cách có phải quãng đường bay thực tế?
Không. Đó là khoảng cách đường tròn lớn ngắn nhất giữa hai sân bay; đường bay thật dài hơn do đường hàng không và thời tiết.
API liên quan
Kiểm tra JSON
Kiểm tra cú pháp JSON, báo đúng dòng và cột bị lỗi, và validate dữ liệu theo JSON Schema (draft 4, 7, 2019-09 hoặc 2020-12).
{ }Định dạng JSON
Làm đẹp JSON với thụt lề 0-8 dấu cách hoặc tab, rút gọn (minify) hoặc sắp xếp key theo bảng chữ cái. Báo lỗi cú pháp kèm dòng và cột.
CSVCSV sang JSON
Chuyển CSV thành mảng object JSON theo dòng tiêu đề, tự nhận dấu phân cách, tự chuyển số và boolean, báo lỗi từng dòng.