Skip to content

// docs

123Milhas: Search flights

Extracts flight offers from 123Milhas by origin/destination airport, dates and passengers. API returns all itineraries for each group and preserves direct or stopover flight segments in structured JSON.

123milhas.com:plp · 5 credits per request

Standard credit cost. Your account pricing is shown in the sandbox.

Try this operation in the sandbox

Source-specific limitations

Some requests can take up to 1 minute to respond. This is expected for this operation; wait for the request to complete.

HTTP request

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "target": "123milhas.com",
  "type": "plp",
  "from": "GRU",
  "to": "SSA",
  "departureDate": "2026-06-15",
  "returnDate": "2026-06-20",
  "numAdults": 1,
  "numChildren": 0,
  "numInfants": 0
}'

Keep your API key on your server. See the quickstart for authentication and response handling.

MCP request

The hosted MCP tool fixes target and type for this operation. Its remaining arguments use the same input rules as Extract.

POST /v1/mcp · Bearer or X-API-Key authentication

api_123milhas_com_plp · tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "api_123milhas_com_plp",
    "arguments": {
      "from": "GRU",
      "to": "SSA",
      "departureDate": "2026-06-15",
      "returnDate": "2026-06-20",
      "numAdults": 1,
      "numChildren": 0,
      "numInfants": 0,
      "executionId": "exec_example_123"
    }
  }
}

Supported inputs

Conditional fields depend on the alternatives and constraints in the rule column. Fields marked unsupported are omitted.

FieldTypeRequirementRuleDefaultExample
from
Code IATA of the airport of origin for searching PLP of Decolar, GOL, Azul, LATAM, Trip.com, KAYAK, MaxMilhas and 123Milhas.
string (IATA 3 letters) Required Code IATA of the airport of origin with letters 3 (ex: GRU). - GRU
to
Destination airport code IATA for search PLP of Decolar, GOL, Azul, LATAM, Trip.com, KAYAK, MaxMilhas and 123Milhas.
string (IATA 3 letters) Required Code IATA of the destination airport with letters 3 (ex: SSA). - SSA
departureDate
Departure date for searching PLP from ClickBus, Decolar, GOL, Azul, LATAM, Trip.com, KAYAK, MaxMilhas and 123Milhas.
string (YYYY-MM-DD) Required Departure date in YYYY-MM-DD format. - 2026-06-15
returnDate
Optional return date for PLP search of ClickBus, Decolar, GOL, Azul, LATAM, Trip.com, KAYAK, MaxMilhas, and 123Milhas.
string (YYYY-MM-DD) Optional Return date in YYYY-MM-DD format. Must be greater than or equal to departureDate. When omitted, the search is one-way. - 2026-06-20
target
Target source for extraction.
enum Required Always required and must be 123milhas.com. - 123milhas.com
type
Extraction type: pdp, idp, plp, ilp, quote, review or places.
enum Required Always required and must be plp. - plp
numAdults
Quantity of adults for Booking, Airbnb, Hoteis.com, Trivago, Decolar, GOL, Azul, LATAM and Trip.com.
integer (1-30) Optional Number of adults. Must be an integer between 1 and 9. 1 1
numChildren
Number of children for Booking, Hoteis.com, Trivago, Decolar, GOL, Azul, LATAM and Trip.com.
integer (0-30) Optional Number of children. Must be an integer between 0 and 9. 0 0
numInfants
Number of babies for GOL, Azul, LATAM and Trip.com PLP. It must be less than or equal to the number of adults.
integer (0-9) Optional Number of babies in arms. Must be an integer between 0 and 9 and less than or equal to numAdults. 0 0

Request examples

Search 123Milhas - round trip

Round-trip search on 123Milhas with origin, destination, dates and passengers.

Search 123Milhas - round trip
{
  "target": "123milhas.com",
  "type": "plp",
  "from": "GRU",
  "to": "SSA",
  "departureDate": "2026-06-15",
  "returnDate": "2026-06-20",
  "numAdults": 1,
  "numChildren": 0,
  "numInfants": 0
}

Search 123Milhas - one-way

One-way search informing only departureDate.

Search 123Milhas - one-way
{
  "target": "123milhas.com",
  "type": "plp",
  "from": "CGH",
  "to": "SDU",
  "departureDate": "2026-07-10",
  "numAdults": 2,
  "numChildren": 0,
  "numInfants": 0
}

Response schema

