Skip to content

Integrations · REST

One POST, flat JSON, no SDK

api.flightpowers.com is the API on our own domain: 6 endpoints for flights and hotels, a verify endpoint for your key, and an OpenAPI spec. The key from RapidAPI works here unchanged.

Free tier on RapidAPI. No card to try.

your first call
curl -X POST "https://api.flightpowers.com/v1/flights/oneway" \
  -H "x-api-key: $RAPIDAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"from_airport":"LHR","to_airport":"JFK","departure_date":"2026-10-13"}'

The surface

6 endpoints, plus one to check your key

All POST with a JSON body, except the verify endpoint. Full parameters in the docs and openapi.json.

POST /v1/flights/onewayflights

One-way fares with Google's price band, the low | typical | high verdict, and a buy_link on every result.

POST /v1/flights/roundtripflights

Paired-leg round-trip itineraries: one object per option with both legs matched and a combined total_price.

POST /v1/hotels/searchhotels

Destination search over live Booking.com rates. The destination field is required: it takes free text like “Paris” or “Tokyo Shibuya”.

POST /v1/hotels/by-namehotels

Availability and price for one property by the name a human would type, resolution included. proxy_country prices it from any market.

POST /v1/hotels/roomshotels

The full room list for one property: room type, meal plan, guest capacity, and price per room.

POST /v1/hotels/resolvehotels

Turns a hotel name into its Booking.com ID. Cache the ID and hit the rooms endpoint directly on every later check.

GET /v1/verifyutility

Checks the key you send and reports which header carried it plus your plan's quota and remainder. The smoke-test for a fresh integration.

Auth

Three headers, one key

Send your RapidAPI key as x-rapidapi-key, x-api-key, or Authorization: Bearer, whichever your HTTP client makes easiest. Get it wrong and the API tells you exactly what to fix:

keyless request → HTTP 401, verbatim
{
  "error": {
    "type": "missing_api_key",
    "message": "No API key was supplied. Send your RapidAPI key
      as an `x-api-key` header (or `x-rapidapi-key`, or
      `Authorization: Bearer <key>`). Get a key by subscribing
      at https://rapidapi.com/mtnrabi -- a free tier is
      available. Passing the key as `?api_key=` also works but
      is discouraged: keys in URLs end up in server logs and
      browser history."
  }
}

The 401s stay this specific: send a placeholder like YOUR_API_KEY and the response says so by name instead of a bare “unauthorized”. Debugging auth here is reading, not guessing.

Questions, answered plainly

Do I need a different key for this host?
No. The same RapidAPI key you get from either listing authenticates here, and usage meters against the same subscription. api.flightpowers.com is a front on our own domain, not a separate product.
Which auth header should I use?
Any of the three: x-rapidapi-key, x-api-key, or Authorization: Bearer <key>. They are equivalent. A key in the query string (?api_key=) works too but is discouraged: keys in URLs end up in server logs and browser history, as the API’s own 401 message puts it.
Why call this host instead of the RapidAPI host?
A stable own-domain base URL with an OpenAPI spec at a fixed path, and no x-rapidapi-host header to set. The RapidAPI host works exactly as documented on the listings; this one is the same API surface addressed directly. Pick one and stay consistent.
What does GET /v1/verify do?
It checks the key you send and answers with which header it found the key in and your plan’s request quota and remainder. Its 401s are specific (a placeholder like YOUR_API_KEY is called out by name), which makes it the endpoint to smoke-test your setup against. The key checker on the pricing page uses it.
Where is the full parameter reference?
The interactive docs at api.flightpowers.com/docs and the machine-readable spec at /openapi.json, both generated from the same API. The listing READMEs on RapidAPI carry the same reference with response examples.

The first call is a curl paste away

Get a key, paste the one-liner above, and read a real fare with Google's own verdict attached, before you write a line of application code.

Free tier: 10 requests/month. No card to try.