LetsFG Python SDK教程:pip install letsfg,从搜索到拿到PNR的完整实战

发布时间:2026/10/7 14:26:32

LetsFG Python SDK教程:pip install letsfg,从搜索到拿到PNR的完整实战 LetsFG Python SDK教程pip install letsfg从搜索到拿到PNR的完整实战【免费下载链接】LetsFGAgent-native flight hotel search and booking — MCP server, CLI, and Python/JS SDKs. Every airline in the world, major booking sites and OTAs, with per-flight reliability history.项目地址: https://gitcode.com/gh_mirrors/le/LetsFGLetsFG Python SDK 让你用一行pip install letsfg就能调用全球所有航司与主流订票网站免费搜索真实机票价格一路预订到拿到航空公司的 PNR。本教程面向新手带你从安装、获取令牌、搜索、筛选结果到最终出票完整走通整个流程无需任何爬虫经验。为什么选择 LetsFG Python SDK大多数机票工具要么只能查一个站点要么价格会因为你搜了几次而悄悄上涨。LetsFG 不一样覆盖全一次搜索同时查遍全球航空公司与主流 OTA返回一个总价你看到的价格就是最终扣款的价格没有隐藏手续费。价格稳定不跟踪、不涨价同一搜索反复运行结果一致。能真出票不只是比价还能真正预订——票价先在你的卡上锁定hold由 LetsFG 预订代理向卖家买票只有拿到真实航空 PNR 后才扣款预订失败则自动释放一分不扣。核心逻辑源码在 sdk/python/letsfg/client.py数据模型在 sdk/python/letsfg/models.py官方 README 见 sdk/python/README.md。一键安装pip install letsfg整个安装只需一条命令安装后即可使用命令行letsfg和 Python 包pip install letsfg官方入门文档在 docs/getting-started.md可直接查看快速上手与常见坑位。获取访问令牌一次性配置LetsFG 的搜索是免费的前提是先做一次一次性绑定绑卡不扣款卡信息交由 Revolut 处理不会传给 LetsFG。推荐用命令行一条命令完成letsfg auth它会打开浏览器让你在连接页面确认成功后把令牌写入~/.letsfg/config.json。SDK 会自动从LETSFG_BEARER_TOKEN环境变量或该配置文件里读取令牌之后无需再管。令牌约 1 小时过期内置 30 天刷新令牌会自动续期长驻进程无需手动处理。认证实现见 sdk/python/letsfg/connectors/auth.py。第一次机票搜索免费用 IATA 机场代码或城市代码如LON、NYC会自动展开该城市所有机场发起搜索from letsfg import LetsFG bt LetsFG() # 自动读取令牌 flights bt.search(LHR, BCN, 2026-06-15) print(flights.total_results, 个结果) print(最便宜:, flights.cheapest.summary())search()会返回一个FlightSearchResult对象常用字段字段含义flights.offers所有报价列表flights.cheapest最便宜的一条报价flights.total_results结果总数flights.search_id搜索 ID预订时必须带上flights.passenger_ids乘客 ID 列表搜索是免费的每张卡 10 次/10 分钟、30 次/小时、100 次/天轮询结果不计入额度。读懂搜索结果与快速筛选每条报价FlightOffer都带有航线、时长、停经次数、航司、退改条件等可直接遍历筛选# 只看直飞 direct [o for o in flights.offers if o.outbound.stopovers 0] # 按飞行时长排序 by_duration sorted(flights.offers, keylambda o: o.outbound.total_duration_seconds) for o in direct[:5]: print(o.price, o.currency, o.owner_airline, o.outbound.route_str)常用搜索参数在search()里传return_date返程日期、adults/children乘客数、cabin_class舱位M经济 /W超级经济 /C公务 /F头等、max_stopovers最大中转次数、sort按price或duration排序。更多字段说明见 docs/api-search.md。预订机票从价格锁定到出票选好报价后调用book()。预订会立刻返回一个订单号真正的买票在后台进行result bt.book( offer_idflights.cheapest.id, search_idflights.search_id, # 必须是产生该报价的那次搜索 passengers[{ given_name: John, family_name: Doe, born_on: 1990-01-15, gender: m, nationality: GB, phone_number: 447700900123, phone_country: GB, address_line1: 1 Analytical Way, address_city: London, address_postal: N1 9GU, address_country: GB, }], contact_emailjohnexample.com, )钱是怎么走的这是最安全的部分book()把票价在你的卡上锁定只是授权不扣款LetsFG 预订代理去卖家处买票约 4–11 分钟只有拿到真实航空 PNR 后才正式扣款若失败锁定自动释放一分不扣。关键同一趟行程在预订进行中不要再发起第二次预订否则会重复锁款。预订接口细节见 docs/api-booking.md。轮询订单状态拿到 PNR预订是异步的需要每 20–30 秒轮询一次直到进入终态。你可以用 SDK 的book_and_wait()一键完成下单 轮询它会自动处理到终态final bt.book_and_wait( offer_idflights.cheapest.id, search_idflights.search_id, passengers[...], # 同上 contact_emailjohnexample.com, ) print(final) # completed 时会带 pnr 与 charged_amount订单状态含义状态含义booking_in_progress代理正在卖家页面下单继续等completed出票成功返回pnr与charged_amountfailed未成功锁款已释放未扣款needs_attention有人在人工核查切勿重复预订常见错误与排查SDK 把所有错误统一为LetsFGError带error_code与is_retryable便于程序化判断异常场景建议BearerTokenError令牌缺失或失效重新执行letsfg authValidationError参数不合法IATA、日期等修正入参后重试OfferExpiredError报价已过期重新搜索再预订LetsFGError可重试限流 / 超时短暂退避后重试from letsfg import LetsFG, LetsFGError from letsfg.connectors.auth import BearerTokenError try: flights bt.search(LHR, JFK, 2026-04-15) except BearerTokenError: print(令牌缺失或已失效请重新运行 letsfg auth)云端搜索首次结果约 8–10 秒返回建议对限流/超时做指数退避重试。完整错误码与重试策略见 sdk/python/letsfg/client.py 与 docs/api-errors.md。进阶技巧与延伸阅读多日期比价搜索免费可对多个日期分别搜索、比较最便宜的一条再只对获胜日期下单避免盲目预订。Starlink 网络报价可能带starlink字段confirmed_all表示该机型已全部配备可放心向用户陈述。完整可运行示例参考 sdk/python/examples/quickstart.py。MCP 方式如果你用 Claude / Cursor / ChatGPT可把 LetsFG 作为 MCP 服务器接入直接对 AI 说帮我订一张最便宜的票。说明本文示例使用免费的 PFSBearer 令牌路径适合个人与 AI 代理register/connect-payment属于独立的付费 Developer API多数个人用户无需使用。按本文步骤你就能用pip install letsfg让脚本或 AI 代理完成搜索 → 筛选 → 预订 → 拿到 PNR的全链路。【免费下载链接】LetsFGAgent-native flight hotel search and booking — MCP server, CLI, and Python/JS SDKs. Every airline in the world, major booking sites and OTAs, with per-flight reliability history.项目地址: https://gitcode.com/gh_mirrors/le/LetsFG创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/7 14:26:32

