curl --request GET \
--url https://staging.api.prexsell.com/v2/offers/scheduleimport requests
url = "https://staging.api.prexsell.com/v2/offers/schedule"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://staging.api.prexsell.com/v2/offers/schedule', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.api.prexsell.com/v2/offers/schedule",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://staging.api.prexsell.com/v2/offers/schedule"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://staging.api.prexsell.com/v2/offers/schedule")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.api.prexsell.com/v2/offers/schedule")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"source": "PrexSell",
"total": 7,
"currency": "UAH",
"passengers": 1,
"departures": [
{
"id": "eyJ...",
"company": {
"id": "clco1",
"name": "Ecolines",
"slug": "ecolines",
"logoUrl": "https://example.com/logo.png"
},
"departureDateTime": "2026-06-10T06:30:00+03:00",
"arrivalDateTime": "2026-06-11T08:45:00+02:00",
"travelTimeMinutes": 1575,
"routeName": "ะะธัะฒ โ ะะฐััะฐะฒะฐ",
"price": {
"amount": 1450,
"currency": "UAH"
},
"seatsLeft": 22
}
]
}
}{
"errors": [
{
"message": "RESOURCE_NOT_FOUND",
"errorCode": "NOT_FOUND"
}
]
}Get schedule for a city pair over a bounded forward window
Returns a dated timetable of individual departures for the given city pair, over a forward window of days calendar days starting at (and including) date. days defaults to 1, so a request carrying only date returns that single day exactly as before, and is capped at 14 โ a longer window is rejected by validation, never truncated. Each row includes departure/arrival datetime (wall-clock, timezone-aware), company, route name, travel time, and price; the datetime is what attributes a row to its own day. Sorted by departure time ascending across the whole window. Paginated with take/skip over the whole window.
curl --request GET \
--url https://staging.api.prexsell.com/v2/offers/scheduleimport requests
url = "https://staging.api.prexsell.com/v2/offers/schedule"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://staging.api.prexsell.com/v2/offers/schedule', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.api.prexsell.com/v2/offers/schedule",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://staging.api.prexsell.com/v2/offers/schedule"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://staging.api.prexsell.com/v2/offers/schedule")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.api.prexsell.com/v2/offers/schedule")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"source": "PrexSell",
"total": 7,
"currency": "UAH",
"passengers": 1,
"departures": [
{
"id": "eyJ...",
"company": {
"id": "clco1",
"name": "Ecolines",
"slug": "ecolines",
"logoUrl": "https://example.com/logo.png"
},
"departureDateTime": "2026-06-10T06:30:00+03:00",
"arrivalDateTime": "2026-06-11T08:45:00+02:00",
"travelTimeMinutes": 1575,
"routeName": "ะะธัะฒ โ ะะฐััะฐะฒะฐ",
"price": {
"amount": 1450,
"currency": "UAH"
},
"seatsLeft": 22
}
]
}
}{
"errors": [
{
"message": "RESOURCE_NOT_FOUND",
"errorCode": "NOT_FOUND"
}
]
}Query Parameters
URL-friendly slug of the departure city.
1"kyiv"
URL-friendly slug of the arrival city.
1"warsaw"
First day of the window, in ISO YYYY-MM-DD format. With the default days=1 this is the only day returned.
"2026-06-10"
Length of the forward window in calendar days, starting at and including date (1โ14). Defaults to 1, which returns that single date. Rows across the window are returned as one list sorted by departure time ascending; each row's departureDateTime carries its own day.
1 <= x <= 147
Number of passengers (1โ10).
1 <= x <= 101
Currency code for prices.
UAH, PLN, CZK, EUR, USD "UAH"
Language code for city name translations.
UK, PL, CS, EN, RU "UK"
Maximum number of departures to return (1โ100).
1 <= x <= 10050
Number of departures to skip for offset pagination.
x >= 00
Response
Schedule of departures for the given city pair and date.
Show child attributes
Show child attributes