Leaf paths and expected types. Field names and enum values are part of the API contract.

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "data.source": "string",
  "data.type": "string",
  "data.parser": "\"1.0.0\"",
  "data.url": "string",
  "data.requestUrl": "string",
  "data.authUrl": "string",
  "data.searchPageUrl": "string",
  "data.extractedAt": "string (iso datetime)",
  "data.searchType": "string (ONE_WAY | ROUND_TRIP)",
  "data.from": "string",
  "data.to": "string",
  "data.departureDate": "string (YYYY-MM-DD)",
  "data.returnDate": "string | null",
  "data.numAdults": "number",
  "data.numChildren": "number",
  "data.numInfants": "number",
  "data.classService": "number",
  "data.searchId": "string | number | null",
  "data.allowPix": "boolean | null",
  "data.allowBillet": "boolean | null",
  "data.success": "boolean",
  "data.totalFlights": "number",
  "data.totalGroups": "number",
  "data.listedOffers": "number",
  "data.cheapestOffer.position": "number",
  "data.cheapestOffer.groupId": "string | number | null",
  "data.cheapestOffer.totalPrice": "number | null",
  "data.cheapestOffer.basePrice": "number | null",
  "data.cheapestOffer.emission": "number | null",
  "data.cheapestOffer.partner": "boolean",
  "data.cheapestOffer.source": "string | null",
  "data.cheapestOffer.outboundOptions": "number",
  "data.cheapestOffer.inboundOptions": "number",
  "data.cheapestOffer.outbound.id": "string",
  "data.cheapestOffer.outbound.airline": "string | null",
  "data.cheapestOffer.outbound.flightNumber": "string | null",
  "data.cheapestOffer.outbound.route": "string | null",
  "data.cheapestOffer.outbound.departureTime": "string | null",
  "data.cheapestOffer.outbound.arrivalTime": "string | null",
  "data.cheapestOffer.outbound.durationText": "string | null",
  "data.cheapestOffer.outbound.stops": "number | null",
  "data.cheapestOffer.outbound.stopsText": "string | null",
  "data.cheapestOffer.outbound.ourPrice": "number | null",
  "data.cheapestOffer.outbound.totalPrice": "number | null",
  "data.cheapestOffer.outbound.airlinePrice": "number | null",
  "data.cheapestOffer.outbound.tax": "number | null",
  "data.cheapestOffer.outbound.luggageQuantity": "number | null",
  "data.cheapestOffer.outbound.segments": "array",
  "data.cheapestOffer.inbound.id": "string",
  "data.cheapestOffer.inbound.airline": "string | null",
  "data.cheapestOffer.inbound.flightNumber": "string | null",
  "data.cheapestOffer.inbound.route": "string | null",
  "data.cheapestOffer.inbound.departureTime": "string | null",
  "data.cheapestOffer.inbound.arrivalTime": "string | null",
  "data.cheapestOffer.inbound.durationText": "string | null",
  "data.cheapestOffer.inbound.stops": "number | null",
  "data.cheapestOffer.inbound.stopsText": "string | null",
  "data.cheapestOffer.inbound.ourPrice": "number | null",
  "data.cheapestOffer.inbound.totalPrice": "number | null",
  "data.cheapestOffer.inbound.airlinePrice": "number | null",
  "data.cheapestOffer.inbound.tax": "number | null",
  "data.cheapestOffer.inbound.luggageQuantity": "number | null",
  "data.cheapestOffer.inbound.segments": "array",
  "data.cheapestOffer.outboundItineraries": "array",
  "data.cheapestOffer.inboundItineraries": "array",
  "data.offers[].position": "number",
  "data.offers[].groupId": "string | number | null",
  "data.offers[].totalPrice": "number | null",
  "data.offers[].basePrice": "number | null",
  "data.offers[].emission": "number | null",
  "data.offers[].partner": "boolean",
  "data.offers[].source": "string | null",
  "data.offers[].outboundOptions": "number",
  "data.offers[].inboundOptions": "number",
  "data.offers[].outbound.id": "string",
  "data.offers[].outbound.airline": "string | null",
  "data.offers[].outbound.flightNumber": "string | null",
  "data.offers[].outbound.route": "string | null",
  "data.offers[].outbound.departureTime": "string | null",
  "data.offers[].outbound.arrivalTime": "string | null",
  "data.offers[].outbound.durationText": "string | null",
  "data.offers[].outbound.stops": "number | null",
  "data.offers[].outbound.stopsText": "string | null",
  "data.offers[].outbound.ourPrice": "number | null",
  "data.offers[].outbound.totalPrice": "number | null",
  "data.offers[].outbound.airlinePrice": "number | null",
  "data.offers[].outbound.tax": "number | null",
  "data.offers[].outbound.luggageQuantity": "number | null",
  "data.offers[].outbound.segments": "array",
  "data.offers[].inbound.id": "string",
  "data.offers[].inbound.airline": "string | null",
  "data.offers[].inbound.flightNumber": "string | null",
  "data.offers[].inbound.route": "string | null",
  "data.offers[].inbound.departureTime": "string | null",
  "data.offers[].inbound.arrivalTime": "string | null",
  "data.offers[].inbound.durationText": "string | null",
  "data.offers[].inbound.stops": "number | null",
  "data.offers[].inbound.stopsText": "string | null",
  "data.offers[].inbound.ourPrice": "number | null",
  "data.offers[].inbound.totalPrice": "number | null",
  "data.offers[].inbound.airlinePrice": "number | null",
  "data.offers[].inbound.tax": "number | null",
  "data.offers[].inbound.luggageQuantity": "number | null",
  "data.offers[].inbound.segments": "array",
  "data.offers[].outboundItineraries": "array",
  "data.offers[].inboundItineraries": "array"
}

