Cómo utilizar filtros, clasificación y paginación de búsqueda de vuelos
El punto final de búsqueda de Flights API admite filtrado, clasificación y paginación para ayudarlo a limitar los resultados y crear interfaces de usuario eficientes. Los tres son parámetros opcionales en el cuerpo de la solicitud de búsqueda.
Filtros
Agregue un objeto filters a su solicitud de búsqueda para limitar los resultados. Todos los campos de filtro son opcionales: incluya solo los que necesite.
Opciones de filtro
| Filtro | Tipo | Valores | Descripción |
|---|---|---|---|
departuretime | conjunto de cadenas | "earlymorning", "morning", "afternoon", "evening" | Filtrar por ventana de hora de salida. |
arrivaltime | conjunto de cadenas | "earlymorning", "morning", "afternoon", "evening" | Filtrar por ventana de hora de llegada. |
baggage | conjunto de cadenas | "cabin", "checked" | Sólo vuelos de regreso que incluyan el tipo de equipaje especificado. |
stops | conjunto de cadenas | "nonstop", "onestop", "two_plus", "any" | Filtrar por número de paradas. |
airlines | conjunto de cadenas | Nombres de aerolíneas | Filtre por aerolíneas específicas (por ejemplo, "Alaska Airlines", "United Airlines"). |
Definiciones de ventana de tiempo
| Valor | Rango de tiempo aproximado |
|---|---|
early_morning | 12:00 a. m. - 6:00 a. m. |
morning | 6:00 a. m. - 12:00 p. m. |
afternoon | 12:00 p. m. - 6:00 p. m. |
evening | 6:00 p. m. - 00:00 a. m. |
Ejemplo: búsqueda filtrada
{
"flight_info": [
{
"departure_date": "2026-04-15",
"origin": "SFO",
"destination": "BLR"
}
],
"route_type": "Oneway",
"cabin_type": "economy",
"adults": 1,
"filters": {
"departure_time": [
"morning",
"afternoon"
],
"stops": [
"non_stop",
"one_stop"
],
"airlines": [
"United Airlines",
"Air India"
],
"baggage": [
"checked"
]
}
}Esta solicitud devuelve vuelos económicos con salida por la mañana o por la tarde, con como máximo una escala, operados por United Airlines o Air India, e incluido el equipaje facturado.
Descubriendo aerolíneas disponibles
La respuesta de búsqueda incluye un campo available_airlines que contiene todas las aerolíneas presentes en el conjunto de resultados sin filtrar. Utilice esta lista para completar las opciones de filtro de aerolíneas en su interfaz de usuario.
{
"available_airlines": [
"United Airlines",
"Lufthansa",
"Air India",
"Emirates",
"Alaska Airlines"
]
}Clasificación
Agregue un objeto sorting para controlar el orden de los resultados.
| Campo | Tipo | Valores | Descripción |
|---|---|---|---|
sortby | cadena | "price", "duration", "recommended" | El campo por el que ordenar. |
sortorder | cadena | "asc", "desc" | Ordenar dirección. |
Ejemplo: ordenar por precio (el más bajo primero)
{
"sorting": {
"sort_by": "price",
"sort_order": "asc"
}
}Ejemplo: ordenar por duración (el más corto primero)
{
"sorting": {
"sort_by": "duration",
"sort_order": "asc"
}
}Ejemplo: Recomendado
{
"sorting": {
"sort_by": "recommended",
"sort_order": "desc"
}
}La clasificación recommended utiliza una combinación de precio, duración y número de paradas para mostrar las mejores opciones generales.
Paginación
Agregue un objeto pagination para controlar la cantidad de resultados por página y navegar por las páginas.
| Campo | Tipo | Descripción |
|---|---|---|
page | entero | El número de página que se va a recuperar (basado en 1). |
limit | entero | Número de resultados por página. |
Ejemplo: Solicitud paginada
{
"pagination": {
"page": 2,
"limit": 10
}
}Campos de respuesta de paginación
La respuesta de búsqueda incluye metadatos de paginación:
| Campo | Tipo | Descripción |
|---|---|---|
total | entero | Número total de vuelos coincidentes. |
page | entero | Número de página actual. |
limit | entero | Resultados por página. |
totalpages | entero | Número total de páginas. |
hasnext | booleano | Si existe una página siguiente. |
has_prev | booleano | Si existe una página anterior. |
Ejemplo de respuesta de paginación
{
"pagination": {
"total": 45,
"page": 2,
"limit": 10,
"total_pages": 5,
"has_next": true,
"has_prev": true
}
}Ejemplo completo
Aquí hay una solicitud de búsqueda completa que combina filtros, clasificación y paginación:
{
"flight_info": [
{
"departure_date": "2026-04-15",
"origin": "SFO",
"destination": "BLR"
}
],
"route_type": "Oneway",
"cabin_type": "economy",
"adults": 2,
"children": 1,
"infants": 0,
"filters": {
"departure_time": [
"morning"
],
"stops": [
"non_stop"
],
"baggage": [
"cabin",
"checked"
]
},
"sorting": {
"sort_by": "price",
"sort_order": "asc"
},
"pagination": {
"page": 1,
"limit": 20
}
}Consejos
- Omita el objeto
filterspor completo para devolver todos los resultados sin filtrar. - Utilice el campo
available_airlinesde la respuesta para crear listas dinámicas de filtros de aerolíneas. - Comience con
page: 1y usehas_nextpara determinar si se debe ofrecer un control de "página siguiente". - La combinación de varios valores de filtro dentro de un campo utiliza la lógica OR (por ejemplo,
["morning", "afternoon"]devuelve vuelos que salen en cualquiera de las ventanas). - La combinación de diferentes campos de filtro utiliza la lógica AND (por ejemplo,
stops: ["non_stop"]ANDairlines: ["United Airlines"]devuelve solo vuelos de United sin escalas).
Artículos relacionados
- Cómo buscar vuelos: documentación principal del punto final de búsqueda.
- Cómo comprobar la disponibilidad y los precios de los vuelos: siguiente paso después de encontrar un vuelo.