Kiwi.com

HealthyRead-only

Search and compare flights on Kiwi.com — itineraries with live prices, airlines, routes and departure/arrival times, plus location and route discovery. Generated from www.kiwi.com.

Base URL
https://api.maviapi.com/v1/sites/kiwi
3
Endpoints
1226ms
p50 latency
53
Calls / 30d
GET/search

Flight search

Search & compare Kiwi flights between two places — itineraries with prices, airlines, routes and departure/arrival times. Resolves from/to names to Kiwi ids, supports one-way and return trips.

Bearer auth. Pass your key as Authorization: Bearer <key> on every request.
stringRequiredin query

Origin: place name, IATA code or Kiwi id (e.g. 'london', 'LHR', 'City:london_gb').

stringRequiredin query

Destination: place name, IATA code or Kiwi id.

stringOptionalin query

Outbound departure date, YYYY-MM-DD. Defaults to ~30 days out.

stringOptionalin query

Optional inbound date, YYYY-MM-DD. Set it for a round trip; omit for one-way.

integerOptionalin query

Adult passengers (1-9).

integerOptionalin query

Child passengers (0-9).

integerOptionalin query

Infant passengers (0-9).

stringOptionalin query

Cabin class.

stringOptionalin query

Result ordering.

stringOptionalin query

Price currency (ISO code).

integerOptionalin query

Max itineraries per page.

integerOptionalin query

Pagination offset.

dataobject
cachedboolean
sourcestring
paginationobject
Try itLive
GET
https://api.maviapi.com/v1/sites/kiwi/search?from=london&to=istanbul&date=2026-09-10&return_date=2026-09-17&adults=1&children=0&infants=0&cabin=ECONOMY&sort=QUALITY&currency=eur&limit=10&offset=0
Request
curl "https://api.maviapi.com/v1/sites/kiwi/search?from=london&to=istanbul&date=2026-09-10&return_date=2026-09-17&adults=1&children=0&infants=0&cabin=ECONOMY&sort=QUALITY&currency=eur&limit=10&offset=0" \
-H "Authorization: Bearer $MAVI_KEY"
Example1.9 KB
{
  "data": {
    "search": {
      "from": {
        "input": "london",
        "id": "City:london_gb",
        "name": "London",
        "code": "LON"
      },
      "to": {
        "input": "istanbul",
        "id": "City:istanbul_tr",
        "name": "Istanbul",
        "code": "IST"
      },
      "date": "2026-09-10",
      "return_date": null,
      "trip_type": "oneway",
      "passengers": {
        "adults": 1,
        "children": 0,
        "infants": 0
      },
      "cabin": "ECONOMY",
      "sort": "PRICE",
      "currency": "EUR"
    },
    "total": 50,
    "count": 50,
    "itineraries": [
      {
        "id": "ItineraryOneWay:eyJwcm92...",
        "type": "oneway",
        "price": {
          "amount": 71,
          "currency": "EUR"
        },
        "price_eur": 71,
        "duration_seconds": 14400,
        "provider": "Kiwi.com",
        "booking_url": "https://www.kiwi.com/en/booking/?token=...",
        "outbound": {
          "duration_seconds": 14400,
          "stops": 0,
          "segments": [
            {
              "flight_number": null,
              "carrier": null,
              "duration_seconds": null,
              "from": null,
              "to": null
            }
          ],
          "from": {
            "airport": "Gatwick",
            "code": "LGW",
            "city": "London",
            "country": "United Kingdom",
            "local_time": "2026-09-10T13:30:00",
            "utc_time": "2026-09-10T12:30:00"
          },
          "to": {
            "airport": "Istanbul Airport",
            "code": "IST",
            "city": "Istanbul",
            "country": "Turkey",
            "local_time": "2026-09-10T19:30:00",
            "utc_time": "2026-09-10T16:30:00"
          }
        },
        "inbound": null
      }
    ]
  },
  "cached": false,
  "source": "kiwi:graphql",
  "pagination": {
    "total": 50,
    "limit": 50,
    "offset": 0,
    "count": 50,
    "has_more": false
  }
}

Get all the data, no code

Collect every page of GET /search into a dataset, then download it as CSV or JSON. One credit per page; the download is free.