Skip to content
Scrappa Get API key
FlixBus API 1 credit/request

FlixBus Price Calendar API Documentation

GET https://scrappa.co/api/flixbus/calendar

FlixBus Price Calendar API Documentation The cheapest fare for each day of a date window on one route, with the cheapest trip_id, the shortest duration and the number of trips of that day. A day without trips has cheapest_price null, never 0. FlixBus has no calendar route, so Scrappa searches every day: meta.upstream_calls shows the count. If one day fails the whole request fails and is not billed. Rides after midnight count for the day they depart.

FlixBus Price Calendar API Documentation 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/flixbus/calendar
Auth header
x-api-key
Cost
1 credit/request
from_city_id = 1234567890 to_city_id = 1234567890 start_date = 2026-06-15
Response preview
200 OK
{
    "data": {
        "days": 2,
        "adults": 1,
        "calendar": [
            {
                "date": "2027-03-14",
                "currency": "EUR",
                "trip_count": 27,
                "cheapest_price": 10.48,
                "fastest_minutes": 245,
                "cheapest_trip_id": "direct:78e70bcf-351d-4589-8271-9d339a9ede21:dcbc32c3-9603-11e6-9066-549f350fcb0c:dcbada9a-9603-11e6-9066-549f350fcb0c",
                "cheapest_price_net": 9.49
            },
...

Parameters

Start with the required fields, then add optional filters only when your use case needs them.

Runnable path

3 required parameters needed before sending a request.

3 optional filters available.

from_city_id string Required

Origin city UUID from the cities endpoint. Example: 40d8f682-8646-11e6-9066-549f350fcb0c for Berlin.

Example value 1234567890
to_city_id string Required

Destination city UUID from the cities endpoint, different from the origin. Example: 40d91e53-8646-11e6-9066-549f350fcb0c for Hamburg.

Example value 1234567890
start_date string Required

First day, YYYY-MM-DD, today or later. Example: 2027-03-14.

Example value 2026-06-15
days integer Optional

Number of days from the start date, 1 to 31. Defaults to 7. Each day is one upstream search.

Example value 10
adults integer Optional

Number of adults, 1 to 9. Defaults to 1. The total price scales with it, the average price stays per person.

Example value 10
currency string Optional

EUR or USD. Defaults to EUR.

Example value USD

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

data meta success
JSON Response
200 OK
{
    "data": {
        "days": 2,
        "adults": 1,
        "calendar": [
            {
                "date": "2027-03-14",
                "currency": "EUR",
                "trip_count": 27,
                "cheapest_price": 10.48,
                "fastest_minutes": 245,
                "cheapest_trip_id": "direct:78e70bcf-351d-4589-8271-9d339a9ede21:dcbc32c3-9603-11e6-9066-549f350fcb0c:dcbada9a-9603-11e6-9066-549f350fcb0c",
                "cheapest_price_net": 9.49
            },
            {
                "date": "2027-03-15",
                "currency": "EUR",
                "trip_count": 0,
                "cheapest_price": null,
                "fastest_minutes": null,
                "cheapest_trip_id": null,
                "cheapest_price_net": null
            }
        ],
        "currency": "EUR",
        "start_date": "2027-03-14",
        "to_city_id": "40d91e53-8646-11e6-9066-549f350fcb0c",
        "from_city_id": "40d8f682-8646-11e6-9066-549f350fcb0c",
        "days_with_trips": 1
    },
    "meta": {
        "billable": true,
        "upstream_calls": 2,
        "endpoint_family": "price_calendar"
    },
    "success": true
}

Errors

Handle these documented responses before retrying or showing customer-facing failures.

422

Validation Error

A required query parameter is missing or invalid. This response is not billable.

{
    "errors": {
        "days": [
            "The calendar covers at most 31 days per request."
        ]
    },
    "message": "The request validation failed"
}
503

Service Unavailable

FlixBus could not be reached or answered with an unexpected shape. This response is not billable.

{
    "meta": {
        "billable": false,
        "retryable": true,
        "endpoint_family": "price_calendar"
    },
    "error": {
        "code": "UPSTREAM_UNAVAILABLE",
        "message": "The FlixBus API is temporarily unavailable. Please retry."
    },
    "success": false
}

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Try It Live

Test this endpoint in our interactive playground with real data.