mirrored listing x402 solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp

Flight search

Flight search

Do you run travel.brij.fi? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
100000 (raw units)
price
15
calls / 30d
3
unique payers
2026-09-17
updated

Provider

travel.brij.fi · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "payTo": "4WvcrHiCTLEqWod3PeW3iFfjmJFsCbprQfkeNb2Rq59b",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "100000",
    "maxTimeoutSeconds": 60
  }
]

Output schema

{
  "bazaar": {
    "info": {
      "input": {
        "body": {
          "adults": 1,
          "cabin_class": "economy",
          "depart_date": "2026-06-10",
          "destination_iata": "LIS",
          "origin_iata": "MAD"
        },
        "bodyType": "json",
        "method": "POST",
        "type": "http"
      },
      "output": {
        "example": {
          "search": {
            "offers": [
              {
                "arriving_at": "2026-08-02T21:10:00",
                "base_amount_decimal": "65.00",
                "cabin_class": "economy",
                "cabin_class_marketing_name": "ECONOMY",
                "carry_on_bags_included": 1,
                "checked_bags_included": 1,
                "comparison_key": "cmp_abc123",
                "conditions": {
                  "change_allowed": true,
                  "change_penalty_amount": "0",
                  "change_penalty_currency": "USD",
                  "refund_allowed": false
                },
                "departing_at": "2026-08-02T14:42:00",
                "destination_iata": "LIS",
                "destination_time_zone": "Europe/Lisbon",
                "duration": "PT1H15M",
                "fare_brand_name": "Flexible Balearic",
                "id": "off_0000000000000000000000",
                "identity_documents_required": false,
                "origin_iata": "MAD",
                "origin_time_zone": "Europe/Madrid",
                "owner_name": "Iberia",
                "segments": [
                  {
                    "arriving_at": "2026-08-02T17:44:00",
                    "carrier_name": "Iberia",
                    "departing_at": "2026-08-02T14:42:00",
                    "destination_iata": "MXP",
                    "flight_number": "1953",
                    "origin_iata": "MAD"
                  },
                  {
                    "arriving_at": "2026-08-02T21:10:00",
                    "carrier_name": "Iberia",
                    "departing_at": "2026-08-02T19:28:00",
                    "destination_iata": "LIS",
                    "flight_number": "1430",
                    "origin_iata": "MXP"
                  }
                ],
                "stops": 1,
                "tax_amount_decimal": "24.50",
                "technical_stops": 0,
                "total_amount": 216950000,
                "total_amount_decimal": "216.95",
                "total_currency": "USD",
                "total_emissions_kg": "21"
              }
            ],
            "request_id": "orq_0000000000000000000000"
          }
        },
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "body": {
              "properties": {
                "adults": {
                  "description": "1 to 9. The offer is priced for this many travellers and /air/book must supply exactly this many passengers, lead first.",
                  "maximum": 9,
                  "minimum": 1,
                  "type": "integer"
                },
                "cabin_class": {
                  "description": "Optional, defaults to economy.",
                  "enum": [
                    "economy",
                    "premium_economy",
                    "business",
                    "first"
                  ],
                  "type": "string"
                },
                "cheapest_per_itinerary": {
                  "description": "Optional. Collapse each physical itinerary (comparison_key) to its cheapest fare; fare_options_count reports how many fares were folded. Drill into a finalist with POST /air/offer-details.",
                  "type": "boolean"
                },
                "depart_date": {
                  "format": "date",
                  "type": "string"
                },
                "departure_after": {
                  "description": "Optional. Outbound departs at or after this local time (HH:MM).",
                  "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
                  "type": "string"
                },
                "departure_before": {
                  "description": "Optional. Outbound departs at or before this local time (HH:MM). Combine both for a window: afternoon = after 12:00 before 18:00.",
                  "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
                  "type": "string"
                },
                "destination_iata": {
                  "description": "Destination IATA code.",
                  "type": "string"
                },
                "limit": {
                  "description": "Optional. Cap the number of offers returned, cheapest first. Full responses can exceed 300 KB — LLM agents should combine this with cheapest_per_itinerary.",
                  "minimum": 1,
                  "type": "integer"
                },
                "max_price": {
                  "description": "Optional decimal cap on total_amount, e.g. \"250.00\".",
                  "type": "string"
                },
                "max_stops": {
                  "description": "Optional. Maximum plane changes per direction; 0 = direct only.",
                  "minimum": 0,
                  "type": "integer"
                },
                "origin_iata": {
                  "description": "Origin IATA code.",
                  "type": "string"
                },
                "return_date": {
                  "description": "Optional. Adds the inbound (destination back to origin); round-trip offers book both directions in one /air/book.",
                  "format": "date",
                  "type": "string"
                },
                "sort": {
                  "description": "Optional ordering, ascending. Default price.",
                  "enum": [
                    "price",
                    "duration",
                    "departure",
                    "emissions"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "origin_iata",
                "destination_iata",
                "depart_date",
                "adults"
              ],
              "type": "object"
            },
            "bodyType": {
              "enum": [
                "json",
                "form-data",
                "text"
              ],
              "type": "string"
            },
            "method": {
              "enum": [
                "POST"
              ],
              "type": "string"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}

Use it

curl

curl "https://travel.brij.fi/air/search"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://travel.brij.fi/air/search");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://travel.brij.fi/air/search")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/13024.json, and this resource appears in /discovery/resources and /discovery/search.