# BRIJ Flight Search

> BRIJ Flight Search is a paid API for AI agents from travel.brij.fi, paid per call via x402, $0.1/call, status unknown (last checked 2026-09-15).

Search for available one-way flights between two airports on a given date, returning a list of fare offers with pricing and timing details.

## Facts

- Endpoint: POST https://travel.brij.fi/air/search
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402, shopping
- Canonical page: https://www.zero.xyz/c/brij-flight-search-0e921506
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_SBiiGf-7eh4GKgokHbbQW

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability brij-flight-search-0e921506 -d '<json body>'
```

Example prompt: Find me available flights from Madrid (MAD) to Lisbon (LIS) on June 10, 2026 for 2 adults — show me the options with prices and departure times.

## When to prefer this

Use this endpoint when you need to search one-way flight availability and pricing between two IATA-coded airports on a specific date, and your client supports x402 micropayment headers or BRIJ-sponsored preview calls. Prefer this over generic travel APIs when you need real-time fare offers with price guarantees and atomic pricing data suitable for programmatic booking flows.

## Known failure modes

- 402 Payment Required — no valid PAYMENT-SIGNATURE header provided; response includes current price challenge (may be higher than cached price due to load multiplier up to 50×)
- 400 Bad Request — missing required fields (origin_iata, destination_iata, or depart_date), or IATA codes not exactly 3 characters
- No offers returned — no flights available for the requested route/date combination
- Stale price signature — price has changed due to load since client last fetched 402 challenge; must re-fetch current price before signing
- Upstream rate limit — search load surcharge applies for next 5 minutes after upstream provider rate-limits

## How this service works

Flight search can be paid with x402 or sponsored by the BRIJ gateway.

For direct x402 clients, send a valid `PAYMENT-SIGNATURE` header. Without
payment, the API returns `402 Payment Required` carrying the **current** price.

For BRIJ Wallet preview calls, the gateway may send `X-BRIJ-SPONSORED-*`
headers. Providers should treat that as a BRIJ-sponsored preview, not as a
user-paid x402 settlement.

Base x402 price is 0.10 USDC. The price is multiplied (up to 50×) by the
current search load: completed searches in the last 60 seconds and
any upstream rate-limit response in the last 5 minutes. Always read
the latest `PAYMENT-REQUIRED` challenge before signing - the price
your client saw a moment ago may already be stale.


## Output

Returns a search object containing a request_id and an array of flight offers. Each offer includes the offer ID, airline name (owner_name), origin and destination IATA codes, departure and arrival datetimes, total fare in both atomic integer and decimal string formats, currency code, offer expiry, price guarantee expiry, payment deadline, passenger IDs, and a flag indicating whether instant payment is required.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "origin_iata",
  "destination_iata",
  "depart_date"
 ],
 "properties": {
  "adults": {
   "type": "integer",
   "default": 1,
   "minimum": 1
  },
  "depart_date": {
   "type": "string",
   "format": "date",
   "example": "2026-06-10"
  },
  "origin_iata": {
   "type": "string",
   "example": "MAD",
   "maxLength": 3,
   "minLength": 3
  },
  "destination_iata": {
   "type": "string",
   "example": "LIS",
   "maxLength": 3,
   "minLength": 3
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "search"
 ],
 "properties": {
  "search": {
   "type": "object",
   "required": [
    "request_id",
    "offers"
   ],
   "properties": {
    "offers": {
     "type": "array",
     "items": {
      "type": "object",
      "required": [
       "id",
       "owner_name",
       "origin_iata",
       "destination_iata",
       "departing_at",
       "arriving_at",
       "total_amount",
       "total_amount_decimal",
       "total_currency",
       "requires_instant_payment"
      ],
      "properties": {
       "id": {
        "type": "string",
        "example": "off_0000B5xGbDG4ifAoeDTtG9"
       },
       "expires_at": {
        "type": "string",
        "format": "date-time"
       },
       "owner_name": {
        "type": "string",
        "example": "Air Europa"
       },
       "arriving_at": {
        "type": "string",
        "format": "date-time"
       },
       "origin_iata": {
        "type": "string",
        "example": "MAD"
       },
       "departing_at": {
        "type": "string",
        "format": "date-time"
       },
       "total_amount": {
        "type": "integer",
        "format": "int64",
        "example": 67600000,
        "description": "Atomic amount used by the API for money comparisons."
       },
       "passenger_ids": {
        "type": "array",
        "items": {
         "type": "string"
        }
       },
       "total_currency": {
        "type": "string",
        "example": "USD"
       },
       "destination_iata": {
        "type": "string",
        "example": "LIS"
       },
       "payment_required_by": {
        "type": "string",
        "format": "date-time"
       },
       "total_amount_decimal": {
        "type": "string",
        "example": "67.60"
       },
       "requires_instant_payment": {
        "type": "boolean"
       },
       "price_guarantee_expires_at": {
        "type": "string",
        "format": "date-time"
       }
      }
     }
    },
    "request_id": {
     "type": "string",
     "example": "orq_0000B5xGbA4yXTVomvGU2G"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/brij-flight-search-0e921506/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from travel.brij.fi](https://www.zero.xyz/host/travel.brij.fi/llms.txt)