Example response

Illustrative response. Product names, reviews and other source content retain their original language. Missing and null values do not imply zero stock, free shipping or zero reviews.

responseExample
{
  "requestId": "99999999-1111-4111-8111-999999999999",
  "executionId": "99999999-2222-4222-8222-999999999999",
  "data": {
    "source": "123milhas.com",
    "type": "plp",
    "parser": "1.0.0",
    "url": "https://123milhas.com/v2/busca?de=GRU&para=SSA&ida=2026-06-15&volta=2026-06-20&adultos=1&criancas=0&bebes=0&classe=3",
    "requestUrl": "https://123milhas.com/v2/busca?de=GRU&para=SSA&ida=2026-06-15&volta=2026-06-20&adultos=1&criancas=0&bebes=0&classe=3",
    "authUrl": "https://123milhas.com/api/v3/client/auth",
    "searchPageUrl": "https://123milhas.com/v2/busca?de=GRU&para=SSA&ida=2026-06-15&volta=2026-06-20&adultos=1&criancas=0&bebes=0&classe=3",
    "extractedAt": "2026-05-16T20:00:00.000Z",
    "searchType": "ROUND_TRIP",
    "from": "GRU",
    "to": "SSA",
    "departureDate": "2026-06-15",
    "returnDate": "2026-06-20",
    "numAdults": 1,
    "numChildren": 0,
    "numInfants": 0,
    "classService": 3,
    "searchId": 2252111877,
    "allowPix": true,
    "allowBillet": false,
    "success": true,
    "totalFlights": 122,
    "totalGroups": 38,
    "listedOffers": 2,
    "cheapestOffer": {
      "position": 1,
      "groupId": 103,
      "totalPrice": 820.36,
      "basePrice": 729,
      "emission": 5,
      "partner": false,
      "source": "123MILHAS",
      "outboundOptions": 1,
      "inboundOptions": 1,
      "outbound": {
        "id": "outbound-103-1",
        "airline": "G3",
        "flightNumber": "G3 1234 / G3 1236",
        "route": "GRU-GIG-SSA",
        "departureTime": "2026-06-15T08:20:00",
        "arrivalTime": "2026-06-15T10:40:00",
        "durationText": "2h20m",
        "stops": 1,
        "stopsText": "1 parada",
        "ourPrice": 390.18,
        "totalPrice": 410.18,
        "airlinePrice": 360,
        "tax": 50.18,
        "luggageQuantity": 0,
        "segments": [
          {
            "position": 1,
            "id": "segment-103-out-1",
            "airline": "G3",
            "operatingAirline": "GOL",
            "flightNumber": "G3 1234",
            "origin": "GRU",
            "destination": "GIG",
            "departure": "2026-06-15T08:20:00",
            "arrival": "2026-06-15T09:15:00",
            "durationText": "00:55",
            "cabin": "ECONOMIC",
            "technicalStops": 0
          },
          {
            "position": 2,
            "id": "segment-103-out-2",
            "airline": "G3",
            "operatingAirline": "GOL",
            "flightNumber": "G3 1236",
            "origin": "GIG",
            "destination": "SSA",
            "departure": "2026-06-15T09:45:00",
            "arrival": "2026-06-15T10:40:00",
            "durationText": "00:55",
            "layoverDurationText": "00:30",
            "cabin": "ECONOMIC",
            "technicalStops": 0
          }
        ]
      },
      "inbound": {
        "id": "inbound-103-1",
        "airline": "G3",
        "flightNumber": "G3 4321",
        "route": "SSA-GRU",
        "departureTime": "2026-06-20T18:10:00",
        "arrivalTime": "2026-06-20T20:35:00",
        "durationText": "2h25m",
        "stops": 0,
        "stopsText": "Direto",
        "ourPrice": 380.18,
        "totalPrice": 410.18,
        "airlinePrice": 360,
        "tax": 50.18,
        "luggageQuantity": 0,
        "segments": [
          {
            "position": 1,
            "id": "segment-103-in-1",
            "airline": "G3",
            "operatingAirline": "GOL",
            "flightNumber": "G3 4321",
            "origin": "SSA",
            "destination": "GRU",
            "departure": "2026-06-20T18:10:00",
            "arrival": "2026-06-20T20:35:00",
            "durationText": "02:25",
            "cabin": "ECONOMIC",
            "technicalStops": 0
          }
        ]
      },
      "outboundItineraries": [
        {
          "id": "outbound-103-1",
          "route": "GRU-GIG-SSA",
          "stops": 1,
          "segments": [
            {
              "position": 1,
              "flightNumber": "G3 1234",
              "origin": "GRU",
              "destination": "GIG"
            },
            {
              "position": 2,
              "flightNumber": "G3 1236",
              "origin": "GIG",
              "destination": "SSA",
              "layoverDurationText": "00:30"
            }
          ]
        }
      ],
      "inboundItineraries": [
        {
          "id": "inbound-103-1",
          "route": "SSA-GRU",
          "stops": 0,
          "segments": [
            {
              "position": 1,
              "flightNumber": "G3 4321",
              "origin": "SSA",
              "destination": "GRU"
            }
          ]
        }
      ]
    },
    "offers": [
      {
        "position": 1,
        "groupId": 103,
        "totalPrice": 820.36,
        "basePrice": 729,
        "emission": 5,
        "partner": false,
        "source": "123MILHAS",
        "outboundOptions": 1,
        "inboundOptions": 1,
        "outbound": {
          "id": "outbound-103-1",
          "airline": "G3",
          "flightNumber": "G3 1234 / G3 1236",
          "route": "GRU-GIG-SSA",
          "departureTime": "2026-06-15T08:20:00",
          "arrivalTime": "2026-06-15T10:40:00",
          "durationText": "2h20m",
          "stops": 1,
          "stopsText": "1 parada",
          "ourPrice": 390.18,
          "totalPrice": 410.18,
          "airlinePrice": 360,
          "tax": 50.18,
          "luggageQuantity": 0,
          "segments": [
            {
              "position": 1,
              "id": "segment-103-out-1",
              "airline": "G3",
              "operatingAirline": "GOL",
              "flightNumber": "G3 1234",
              "origin": "GRU",
              "destination": "GIG",
              "departure": "2026-06-15T08:20:00",
              "arrival": "2026-06-15T09:15:00",
              "durationText": "00:55",
              "cabin": "ECONOMIC",
              "technicalStops": 0
            },
            {
              "position": 2,
              "id": "segment-103-out-2",
              "airline": "G3",
              "operatingAirline": "GOL",
              "flightNumber": "G3 1236",
              "origin": "GIG",
              "destination": "SSA",
              "departure": "2026-06-15T09:45:00",
              "arrival": "2026-06-15T10:40:00",
              "durationText": "00:55",
              "layoverDurationText": "00:30",
              "cabin": "ECONOMIC",
              "technicalStops": 0
            }
          ]
        },
        "inbound": {
          "id": "inbound-103-1",
          "airline": "G3",
          "flightNumber": "G3 4321",
          "route": "SSA-GRU",
          "departureTime": "2026-06-20T18:10:00",
          "arrivalTime": "2026-06-20T20:35:00",
          "durationText": "2h25m",
          "stops": 0,
          "stopsText": "Direto",
          "ourPrice": 380.18,
          "totalPrice": 410.18,
          "airlinePrice": 360,
          "tax": 50.18,
          "luggageQuantity": 0,
          "segments": [
            {
              "position": 1,
              "id": "segment-103-in-1",
              "airline": "G3",
              "operatingAirline": "GOL",
              "flightNumber": "G3 4321",
              "origin": "SSA",
              "destination": "GRU",
              "departure": "2026-06-20T18:10:00",
              "arrival": "2026-06-20T20:35:00",
              "durationText": "02:25",
              "cabin": "ECONOMIC",
              "technicalStops": 0
            }
          ]
        },
        "outboundItineraries": [
          {
            "id": "outbound-103-1",
            "route": "GRU-GIG-SSA",
            "stops": 1,
            "segments": [
              {
                "position": 1,
                "flightNumber": "G3 1234",
                "origin": "GRU",
                "destination": "GIG"
              },
              {
                "position": 2,
                "flightNumber": "G3 1236",
                "origin": "GIG",
                "destination": "SSA",
                "layoverDurationText": "00:30"
              }
            ]
          }
        ],
        "inboundItineraries": [
          {
            "id": "inbound-103-1",
            "route": "SSA-GRU",
            "stops": 0,
            "segments": [
              {
                "position": 1,
                "flightNumber": "G3 4321",
                "origin": "SSA",
                "destination": "GRU"
              }
            ]
          }
        ]
      },
      {
        "position": 2,
        "groupId": 104,
        "totalPrice": 899.5,
        "basePrice": 810,
        "emission": 5,
        "partner": false,
        "source": "123MILHAS",
        "outboundOptions": 1,
        "inboundOptions": 1,
        "outbound": {
          "id": "outbound-104-1",
          "airline": "LA",
          "flightNumber": "LA 3000",
          "route": "GRU-SSA",
          "departureTime": "2026-06-15T12:00:00",
          "arrivalTime": "2026-06-15T14:25:00",
          "durationText": "2h25m",
          "stops": 0,
          "stopsText": "Direto",
          "ourPrice": 424.75,
          "totalPrice": 449.75,
          "airlinePrice": 395,
          "tax": 54.75,
          "luggageQuantity": 0,
          "segments": [
            {
              "position": 1,
              "id": "segment-104-out-1",
              "airline": "LA",
              "operatingAirline": "LATAM",
              "flightNumber": "LA 3000",
              "origin": "GRU",
              "destination": "SSA",
              "departure": "2026-06-15T12:00:00",
              "arrival": "2026-06-15T14:25:00",
              "durationText": "02:25",
              "cabin": "ECONOMIC",
              "technicalStops": 0
            }
          ]
        },
        "inbound": {
          "id": "inbound-104-1",
          "airline": "LA",
          "flightNumber": "LA 3001",
          "route": "SSA-GRU",
          "departureTime": "2026-06-20T21:15:00",
          "arrivalTime": "2026-06-20T23:40:00",
          "durationText": "2h25m",
          "stops": 0,
          "stopsText": "Direto",
          "ourPrice": 424.75,
          "totalPrice": 449.75,
          "airlinePrice": 395,
          "tax": 54.75,
          "luggageQuantity": 0,
          "segments": [
            {
              "position": 1,
              "id": "segment-104-in-1",
              "airline": "LA",
              "operatingAirline": "LATAM",
              "flightNumber": "LA 3001",
              "origin": "SSA",
              "destination": "GRU",
              "departure": "2026-06-20T21:15:00",
              "arrival": "2026-06-20T23:40:00",
              "durationText": "02:25",
              "cabin": "ECONOMIC",
              "technicalStops": 0
            }
          ]
        },
        "outboundItineraries": [
          {
            "id": "outbound-104-1",
            "route": "GRU-SSA",
            "stops": 0,
            "segments": [
              {
                "position": 1,
                "flightNumber": "LA 3000",
                "origin": "GRU",
                "destination": "SSA"
              }
            ]
          }
        ],
        "inboundItineraries": [
          {
            "id": "inbound-104-1",
            "route": "SSA-GRU",
            "stops": 0,
            "segments": [
              {
                "position": 1,
                "flightNumber": "LA 3001",
                "origin": "SSA",
                "destination": "GRU"
              }
            ]
          }
        ]
      }
    ]
  }
}

