Route Pairs

Query statistics for a specific origin–destination pair. Returns carriers, great-circle distance (km), and typical block time (gate-to-gate duration for the route). Results are sorted by number of airlines. Provide at least one of departure or arrival for useful result sets.

Requirements

Auth
x-api-key on every request (direct subscription). Learn more →

Request

GEThttps://data.skylinkapi.com/v3.1/routes/pairs
ParameterTypeRequiredDefaultDescription
departurestringNo-Departure airport IATA or ICAO
arrivalstringNo-Arrival airport IATA or ICAO
limitintegerNo50Maximum results (1–500)

Response

{
  "count": 1,
  "routes": [
    {
      "departure": "JFK",
      "arrival": "LHR",
      "airlines": ["American Airlines", "British Airways", "Delta Air Lines", "Virgin Atlantic"],
      "km": 5555,
      "duration_min": 430
    }
  ]
}
FieldTypeRequiredDescription
countintegerYesNumber of route rows returned
routesarrayYesSame route item shape as Airport Routes

Client types

"""Route detection response models for /routes/* endpoints."""from __future__ import annotationsfrom dataclasses import dataclass@dataclassclass RoutePair:    departure: str    arrival: str    airlines: list[str]    km: int    duration_min: int@dataclassclass CallsignRouteResponse:    """Exact callsign match from GET /routes/callsign/{callsign}."""    callsign: str    callsign_prefix: str    airline_code: str    departure_icao: str    arrival_icao: str    airports: list[str]    confidence: str    source: str    routes: list[RoutePair] | None = None@dataclassclass AirportRoutesResponse:    code: str    direction: str    count: int    routes: list[RoutePair]@dataclassclass RoutePairsResponse:    count: int    routes: list[RoutePair]@dataclassclass RouteGuess:    """Shape returned by route_guess() helper."""    callsign: str    departure: str | None    arrival: str | None    confidence: str    source: str

Integration

Implementation notes

Both codes known. Use this endpoint when you already have departure and arrival airport codes and need carrier and duration context — faster than enumerating all routes at one airport.

Pagination. Use limit when querying broad partial matches; default caps keep payloads manageable.

Error responses

Validation 422: Routes hub.

GET
/routes/pairs
x-api-key<token>

Your SkyLink licence key, for keys bought direct from skylinkapi.com.

In: header

Query Parameters

departure?|

Filter by departure airport (IATA or ICAO)

arrival?|

Filter by arrival airport (IATA or ICAO)

limit?Limit

Max results (default 50, max 500)

Default50
Range1 <= value <= 500

Response Body

application/json

application/json

curl -X GET "https://data.skylinkapi.com/v3.1/routes/pairs"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}