// docs

123Milhas Flights Search

Extrai ofertas de voos da 123Milhas por aeroporto de origem/destino, datas e passageiros. A API abre a busca publica, autentica o fluxo web e consulta o endpoint de flight search, retornando grupos de ofertas e trechos normalizados em JSON estruturado.

Tempo de resposta: Em algumas execuções, esta API pode levar até 1 minuto para responder. Isso é normal para este endpoint. Aguarde a conclusão da requisição.

Nota importante: alguns campos podem retornar null em produção, dependendo da página de origem. Nesta documentação, os exemplos de output são preenchidos intencionalmente com valores não nulos para facilitar integração.

Quando a entidade consultada não existe na origem, o extract e a tool MCP retornam 200 com data: null e notFound: true. Esse caso é tratado como resposta concluída, não como erro de servidor.

Chamada HTTP

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer SUA_CHAVE" \
  -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
}'

Chamada MCP

A mesma seam também aparece no MCP hospedado como uma tool dedicada. Os argumentos reaproveitam os campos do extract, mas target e type já ficam fixos pela tool.

Ver guia completo do MCP

Endpoint

POST /v1/mcp

Tool name

api_123milhas_com_plp

Auth

Bearer ou X-API-Key

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"
    }
  }
}

Possibilidades de input

Campos suportados nesta API do POST /v1/extract, com regras específicas de obrigatoriedade e condicionais.

Campo Tipo Status Regra Default Exemplo
from
Codigo IATA do aeroporto de origem para busca PLP da Decolar, GOL, LATAM, KAYAK, MaxMilhas e 123Milhas.
string (IATA 3 letras) Obrigatório Codigo IATA do aeroporto de origem com 3 letras (ex: GRU). - GRU
to
Codigo IATA do aeroporto de destino para busca PLP da Decolar, GOL, LATAM, KAYAK, MaxMilhas e 123Milhas.
string (IATA 3 letras) Obrigatório Codigo IATA do aeroporto de destino com 3 letras (ex: SSA). - GIG
departureDate
Data de saida para busca PLP da ClickBus, Decolar, GOL, LATAM, KAYAK, MaxMilhas e 123Milhas.
string (YYYY-MM-DD) Obrigatório Data de ida no formato YYYY-MM-DD. - 2026-05-17
returnDate
Data de retorno opcional para busca PLP da ClickBus, Decolar, GOL, LATAM, KAYAK, MaxMilhas e 123Milhas.
string (YYYY-MM-DD) Opcional Data de volta no formato YYYY-MM-DD. Deve ser maior ou igual a departureDate. Quando omitida, a busca é one-way. - 2026-05-20
target
Fonte alvo da extração.
enum Obrigatório Sempre obrigatório e deve ser 123milhas.com. - mercadolivre.com.br
type
Tipo da extração: pdp, idp, plp, quote, review ou places.
enum Obrigatório Sempre obrigatório e deve ser plp. - pdp
numAdults
Quantidade de adultos para Booking, Airbnb, Hoteis.com, Decolar, GOL e LATAM.
integer (1-30) Opcional Quantidade de adultos. Deve ser inteiro entre 1 e 9. 1 2
numChildren
Quantidade de crianças para Booking, Hoteis.com, Decolar, GOL e LATAM.
integer (0-30) Opcional Quantidade de crianças. Deve ser inteiro entre 0 e 9. 0 0
numInfants
Quantidade de bebês para GOL e LATAM PLP. Deve ser menor ou igual à quantidade de adultos.
integer (0-9) Opcional Quantidade de bebês de colo. Deve ser inteiro entre 0 e 9 e menor ou igual a numAdults. 0 0

Exemplos de request

Busca 123Milhas - ida e volta

Busca round-trip na 123Milhas com origem, destino, datas e passageiros.

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

Busca 123Milhas - somente ida

Busca one-way informando apenas departureDate.

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

Schema de response (leaf paths)

Mapa de paths de saída com tipo esperado para esta API.

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "data.source": "string",
  "data.type": "string",
  "data.parser": "string",
  "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.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.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[].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"
}

Exemplo de response

