Status
FlightPowers status: what we check, and what came back
Three records, each with its date: a probe that calls the MCP servers several times a day, read live from its public GitHub Actions log; the nightly tests RapidAPI runs against the live listings; and the service level RapidAPI shows on each listing. No SLA comes with the public plans. This page is the record instead.
Record 1
MCP uptime probe
A public GitHub Actions workflow sends an MCP initialize request to two deployments: the paid one that serves flights.flightpowers.com and hotels.flightpowers.com, and the free one at free-trial.flightpowers.com, each reached at an alias hostname of the same deployment. A run passes when both answer 200 with server info. It is scheduled every 30 minutes; GitHub queues scheduled runs, so it runs less often than that, and the count below is what actually ran.
All 18 probe runs between 2026-09-08 and 2026-10-07 passed.
Last run: 2026-09-11 04:25 UTC, passed. Page read the log at 2026-10-07 14:47 UTC and reads it again at most once an hour.
One bar per UTC day: green when every run that day passed, red when one failed, grey when none ran. GitHub ran the probe 1 to 7 times a day in this window.
What a pass proves: the server is up and its MCP session layer answers. What it does not prove: that a fare or a room rate came back. The search tests below send real searches.
Record 2
Nightly API tests on RapidAPI
8 RapidAPI Testing tests across our listings, among them one-way and round-trip flight searches, hotel lookups by ID and by name, and a health check on each listing, run every night against the live listings. Each test sends a real request to the live API and checks the answer. Dates are those of the nightly result mail.
| Night | Green | Note |
|---|---|---|
| 2026-10-05 | 7 of 8 | Hotel by ID passed 4 of its 5 runs; one hit a 30-second client timeout at 22:39 UTC. |
| 2026-10-04 | 8 of 8 | |
| 2026-10-03 | 8 of 8 | |
| 2026-10-02 | 8 of 8 | |
| 2026-10-01 | 8 of 8 | |
| 2026-09-30 | 8 of 8 | |
| 2026-09-29 | 8 of 8 | |
| 2026-09-28 | 8 of 8 |
Record 3
What RapidAPI measures on each listing
RapidAPI computes these and prints them on each listing. We copy them as shown, read on 2026-10-06 06:39 UTC.
| Listing | Service level | Success | Latency |
|---|---|---|---|
| Google Flights Live API | 99% | 99% | 1,152 ms |
| Booking Live API | 98% | 97% | 8,800 ms |
A hotel search loads Booking.com live at request time, nothing cached, so set your client timeout well above the hotel latency shown here.
From the person who runs it
How it is built to stay up
Matan Rabi, who builds FlightPowers, described it to a developer on 2026-09-18 as a design with no UI elements in the path, tested on a schedule a few times a day so he notices a break and fixes it right away, that has run a year without a Google break
.
Questions about running real volume? Ask through RapidAPI messaging on either listing. Changes that ship are dated in the changelog.
When a call fails
What each answer means
Copied from the API's own OpenAPI file at build time, so it cannot drift from the spec.
| Code | Flights search | Hotels search |
|---|---|---|
| 200 | A JSON array of itineraries, cheapest patterns first. May be empty: check `X-Search-Status`. | Properties at the destination with total-stay prices, review scores, and booking deep links. |
| 400 | The request body is not a JSON object, or a field failed validation. | The request body is not a JSON object, or a field failed validation (e.g. sending `location` instead of `destination`). |
| 401 | No API key supplied, or the key is malformed. | No API key supplied, or the key is malformed. |
| 403 | The key is not subscribed to the Google Flights Live API on RapidAPI. | The key is not subscribed to the Booking Live API on RapidAPI. |
| 429 | Your RapidAPI plan quota or rate limit is exhausted. Retrying spends more quota; upgrade instead. | Your RapidAPI plan quota or rate limit is exhausted. |
| 503 | Only with `"strict": true`: the search did not complete (`search_incomplete`). Safe to retry; nothing was booked or changed. | - |
X-Search-Status on a flights 200: How the search went: `ok` (complete results), `empty` (search completed and Google genuinely has no itineraries; the empty array IS the answer), `partial` (results present but part of the search failed), `degraded` (the search did not complete; an empty array says nothing about availability - retry it).
The full spec is at /openapi.json and the guide to it at /docs.