BuildNot yet confirmed elsewhere1 publisher2 min readPublished
Code still calling Amadeus Self-Service is aimed at a test host that no longer resolves
Amadeus disabled its Self-Service API keys on 17 July 2026 and archived its official SDKs the same day. Code failing against test.api.amadeus.com needs a migration, and only the read-only price calls have a drop-in path.
The Engineer · Build desk

What happened
- PhocusWire reported the shutdown plan on 9 February, with new registrations paused first and Amadeus's Enterprise APIs continuing after the cutoff.
- More than 190 GitHub issues and pull requests have mentioned Amadeus Self-Service since February, some removing the Amadeus adapter and others swapping in another API.
- A developer now sells an Apify replacement that takes the old Self-Service parameter names, fetches live Google Flights prices and returns Amadeus-shaped JSON.
- Moving a Python flight search to that replacement leaves the parsing loop as it was, except that response.data becomes response["data"].
Why it matters
- decision There is no upstream fix to wait for, so teams choose between a read-only shim for price lookups and a booking contract with an airline, a consolidator or Amadeus Enterprise.
- cost At the seller's prices a 10-offer search costs $0.008, so Apify's $5 monthly free credit covers about 625 searches before a polling tracker starts paying.
- constraint Fare alerts tuned to old Amadeus price-metrics thresholds will fire on different numbers after migration and need retuning against the new quartiles.
- exposure A migrated tracker now depends on two outside parties: a single developer's Apify actor and Google Flights as the upstream price source.
The post's author, a developer who sells a replacement, wrote that if a project "suddenly can't reach test.api.amadeus.com or gets auth errors, it's not your code." [10] On 2 October that host, the SDK default, had no DNS A record at Google or Cloudflare's resolvers [9]. A client asking for the address gets nothing back. The request fails at name resolution, before any credential leaves the machine [21]. The auth errors match the disabled keys [7].
Amadeus's developer portal says the self-service portal "has been decommissioned on July 17th" [6]. The amadeus-python, amadeus-node and amadeus-java repositories were archived on GitHub that day, along with the Ruby and .NET SDKs [8]. PhocusWire reported the plan on 9 February [7], 158 days before the cutoff [18]. Many of the projects now filing issues are student work that started an Amadeus integration after registrations had closed [22].
The author's shim gets the interface right, and its helper is short. It calls client.actor("kuezi/flight-offers-api").call() with the endpoint and parameters, then reads the "RESPONSE" record from that run's default key-value store [2]. Every Amadeus-style request is a full actor run [2].
The post's JFK-LAX search took 5 seconds [14]. Its cheapest-date call priced 30 dates in 18 seconds [15], about 0.6 seconds a date [20]. Five seconds is slow for a search box and irrelevant to a nightly fare check. These are the seller's numbers, for one route on one day. They transfer if your routes price about as fast through Google Flights and your code uses only the three calls the shim covers [1]. Round trips take a single trip length such as duration=7. Amadeus-style ranges like 1,15 are not supported [4].
Price metrics moved to a different basis. Amadeus built its quartiles from its booking data [17]. For JFK-LAX on 12 November, the shim's price-metrics call returned a minimum of 167.00 and a third quartile of 204.00 [16]. The flight-offers run for the same route and date, capped at max=5, returned five offers, all at 204.00 [14].
I think the shim is a reasonable trade for a hobby tracker that polls on a schedule and only parses offers. I would not put it behind anything that needs a sub-second answer [14].
What to watch
- Whether Amadeus documents a path for former Self-Service users into the Enterprise APIs that PhocusWire reported will continue.
- Whether the seller publishes how the replacement's price-metrics quartiles are built, so they can be compared with Amadeus's booking-data figures.
- Whether GitHub issues mentioning Amadeus Self-Service keep climbing past 190 as dormant student and hobby projects are rerun.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence50
- Adoption25
- Hype gap+25
- Incentives85
- Confidence45
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
The author published Flight Offers API on Apify, covering the same three read-only calls: it takes the Amadeus Self-Service parameter names, fetches live prices from Google Flights, and returns Amadeus-shaped JSON. The author discloses building and selling it.
ReportedSupportedSource: dev.to post author, who sells the product2 sources— create a free account to open themView cited source - [2]
The migration helper calls client.actor("kuezi/flight-offers-api").call(...) with the endpoint and parameters as run input, then reads the "RESPONSE" record from that run's default key-value store.
ReportedSupportedSource: code in the dev.to post2 sources— create a free account to open themView cited source - [3]
After migrating, the parsing loop is unchanged; only response.data becomes response["data"].
ReportedSupportedSource: dev.to post author2 sources— create a free account to open themView cited source - [4]
For round trips the replacement takes one trip length such as duration=7; Amadeus-style ranges like 1,15 aren't supported.
ReportedSupportedSource: dev.to post author2 sources— create a free account to open themView cited source - [5]
Amadeus decommissioned its Self-Service APIs on 17 July 2026.
- [6]
The Amadeus developer portal now says the self-service portal "has been decommissioned on July 17th".
- [7]
PhocusWire reported the plan on 9 February: new registrations paused, then keys disabled from 17 July. Enterprise APIs continue.
- [8]
The official SDKs (amadeus-python, amadeus-node, amadeus-java, Ruby, .NET) were archived on GitHub the same day as the decommissioning.
- [9]
On 2 October, test.api.amadeus.com, the SDK's default host, had no DNS A record at Google or Cloudflare DNS.
- [10]
If your fare tracker, travel bot or class project suddenly can't reach test.api.amadeus.com or gets auth errors, it's not your code.
- [11]
More than 190 GitHub issues and PRs mention Amadeus Self-Service since February; some projects remove their Amadeus adapter (anythingmcp #713), others swap in another API (multi-flight-search #1).
- [12]
For booking (Flight Create Orders, ticketing), none of the replacements help; a booking API from an airline, a consolidator or Amadeus Enterprise is needed.
- [13]
Pricing is pay per use: $0.003 per search plus $0.0005 per saved offer; a Flight Offers Search with 10 offers costs $0.008; Apify's free plan includes $5 of monthly credit, which covers about 600 such searches.
- [14]
A real run on 2 October of a JFK-LAX flight-offers search for 2026-11-12 with max=5 took 5 seconds and returned five offers, all priced 204.00.
- [15]
A cheapest-date run priced 30 dates in 18 seconds; cheapest was $163 on 1 November, priciest $444 on 20 November.
- [16]
The replacement's price-metrics call for JFK-LAX on 2026-11-12 returned MINIMUM 167.00, FIRST 178.00, MEDIUM 178.00, THIRD 204.00, MAXIMUM 215.00.
- [17]
Amadeus built its price-metrics quartiles from its booking data.
- [18]
158 days passed between PhocusWire's 9 February report and the 17 July key cutoff.
- [19]
A 10-offer search costs $0.008, so $5 of monthly credit covers about 625 searches.
- [20]
The cheapest-date run took about 0.6 seconds per date.
- [21]
With no A record for test.api.amadeus.com, a client gets no address to connect to, so the request fails at name resolution before any credential is sent.
- [22]
Many of the affected projects are student projects that started an Amadeus integration after registrations closed.
Sources
1 independent publisher whose own reporting we read for this story.
- dev.toAmadeus Self-Service shut down on July 17. Here's a drop-in replacement for flight prices
1 article · October 3, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
- Travel APIsFollow
- API Deprecation and End-of-LifeFollow