You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Amadeus API无法返回实际存在的直飞航班问题求助

排查Amadeus API直飞航班查询无结果的问题

1. 核对API核心参数配置

Amadeus用于航班搜索的常用端点是/v2/shopping/flight-offers,先确认关键参数是否正确设置:

  • 必须添加nonStop=true参数,这是筛选直飞航班的核心开关,漏加或设为false都会返回中转航班,甚至因参数缺失导致结果异常
  • 日期格式2024-03-02符合要求,但要注意API是否以出发地当地时间作为日期判断标准,部分跨时区航线可能存在日期边界问题
  • 机场代码BUD、LHR都是标准IATA码,确认无拼写错误

2. 验证航空公司数据权限

Amadeus API的航班数据覆盖和Skyscanner不同,英国航空的航班可能不在你的API套餐权限内:

  • 先去掉nonStop=true参数发起请求,如果能返回含英航的中转航班,说明该航线在API内容库中,但直飞权限可能受限;如果完全没有英航数据,大概率是你的API密钥未获取该航司的授权
  • 检查Amadeus开发者后台的套餐说明,确认是否包含英国航空的航班数据

3. 对比标准Python请求示例

如果你的代码存在参数遗漏,参考以下正确请求模板排查:

import requests

url = "https://test.api.amadeus.com/v2/shopping/flight-offers"
headers = {
    "Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
params = {
    "originLocationCode": "BUD",
    "destinationLocationCode": "LHR",
    "departureDate": "2024-03-02",
    "adults": 1,  # 必填参数,缺失可能导致结果为空
    "nonStop": "true",
    "currencyCode": "EUR"
}

response = requests.get(url, headers=headers, params=params)
print(response.json())

重点确认代码中是否包含nonStop=true,以及adults这类必填参数是否正确赋值。

4. 考虑测试环境数据限制

Amadeus测试环境(test.api.amadeus.com)的航班数据是模拟或部分脱敏的,很多真实运营的航班不会在测试环境中展示:

  • 切换到生产环境(api.amadeus.com,需正式API密钥)重新查询,大概率能获取到真实的英航直飞航班
  • 查看Amadeus测试环境文档,确认其数据覆盖范围的限制说明

5. 排查日期边界问题

部分凌晨起飞的航班可能存在日期判断偏差:

  • 比如某航班UTC时间为2024-03-01 23:55从BUD起飞,对应布达佩斯当地时间是2024-03-02,若API以UTC时间判断日期,会归类到前一天,可尝试扩大日期范围(同时查询2024-03-01和2024-03-02)验证

内容的提问来源于stack exchange,提问作者hunsnowboarder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 15:15:01