Schedule Changes API


/schedule-changes returns flights whose filed schedule changed: a new time, a new flight number, a flight that disappeared, or a flight that was added. /advanced-flights-schedules and /advanced-future-flights still return the flight list. This endpoint returns the changes.

Send since or cursor, not both. Send at least one of airline_iata, iataCode (departure or arrival) or flight_iata. date_from and date_to limit the flight dates. change_type is retimed, renumbered, removed or added. min_minutes defaults to 5 and applies to time changes. limit defaults to 100 and cannot be higher than 500.

A flight is one airline, flight number, local date, origin and destination. A codeshare that the timetable lists under its own airline and flight number is its own flight, so a time change on the operating flight also shows on each of those marketed numbers. A marketed number that only appears as a remark on the operating flight does not produce a separate change.

previous and current contain only the fields that changed. An added flight has no previous. A removed flight has no current. A renumbered flight puts the old number in previous.flight_iata and the new number in current.flight_iata. The same airline and the same airport pair qualify only when the times stay within 30 minutes; otherwise the feed returns a removal and an addition. A flight that leaves the timetable is removed. It is not described as cancelled.

Times are the local time at the airport, HH:MM. detected_at is UTC. data_source is direct when the airline publishes the schedule itself, and aggregated otherwise. When an airline has a direct schedule, that one is the feed for that airline. The last 90 days can be queried. Older changes stay stored and are not returned. An empty data array with success: true means nothing changed. That response does not spend a call. It still counts toward the plan rate limit.

Pro, Premium, Elite and Enterprise read the full 90 days. Trial, Starter and Basic can call the endpoint for the last 7 days, with one airline or one airport per request. A missing filter, a missing since/cursor, or a since older than the window you can read, returns 400.

Example API Request:

Use Edit parameters to customize the call, then run it and review the live response below.

Edit the parameters below. The example request updates as you type.

Changes detected at or after this UTC time. Send since or cursor.

Continue after the last change you received. Send since or cursor, not both.

Airline IATA code. One of airline_iata, iataCode or flight_iata is required.

Airport IATA code. Matches a departure or an arrival.

Flight number, including the airline code.

First flight date to include.

Last flight date to include.

retimed, renumbered, removed or added.

Smallest time change to return. Default 5. Does not hide added, removed or renumbered flights.

Page size, from 1 to 500. Default 100.

Postman Test In Postman

API Response Objects

A successful response lists the changes. data is an empty array when nothing changed.

Field Description
change_id Stable id of this change. Pass the page cursor, not this id, to continue.
change_type retimed, renumbered, removed or added.
detected_at When the change was detected, in UTC (ISO 8601).
flight_date Local flight date. For a renumbered flight this is the new flight number's date, which is the same date.
airline_iata Airline IATA code.
flight_iata Flight number, including the airline code. On a renumbered flight this is the new number.
dep_iata Departure airport IATA code.
arr_iata Arrival airport IATA code.
previous Only the fields that changed, before the change. Omitted when the flight was added.
current Only the fields that changed, after the change. Omitted when the flight was removed.
data_source direct when the airline publishes the schedule, aggregated otherwise.
next_cursor Pass this as cursor to read changes after this page, without repeats or gaps.
has_more true when another page is available at this cursor.

Example response

{
  "success": true,
  "data": [
    {
      "change_id": "ch_01HZX3",
      "change_type": "retimed",
      "detected_at": "2026-11-27T03:20:00Z",
      "flight_date": "2027-03-08",
      "airline_iata": "LH",
      "flight_iata": "LH400",
      "dep_iata": "FRA",
      "arr_iata": "JFK",
      "previous": { "dep_time": "10:55", "arr_time": "13:35" },
      "current":  { "dep_time": "11:20", "arr_time": "14:00" },
      "data_source": "direct"
    }
  ],
  "next_cursor": "eyJpZCI6MTIzNDV9",
  "has_more": false
}