HuggingFace介绍

HuggingFace是一家技术公司,他拥有一个著名的开源社区,维护了几乎所有Transformer架构的开源模型和一系列强大的开源库和工具,这些开源工作极大地简化了深度学习模型的开发、训练和部署过程。 HuggingFace的社区非常活跃,包括Met…

2026/10/7 14:26:32

TRAE SOLO 模式概览:从入门到实战,把 Base URL 改到 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 15:11:35

基于multisim的简易秒表计时器电路设计

任务3:简易秒表计时器 功能描述: 实现 00-59s 范围内的秒计时功能,采用两位十进制码管,分别显示秒的十位、秒的个位。设置三个独立功能按键:启动按键、暂停按键、复位按键。按下启动按键,秒表从当前数值开始…

2026/10/7 15:11:35

论文省心了!2026年实力出众的专业一键生成论文工具

2026年AI论文写作工具已从“辅助生成”升级为智能学术协作系统,核心评价维度包括文献真实性、格式合规性、长文本逻辑、查重降重、AIGC合规等。本文对市面上6款主流工具进行实测,覆盖中英文、全流程与专项功能、免费与付费版本,让你快速锁定最…

2026/10/7 15:11:35

测了9款AI写论文工具,真正适合学生的只有这一款

为什么要测这9款工具?最近不少同学问我:现在AI写论文工具这么多,到底哪个真的好用?为了帮大家避坑,我花了两周时间,把网上热门的9款AI写作工具都实际体验了一遍,从论文写作的真实需求出发&#…

2026/10/7 15:11:35

http与https学习

HTTP简介HTTP(HyperText Transfer Protocol,超文本传输协议)是一种应用非常广泛的应用层协议。简单来说,当我们在浏览器中输入一个网址(URL),浏览器就会给服务器发送一个HTTP请求,服…

2026/10/7 15:06:35

Spring Boot+Vue人事档案管理系统实战指南

简介:这是一套面向计算机专业本科生的毕业设计级人事档案管理系统实战项目,聚焦Spring Boot后端与Vue前端协同开发,解决中小型企业员工信息数字化管理痛点,适用于课程设计、期末大作业及Java全栈入门实践。资源包共242个文件&…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/7 8:18:33

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

ESP32免重刷固件:浏览器直接修改NVS键值实现WiFi配置更新

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

SAP HANA查询结果导出CSV:避开乱码、性能与权限的实用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

数字后端Placement阶段Density与Congestion控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