Complete field reference

PathTypeDescriptionExample
data.allowBillet boolean | null Indicates whether the result accepts a bill. false
data.allowPix boolean | null Indicates whether the result accepts payment via Pix. true
data.authUrl string Client auth authentication endpoint used before searching. https://123milhas.com/api/v3/client/auth
data.cheapestOffer.basePrice number | null Base price of the cheapest offer. 729
data.cheapestOffer.emission number | null Issuance value returned for the cheapest offer. 5
data.cheapestOffer.groupId string | number | null Identifier of the cheapest offer group. 103
data.cheapestOffer.inbound.airline string | null Return flight company. G3
data.cheapestOffer.inbound.airlinePrice number | null Company price for the return flight. 360
data.cheapestOffer.inbound.arrivalTime string | null Return flight arrival time. 2026-06-20T20:35:00
data.cheapestOffer.inbound.departureTime string | null Return flight departure time. 2026-06-20T18:10:00
data.cheapestOffer.inbound.durationText string | null Formatted duration of the return flight. 2h25m
data.cheapestOffer.inbound.flightNumber string | null Return flight number. G3 4321
data.cheapestOffer.inbound.id string Identifier of the group's first return flight. inbound-103-1
data.cheapestOffer.inbound.luggageQuantity number | null Quantity of checked baggage for the return flight. 0
data.cheapestOffer.inbound.ourPrice number | null Standardized own price on the return flight. 380.18
data.cheapestOffer.inbound.route string | null Consolidated route of the return flight. SSA-GRU
data.cheapestOffer.inbound.segments array Complete sections of the first return itinerary, including connections. [{"position":1,"id":"segment-103-in-1","airline":"G3","operatingAirline":"GOL","flightNumber":"G3 4321","origin":"SSA","destination":"GRU","departure":"2026-06-20T18:10:00","arrival":"2026-06-20T20:35:00","durationText":"02:25","cabin":"ECONOMIC","technicalStops":0}]
data.cheapestOffer.inbound.stops number | null Number of connections/stops on the return flight. 0
data.cheapestOffer.inbound.stopsText string | null Schedule text returned for the return flight. Direto
data.cheapestOffer.inbound.tax number | null Return flight fees. 50.18
data.cheapestOffer.inbound.totalPrice number | null Normalized total price for the return flight. 410.18
data.cheapestOffer.inboundItineraries array All group return itinerary options; each item has the flight summary and the complete array segments. [{"id":"inbound-103-1","route":"SSA-GRU","stops":0,"segments":[{"position":1,"flightNumber":"G3 4321","origin":"SSA","destination":"GRU"}]}]
data.cheapestOffer.inboundOptions number Number of options back in this group. 1
data.cheapestOffer.outbound.airline string | null Outgoing flight company. G3
data.cheapestOffer.outbound.airlinePrice number | null Company price for the outbound flight. 360
data.cheapestOffer.outbound.arrivalTime string | null Outbound flight arrival time. 2026-06-15T10:40:00
data.cheapestOffer.outbound.departureTime string | null Departure time of the outbound flight. 2026-06-15T08:20:00
data.cheapestOffer.outbound.durationText string | null Formatted duration of the outbound flight. 2h20m
data.cheapestOffer.outbound.flightNumber string | null Outbound flight number. G3 1234 / G3 1236
data.cheapestOffer.outbound.id string Identifier of the group's first outbound flight. outbound-103-1
data.cheapestOffer.outbound.luggageQuantity number | null Quantity of checked baggage for the outbound flight. 0
data.cheapestOffer.outbound.ourPrice number | null Standardized own price for the outbound flight. 390.18
data.cheapestOffer.outbound.route string | null Consolidated route of the outbound flight. GRU-GIG-SSA
data.cheapestOffer.outbound.segments array Complete sections of the first outward itinerary, with flight, airports, times, duration, cabin, operating company and connection time. [{"position":1,"id":"segment-103-out-1","airline":"G3","operatingAirline":"GOL","flightNumber":"G3 1234","origin":"GRU","destination":"GIG","departure":"2026-06-15T08:20:00","arrival":"2026-06-15T09:15:00","durationText":"00:55","cabin":"ECONOMIC","technicalStops":0},{"position":2,"id":"segment-103-out-2","airline":"G3","operatingAirline":"GOL","flightNumber":"G3 1236","origin":"GIG","destination":"SSA","departure":"2026-06-15T09:45:00","arrival":"2026-06-15T10:40:00","durationText":"00:55","layoverDurationText":"00:30","cabin":"ECONOMIC","technicalStops":0}]
data.cheapestOffer.outbound.stops number | null Number of connections/stops on the outbound flight. 1
data.cheapestOffer.outbound.stopsText string | null Schedule text returned for the outbound flight. 1 parada
data.cheapestOffer.outbound.tax number | null Outbound flight fees. 50.18
data.cheapestOffer.outbound.totalPrice number | null Normalized total price for the outbound flight. 410.18
data.cheapestOffer.outboundItineraries array All group outbound itinerary options; each item has the flight summary and the complete array segments. [{"id":"outbound-103-1","route":"GRU-GIG-SSA","stops":1,"segments":[{"position":1,"flightNumber":"G3 1234","origin":"GRU","destination":"GIG"},{"position":2,"flightNumber":"G3 1236","origin":"GIG","destination":"SSA","layoverDurationText":"00:30"}]}]
data.cheapestOffer.outboundOptions number Number of one-way options in this group. 1
data.cheapestOffer.partner boolean Indicates whether the group is a partner offer. false
data.cheapestOffer.position number Position of the cheapest offer after sorting by lowest price. 1
data.cheapestOffer.source string | null Source or conventional company associated with the group. 123MILHAS
data.cheapestOffer.totalPrice number | null Total price of the cheapest offer. 820.36
data.classService number Class of service sent to the 123Milhas endpoint. 3
data.departureDate string (YYYY-MM-DD) Requested departure date. 2026-06-15
data.extractedAt string (iso datetime) Extraction Timestamp ISO on UTC. 2026-05-16T20:00:00.000Z
data.from string Airport of origin. GRU
data.listedOffers number Number of offers returned in array offers. 2
data.numAdults number Number of adults sent to the search. 1
data.numChildren number Number of children sent to the search. 0
data.numInfants number Number of babies sent to the search. 0
data.offers[].basePrice number | null Standardized base price of the offer. 729
data.offers[].emission number | null Issue value returned for the offer. 5
data.offers[].groupId string | number | null Offer group identifier. 103
data.offers[].inbound.airline string | null Return flight company. G3
data.offers[].inbound.airlinePrice number | null Company price for the return flight. 360
data.offers[].inbound.arrivalTime string | null Return flight arrival time. 2026-06-20T20:35:00
data.offers[].inbound.departureTime string | null Return flight departure time. 2026-06-20T18:10:00
data.offers[].inbound.durationText string | null Formatted duration of the return flight. 2h25m
data.offers[].inbound.flightNumber string | null Return flight number. G3 4321
data.offers[].inbound.id string Identifier of the group's first return flight. inbound-103-1
data.offers[].inbound.luggageQuantity number | null Quantity of checked baggage for the return flight. 0
data.offers[].inbound.ourPrice number | null Standardized own price on the return flight. 380.18
data.offers[].inbound.route string | null Consolidated route of the return flight. SSA-GRU
data.offers[].inbound.segments array Complete excerpts of the first return itinerary, in the same format as outbound.segments. [{"position":1,"id":"segment-103-in-1","airline":"G3","operatingAirline":"GOL","flightNumber":"G3 4321","origin":"SSA","destination":"GRU","departure":"2026-06-20T18:10:00","arrival":"2026-06-20T20:35:00","durationText":"02:25","cabin":"ECONOMIC","technicalStops":0}]
data.offers[].inbound.stops number | null Number of connections/stops on the return flight. 0
data.offers[].inbound.stopsText string | null Schedule text returned for the return flight. Direto
data.offers[].inbound.tax number | null Return flight fees. 50.18
data.offers[].inbound.totalPrice number | null Normalized total price for the return flight. 410.18
data.offers[].inboundItineraries array All options for the group's return itinerary, without discarding alternatives; each item includes segments. [{"id":"inbound-103-1","route":"SSA-GRU","stops":0,"segments":[{"position":1,"flightNumber":"G3 4321","origin":"SSA","destination":"GRU"}]}]
data.offers[].inboundOptions number Number of options back in this group. 1
data.offers[].outbound.airline string | null Outgoing flight company. G3
data.offers[].outbound.airlinePrice number | null Company price for the outbound flight. 360
data.offers[].outbound.arrivalTime string | null Outbound flight arrival time. 2026-06-15T10:40:00
data.offers[].outbound.departureTime string | null Departure time of the outbound flight. 2026-06-15T08:20:00
data.offers[].outbound.durationText string | null Formatted duration of the outbound flight. 2h20m
data.offers[].outbound.flightNumber string | null Outbound flight number. G3 1234 / G3 1236
data.offers[].outbound.id string Identifier of the group's first outbound flight. outbound-103-1
data.offers[].outbound.luggageQuantity number | null Quantity of checked baggage for the outbound flight. 0
data.offers[].outbound.ourPrice number | null Standardized own price for the outbound flight. 390.18
data.offers[].outbound.route string | null Consolidated route of the outbound flight. GRU-GIG-SSA
data.offers[].outbound.segments array Complete sections of the first outward route. Each segment informs position, id, airline, operatingAirline, flightNumber, origin, destination, departure, arrival, durationText, layoverDurationText, cabin and technicalStops. [{"position":1,"id":"segment-103-out-1","airline":"G3","operatingAirline":"GOL","flightNumber":"G3 1234","origin":"GRU","destination":"GIG","departure":"2026-06-15T08:20:00","arrival":"2026-06-15T09:15:00","durationText":"00:55","cabin":"ECONOMIC","technicalStops":0},{"position":2,"id":"segment-103-out-2","airline":"G3","operatingAirline":"GOL","flightNumber":"G3 1236","origin":"GIG","destination":"SSA","departure":"2026-06-15T09:45:00","arrival":"2026-06-15T10:40:00","durationText":"00:55","layoverDurationText":"00:30","cabin":"ECONOMIC","technicalStops":0}]
data.offers[].outbound.stops number | null Number of connections/stops on the outbound flight. 1
data.offers[].outbound.stopsText string | null Schedule text returned for the outbound flight. 1 parada
data.offers[].outbound.tax number | null Outbound flight fees. 50.18
data.offers[].outbound.totalPrice number | null Normalized total price for the outbound flight. 410.18
data.offers[].outboundItineraries array All options for the group's outbound itinerary, without discarding alternatives; each item includes segments. [{"id":"outbound-103-1","route":"GRU-GIG-SSA","stops":1,"segments":[{"position":1,"flightNumber":"G3 1234","origin":"GRU","destination":"GIG"},{"position":2,"flightNumber":"G3 1236","origin":"GIG","destination":"SSA","layoverDurationText":"00:30"}]}]
data.offers[].outboundOptions number Number of one-way options in this group. 1
data.offers[].partner boolean Indicates whether the group is a partner offer. false
data.offers[].position number Position of the offer after sorting by lowest price. 1
data.offers[].source string | null Source or conventional company associated with the group. 123MILHAS
data.offers[].totalPrice number | null Normalized total offer price. 820.36
data.parser "1.0.0" Stable version of the API response format. 1.0.0
data.requestUrl string Same value as `data.url`; never exposes the queried internal endpoint. https://123milhas.com/v2/busca?de=GRU&para=SSA&ida=2026-06-15&volta=2026-06-20&adultos=1&criancas=0&bebes=0&classe=3
data.returnDate string | null Requested return date when available. 2026-06-20
data.searchId string | number | null Search identifier returned by 123Milhas. 2252111877
data.searchPageUrl string Public page used to capture apiSecret and browserId. https://123milhas.com/v2/busca?de=GRU&para=SSA&ida=2026-06-15&volta=2026-06-20&adultos=1&criancas=0&bebes=0&classe=3
data.searchType string (ONE_WAY | ROUND_TRIP) Search type: ONE_WAY or ROUND_TRIP. ROUND_TRIP
data.source string Logic source executed. 123milhas.com
data.success boolean Indicates whether at least one offer has been normalized. true
data.to string Destination airport. SSA
data.totalFlights number Total number of flights available in the upstream payload. 122
data.totalGroups number Total number of offer groups returned. 38
data.type string Logical type of API. plp
data.url string URL canonical /v2/busca assembled from the sent fields. https://123milhas.com/v2/busca?de=GRU&para=SSA&ida=2026-06-15&volta=2026-06-20&adultos=1&criancas=0&bebes=0&classe=3
executionId string (uuid) Idempotent identifier of the execution. 99999999-2222-4222-8222-999999999999
requestId string (uuid) Request identifier in GeckoAPI. 99999999-1111-4111-8111-999999999999

Errors and missing data

When supported by this operation, an entity not found upstream can return HTTP 200 with data: null and notFound: true. Check the documented response fields before interpreting an empty result. Source-specific behavior and exceptions are described above.

HTTP statusError codeMeaning
400INVALID_PAYLOADInvalid JSON or a request that violates the documented validation rules.
401UNAUTHORIZEDMissing authorization or an invalid API key or token.
402INSUFFICIENT_CREDITSThe account has insufficient credits for this operation.
403FORBIDDENThe account does not have access, or the API is temporarily disabled.
409EXECUTION_CONFLICTThe execution identifier conflicts with an incompatible execution state.
429RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTSA rate limit or simultaneous request limit was exceeded.
5xxUPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_FUNCTION_ERRORAn upstream, worker or gateway failure. Failed requests follow the platform refund policy.