---
title: "Search for flights"
method: POST
path: "/flights/search"
---

# Search for flights

`POST /flights/search`

## Request

- Base URL: `https://api.tellandgo.com/api/v1/agent`
- URL: `https://api.tellandgo.com/api/v1/agent/flights/search`
- Auth: API key in header `X-API-Key`

Search available flights by origin, destination, dates, and passengers.
Supports IATA codes or city/country names for origin and destination.

## Request body

- FlightSearchRequest
  - `origin` string, required: Origin airport IATA code or city/country name
  - `destination` string, required: Destination airport IATA code or city/country name
  - `departure_date` string, date, required: Departure date (YYYY-MM-DD)
  - `return_date` string, date: Return date for round trips (YYYY-MM-DD)
  - `passengers` object[], required: List of passengers with type
    - `type` 'adult' | 'child' | 'infant_without_seat'
  - `cabin_class` 'economy' | 'premium_economy' | 'business' | 'first': Preferred cabin class

## Response `200`

Flight search results

- FlightSearchResponse
  - `success` boolean
  - `flights` FlightResult[]
    - `offer_id` string: Unique offer ID (use for quoting)
    - `airline` object
      - `name` string
      - `iata_code` string
      - `logo_url` string, uri
    - `slices` FlightSlice[]
      - `origin` string: Origin IATA code
      - `destination` string: Destination IATA code
      - `duration` string: Duration in ISO 8601 format
      - `segments` FlightSegment[]
        - `carrier` string: Airline name
        - `carrier_code` string: IATA airline code
        - `flight_number` string
        - `origin` string
        - `destination` string
        - `departure_time` string, date-time
        - `arrival_time` string, date-time
        - `cabin_class` string
    - `price` object
      - `total` number
      - `currency` string
    - `cabin_class` string
    - `passengers` object[]
      - `type` string
      - `count` integer
    - `seats_remaining` integer
    - `conditions` object
      - `refundable` boolean
      - `changeable` boolean
    - `expires_at` string, date-time
  - `search_id` string, nullable
  - `meta` object
    - `origin` string
    - `destination` string
    - `message` string
    - `result_count` integer

## Other responses

- `400`: Invalid request
- `401`: Authentication required or invalid
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/tellandgo/apis/tell-go-travel-agent-api.md) · [All operations](https://skmtc.dev/tellandgo/apis/tell-go-travel-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tellandgo/apis/tell-go-travel-agent-api/revisions/3d84f816eb4f?raw)