responseExample
{
  "requestId": "99999999-1111-4111-8111-999999999999",
  "executionId": "99999999-2222-4222-8222-999999999999",
  "data": {
    "source": "123milhas.com",
    "type": "plp",
    "parser": "123milhas_web_flight_search",
    "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/api/v3/flight/search?adults=1&babies=0&children=0&class_service=3&date_inbound=2026-06-20&date_outbound=2026-06-15&iata_from=GRU&iata_to=SSA&is_loyalty=0",
    "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": 2,
      "inboundOptions": 3,
      "outbound": {
        "id": "outbound-103-1",
        "airline": "G3",
        "flightNumber": "G3 1234",
        "route": "GRU-SSA",
        "departureTime": "2026-06-15T08:20:00",
        "arrivalTime": "2026-06-15T10:40:00",
        "durationText": "2h20m",
        "stops": 0,
        "stopsText": "Direto",
        "ourPrice": 390.18,
        "totalPrice": 410.18,
        "airlinePrice": 360,
        "tax": 50.18,
        "luggageQuantity": 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
      }
    },
    "offers": [
      {
        "position": 1,
        "groupId": 103,
        "totalPrice": 820.36,
        "basePrice": 729,
        "emission": 5,
        "partner": false,
        "source": "123MILHAS",
        "outboundOptions": 2,
        "inboundOptions": 3,
        "outbound": {
          "id": "outbound-103-1",
          "airline": "G3",
          "flightNumber": "G3 1234",
          "route": "GRU-SSA",
          "departureTime": "2026-06-15T08:20:00",
          "arrivalTime": "2026-06-15T10:40:00",
          "durationText": "2h20m",
          "stops": 0,
          "stopsText": "Direto",
          "ourPrice": 390.18,
          "totalPrice": 410.18,
          "airlinePrice": 360,
          "tax": 50.18,
          "luggageQuantity": 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
        }
      },
      {
        "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
        },
        "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
        }
      }
    ]
  }
}

Referência completa de campos

