StableTravel
GET stabletravel.dev/api/google-flights/search
Why an agent can trust this route.
Sonar evidence is advisory. Paid delivery is shown as verified only when paid probes are available; otherwise route estimates use the unpaid handshake as a clearly labeled proxy.
Observed outcomes
Search Google Flights for flight offers. Returns best flights, other flights, price insights, and airport info.
Resource: stabletravel.dev/api/google-flights/search
Network: eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 · Pay to: 0xDd257723b86B4947483905cdAcBbBC70fACF2ec0
Payment methods: — · Last validation: 2026-09-13 23:06:39.745+00
{
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"departure_id",
"arrival_id",
"outbound_date",
"type",
"adults",
"children",
"infants_in_seat",
"infants_on_lap",
"currency",
"hl"
],
"properties": {
"gl": {
"type": "string",
"description": "Country code for localization"
},
"hl": {
"type": "string",
"default": "en",
"description": "Language code"
},
"type": {
"enum": [
"1",
"2",
"3"
],
"type": "string",
"default": "1",
"description": "1 = Round trip, 2 = One way, 3 = Multi-city"
},
"stops": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "string",
"description": "0 = Any, 1 = Nonstop only, 2 = Up to 1 stop, 3 = Up to 2 stops"
},
"adults": {
"type": "integer",
"default": 1,
"maximum": 9,
"minimum": 1
},
"children": {
"type": "integer",
"default": 0,
"maximum": 9,
"minimum": 0
},
"currency": {
"type": "string",
"default": "USD",
"maxLength": 3,
"minLength": 3,
"description": "Currency code"
},
"max_price": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Max price in local currency",
"exclusiveMinimum": 0
},
"arrival_id": {
"type": "string",
"description": "Arrival airport code (IATA), city, or kgmid. Comma-separated for multi-city."
},
"return_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Return date (required for round trip)"
},
"departure_id": {
"type": "string",
"description": "Departure airport code (IATA), city, or kgmid. Comma-separated for multi-city."
},
"travel_class": {
"enum": [
"1",
"2",
"3",
"4"
],
"type": "string",
"description": "1 = Economy, 2 = Premium economy, 3 = Business, 4 = First"
},
"outbound_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Departure date"
},
"infants_on_lap": {
"type": "integer",
"default": 0,
"maximum": 9,
"minimum": 0
},
"infants_in_seat": {
"type": "integer",
"default": 0,
"maximum": 9,
"minimum": 0
},
"exclude_airlines": {
"type": "string",
"description": "Comma-separated airline codes to exclude"
},
"include_airlines": {
"type": "string",
"description": "Comma-separated airline codes to include"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"airports": {
"type": "array",
"items": {
"type": "object",
"properties": {
"arrival": {
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"image": {
"type": "string"
},
"airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"country": {
"type": "string"
},
"thumbnail": {
"type": "string"
},
"country_code": {
"type": "string"
}
},
"additionalProperties": false
}
},
"departure": {
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"image": {
"type": "string"
},
"airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"country": {
"type": "string"
},
"thumbnail": {
"type": "string"
},
"country_code": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
},
"best_flights": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"price": {
"type": "number"
},
"flights": {
"type": "array",
"items": {
"type": "object",
"properties": {
"airline": {
"type": "string"
},
"legroom": {
"type": "string"
},
"airplane": {
"type": "string"
},
"duration": {
"type": "number"
},
"overnight": {
"type": "boolean"
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
},
"airline_logo": {
"type": "string"
},
"travel_class": {
"type": "string"
},
"flight_number": {
"type": "string"
},
"arrival_airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"departure_airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"often_delayed_by_over_30_min": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"layovers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"duration": {
"type": "number"
},
"overnight": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
},
"airline_logo": {
"type": "string"
},
"total_duration": {
"type": "number"
},
"departure_token": {
"type": "string"
},
"carbon_emissions": {
"type": "object",
"properties": {
"this_flight": {
"type": "number"
},
"difference_percent": {
"type": "number"
},
"typical_for_this_route": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"other_flights": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"price": {
"type": "number"
},
"flights": {
"type": "array",
"items": {
"type": "object",
"properties": {
"airline": {
"type": "string"
},
"legroom": {
"type": "string"
},
"airplane": {
"type": "string"
},
"duration": {
"type": "number"
},
"overnight": {
"type": "boolean"
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
},
"airline_logo": {
"type": "string"
},
"travel_class": {
"type": "string"
},
"flight_number": {
"type": "string"
},
"arrival_airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"departure_airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"often_delayed_by_over_30_min": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"layovers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"duration": {
"type": "number"
},
"overnight": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
},
"airline_logo": {
"type": "string"
},
"total_duration": {
"type": "number"
},
"departure_token": {
"type": "string"
},
"carbon_emissions": {
"type": "object",
"properties": {
"this_flight": {
"type": "number"
},
"difference_percent": {
"type": "number"
},
"typical_for_this_route": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"price_insights": {
"type": "object",
"properties": {
"price_level": {
"type": "string"
},
"lowest_price": {
"type": "number"
},
"price_history": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
}
}
},
"typical_price_range": {
"type": "array",
"items": {
"type": "number"
}
}
},
"additionalProperties": false
},
"search_metadata": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string"
},
"created_at": {
"type": "string"
},
"processed_at": {
"type": "string"
},
"json_endpoint": {
"type": "string"
},
"total_time_taken": {
"type": "number"
},
"google_flights_url": {
"type": "string"
}
},
"additionalProperties": false
},
"search_parameters": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}
}
},
"paymentRequirements": [
{
"raw": {
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xDd257723b86B4947483905cdAcBbBC70fACF2ec0",
"amount": "20000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0xDd257723b86B4947483905cdAcBbBC70fACF2ec0",
"scheme": "exact",
"network": "eip155:8453",
"amountAtomic": "20000"
},
{
"raw": {
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww",
"recentBlockhash": "8YKgiY5CGoNQrEnXPoPSwaw522tUcvq1kqFScnJLcQ5b",
"lastValidBlockHeight": "424844754"
},
"payTo": "6u5LMGQC2qk9peNibahmRWxGVXrBypk8nhTCcqtiuqMY",
"amount": "20000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
},
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"payTo": "6u5LMGQC2qk9peNibahmRWxGVXrBypk8nhTCcqtiuqMY",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"amountAtomic": "20000"
}
]
}Source catalog records are retained separately from live endpoint observations. Sonar score, uptime, and latency are advisory metrics. CDP indexing is not inferred from validation.