Path Tipo Descrição Exemplo
data.allowBillet boolean | null Indica se o resultado aceita boleto. false
data.allowPix boolean | null Indica se o resultado aceita pagamento via Pix. true
data.authUrl string Endpoint de autenticação client auth usado antes da busca. https://123milhas.com/api/v3/client/auth
data.cheapestOffer.basePrice number | null Preço base da oferta mais barata. 729
data.cheapestOffer.emission number | null Valor de emissão retornado para a oferta mais barata. 5
data.cheapestOffer.groupId string | number | null Identificador do grupo de oferta mais barato. 103
data.cheapestOffer.inbound.airline string | null Companhia do voo de volta. G3
data.cheapestOffer.inbound.airlinePrice number | null Preço da companhia no voo de volta. 360
data.cheapestOffer.inbound.arrivalTime string | null Horário de chegada do voo de volta. 2026-06-20T20:35:00
data.cheapestOffer.inbound.departureTime string | null Horário de partida do voo de volta. 2026-06-20T18:10:00
data.cheapestOffer.inbound.durationText string | null Duração formatada do voo de volta. 2h25m
data.cheapestOffer.inbound.flightNumber string | null Número do voo de volta. G3 4321
data.cheapestOffer.inbound.id string Identificador do primeiro voo de volta do grupo. inbound-103-1
data.cheapestOffer.inbound.luggageQuantity number | null Quantidade de bagagem despachada do voo de volta. 0
data.cheapestOffer.inbound.ourPrice number | null Preço próprio normalizado no voo de volta. 380.18
data.cheapestOffer.inbound.route string | null Rota consolidada do voo de volta. SSA-GRU
data.cheapestOffer.inbound.stops number | null Quantidade de conexões/paradas do voo de volta. 0
data.cheapestOffer.inbound.stopsText string | null Texto de escalas retornado para o voo de volta. Direto
data.cheapestOffer.inbound.tax number | null Taxas do voo de volta. 50.18
data.cheapestOffer.inbound.totalPrice number | null Preço total normalizado no voo de volta. 410.18
data.cheapestOffer.inboundOptions number Quantidade de opções de volta nesse grupo. 3
data.cheapestOffer.outbound.airline string | null Companhia do voo de ida. G3
data.cheapestOffer.outbound.airlinePrice number | null Preço da companhia no voo de ida. 360
data.cheapestOffer.outbound.arrivalTime string | null Horário de chegada do voo de ida. 2026-06-15T10:40:00
data.cheapestOffer.outbound.departureTime string | null Horário de partida do voo de ida. 2026-06-15T08:20:00
data.cheapestOffer.outbound.durationText string | null Duração formatada do voo de ida. 2h20m
data.cheapestOffer.outbound.flightNumber string | null Número do voo de ida. G3 1234
data.cheapestOffer.outbound.id string Identificador do primeiro voo de ida do grupo. outbound-103-1
data.cheapestOffer.outbound.luggageQuantity number | null Quantidade de bagagem despachada do voo de ida. 0
data.cheapestOffer.outbound.ourPrice number | null Preço próprio normalizado no voo de ida. 390.18
data.cheapestOffer.outbound.route string | null Rota consolidada do voo de ida. GRU-SSA
data.cheapestOffer.outbound.stops number | null Quantidade de conexões/paradas do voo de ida. 0
data.cheapestOffer.outbound.stopsText string | null Texto de escalas retornado para o voo de ida. Direto
data.cheapestOffer.outbound.tax number | null Taxas do voo de ida. 50.18
data.cheapestOffer.outbound.totalPrice number | null Preço total normalizado no voo de ida. 410.18
data.cheapestOffer.outboundOptions number Quantidade de opções de ida nesse grupo. 2
data.cheapestOffer.partner boolean Indica se o grupo é oferta de parceiro. false
data.cheapestOffer.position number Posição da oferta mais barata após ordenação por menor preço. 1
data.cheapestOffer.source string | null Fonte ou companhia convencional associada ao grupo. 123MILHAS
data.cheapestOffer.totalPrice number | null Preço total da oferta mais barata. 820.36
data.classService number Classe de serviço enviada ao endpoint da 123Milhas. 3
data.departureDate string (YYYY-MM-DD) Data de ida solicitada. 2026-06-15
data.extractedAt string (iso datetime) Timestamp ISO em UTC da extração. 2026-05-16T20:00:00.000Z
data.from string Aeroporto de origem. GRU
data.listedOffers number Quantidade de ofertas retornadas no array offers. 2
data.numAdults number Quantidade de adultos enviada para a busca. 1
data.numChildren number Quantidade de crianças enviada para a busca. 0
data.numInfants number Quantidade de bebês enviada para a busca. 0
data.offers[].basePrice number | null Preço base normalizado da oferta. 729
data.offers[].emission number | null Valor de emissão retornado para a oferta. 5
data.offers[].groupId string | number | null Identificador do grupo de oferta. 103
data.offers[].inbound.airline string | null Companhia do voo de volta. G3
data.offers[].inbound.airlinePrice number | null Preço da companhia no voo de volta. 360
data.offers[].inbound.arrivalTime string | null Horário de chegada do voo de volta. 2026-06-20T20:35:00
data.offers[].inbound.departureTime string | null Horário de partida do voo de volta. 2026-06-20T18:10:00
data.offers[].inbound.durationText string | null Duração formatada do voo de volta. 2h25m
data.offers[].inbound.flightNumber string | null Número do voo de volta. G3 4321
data.offers[].inbound.id string Identificador do primeiro voo de volta do grupo. inbound-103-1
data.offers[].inbound.luggageQuantity number | null Quantidade de bagagem despachada do voo de volta. 0
data.offers[].inbound.ourPrice number | null Preço próprio normalizado no voo de volta. 380.18
data.offers[].inbound.route string | null Rota consolidada do voo de volta. SSA-GRU
data.offers[].inbound.stops number | null Quantidade de conexões/paradas do voo de volta. 0
data.offers[].inbound.stopsText string | null Texto de escalas retornado para o voo de volta. Direto
data.offers[].inbound.tax number | null Taxas do voo de volta. 50.18
data.offers[].inbound.totalPrice number | null Preço total normalizado no voo de volta. 410.18
data.offers[].inboundOptions number Quantidade de opções de volta nesse grupo. 3
data.offers[].outbound.airline string | null Companhia do voo de ida. G3
data.offers[].outbound.airlinePrice number | null Preço da companhia no voo de ida. 360
data.offers[].outbound.arrivalTime string | null Horário de chegada do voo de ida. 2026-06-15T10:40:00
data.offers[].outbound.departureTime string | null Horário de partida do voo de ida. 2026-06-15T08:20:00
data.offers[].outbound.durationText string | null Duração formatada do voo de ida. 2h20m
data.offers[].outbound.flightNumber string | null Número do voo de ida. G3 1234
data.offers[].outbound.id string Identificador do primeiro voo de ida do grupo. outbound-103-1
data.offers[].outbound.luggageQuantity number | null Quantidade de bagagem despachada do voo de ida. 0
data.offers[].outbound.ourPrice number | null Preço próprio normalizado no voo de ida. 390.18
data.offers[].outbound.route string | null Rota consolidada do voo de ida. GRU-SSA
data.offers[].outbound.stops number | null Quantidade de conexões/paradas do voo de ida. 0
data.offers[].outbound.stopsText string | null Texto de escalas retornado para o voo de ida. Direto
data.offers[].outbound.tax number | null Taxas do voo de ida. 50.18
data.offers[].outbound.totalPrice number | null Preço total normalizado no voo de ida. 410.18
data.offers[].outboundOptions number Quantidade de opções de ida nesse grupo. 2
data.offers[].partner boolean Indica se o grupo é oferta de parceiro. false
data.offers[].position number Posição da oferta após ordenação por menor preço. 1
data.offers[].source string | null Fonte ou companhia convencional associada ao grupo. 123MILHAS
data.offers[].totalPrice number | null Preço total normalizado da oferta. 820.36
data.parser string Parser interno usado para normalizar o fluxo web da 123Milhas. 123milhas_web_flight_search
data.requestUrl string Endpoint /api/v3/flight/search usado para consultar os grupos de voo. https://123milhas.com/api/v3/flight/search?adults=1&babies=0&children=0&class_service=3&date_inbound=2026-06-20&date_outbound=2026-06-15&iata_from=GRU&iata_to=SSA&is_loyalty=0
data.returnDate string | null Data de volta solicitada quando existir. 2026-06-20
data.searchId string | number | null Identificador da busca retornado pela 123Milhas. 2252111877
data.searchPageUrl string Página pública usada para capturar apiSecret e 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) Tipo da busca: ONE_WAY ou ROUND_TRIP. ROUND_TRIP
data.source string Fonte lógica executada. 123milhas.com
data.success boolean Indica se ao menos uma oferta foi normalizada. true
data.to string Aeroporto de destino. SSA
data.totalFlights number Quantidade total de voos disponíveis no payload upstream. 122
data.totalGroups number Quantidade total de grupos de ofertas retornados. 38
data.type string Tipo lógico da API. plp
data.url string URL canônica /v2/busca montada a partir dos campos enviados. 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) Identificador idempotente da execução. 99999999-2222-4222-8222-999999999999
requestId string (uuid) Identificador da requisição na GeckoAPI. 99999999-1111-4111-8111-999999999999

Erros comuns

Respostas com notFound: true não entram nesta tabela, porque retornam sucesso HTTP 200.

Status errorCode Quando acontece
400 INVALID_PAYLOAD JSON inválido ou violação das regras de validação do payload.
401 UNAUTHORIZED Header Authorization ausente ou token/chave inválida.
402 INSUFFICIENT_CREDITS Saldo de créditos insuficiente para a API solicitada.
403 FORBIDDEN Usuário sem acesso ou API temporariamente desabilitada.
409 EXECUTION_CONFLICT executionId conflita com uma execução em estado incompatível.
429 RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTS Limite de taxa ou limite de requisições em voo excedido.
5xx UPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_INVOCATION_FAILED / WORKER_FUNCTION_ERROR / WORKER_INVALID_RESPONSE / INTERNAL_ERROR Falha de servidor no worker, provider/proxy ou gateway. Nesses casos os créditos são estornados automaticamente.