| Field | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Phase | Airport | Scheduled | Estimated | Actual | Delay | Copy |
|---|---|---|---|---|---|---|
| {{ row.phase }} | {{ row.airport }} | {{ row.scheduled }} | {{ row.estimated }} | {{ row.actual }} | {{ row.delay }} |
| # | Flight | Status | Departure | Arrival | Delays | Copy |
|---|---|---|---|---|---|---|
| {{ row.rank }} |
{{ row.route }}
|
{{ row.status }} |
{{ row.dep }}
{{ row.depAirport }}
|
{{ row.arr }}
{{ row.arrAirport }}
|
{{ row.delay }} |
Flight delays are the minutes between a scheduled departure or arrival time and the moment that is estimated or actually recorded, and they signal how the day of travel is unfolding. A flight status tracker by flight number turns those timestamps into a simple delay readout and a clear view of whether a flight is trending late, on schedule, or early. Used well, it helps you set expectations without guessing from a single status word.
Delays matter when you are deciding when to leave for the airport, when to meet someone, or whether a connection is still realistic. Departure delay and arrival delay can tell different stories because a late pushback can be recovered in the air, and an on time departure can still arrive late. Checking both reduces surprises when you plan pickups or transfer windows.
Provide a flight number and the local departure date, then fetch the latest record from a public data source. You get a status summary plus scheduled, estimated, and actual times for the origin and destination, with delays shown in whole minutes. A positive number means later than scheduled, and a negative number means earlier.
For example, if you are picking up a friend you can watch the arrival delay and the gate or baggage details when they are available, then time your drive more calmly. When more than one match appears, compare route and timings to pick the right leg for that date.
Flight feeds can change quickly and different providers may disagree, especially around cancellations, diversions, and last minute gate changes, so confirm critical choices with the airline. Keep your checks comparable by using the correct departure date each time, refreshing after major updates, and treating access tokens like passwords.
This tool measures schedule variance by comparing three timestamps for each flight event, scheduled, estimated, and actual. From those timestamps it derives departure delay minutes and arrival delay minutes, so you can see where time was gained or lost.
When a provider supplies an explicit delay value, that value is used as the delay in minutes. Otherwise the delay is computed from timestamps, using the actual time when present and falling back to the estimated time.
A quick status category is assigned for scanning, using provider status text plus the larger of the departure and arrival delays. The built in bands label flights as On time, Delayed, Diverted or Severe delay, Cancelled, or Landed, and the delay text can be positive for late events or negative for early events.
Displayed clock times are formatted with a 24 hour clock and your device locale, and an airport time zone is applied when the provider supplies one. For comparisons across days, keep the departure date aligned to the local date at the origin airport.
Delays are expressed as whole minutes. The computed form below matches the implementation that rounds the millisecond difference to the nearest minute.
| Symbol | Meaning | Unit or Datatype | Source |
|---|---|---|---|
tscheduled |
Scheduled timestamp for departure or arrival | Datetime string | Input |
tevent |
Actual timestamp when present, otherwise estimated | Datetime string | Derived |
dprovider |
Delay value provided directly by a data source | Minutes, integer | Input |
Δ |
Delay minutes computed for one event | Minutes, integer | Derived |
Worked example using timestamp differences for departure and arrival.
The larger delay is 18 min, so the scan label becomes Delayed because it crosses the 15 min threshold.
| Threshold Band | Lower Bound | Upper Bound | Interpretation | Action Cue |
|---|---|---|---|---|
| On time | 0 min | 14 min | Minor variance that usually does not change plans | Use for rough pickup timing |
| Delayed | 15 min | 59 min | Noticeable lateness that may affect connections | Recheck closer to departure or arrival |
| Severe delay | 60 min | — | Large disruption, often paired with retiming or diversion | Confirm with the airline before committing |
| Cancelled | — | — | Status text contains cancel | Look for rebooking or alternative options |
| Landed | — | — | Status text contains arrived or landed | Use arrival delay and gate details if provided |
| Diverted or severe | — | — | Status text contains divert | Expect missing gate and baggage details |
If status text indicates a flight has landed, the scan label becomes Landed even when the delay is large. For scheduled, active, and en route flights, delays above 5 min are treated as Delayed even when they are below 15 min, so that small slips are visible while the flight is still in progress.
| Parameter | Meaning | Unit or Datatype | Typical Range | Sensitivity | Notes |
|---|---|---|---|---|---|
flight_number |
Marketing flight identifier | Text | Letters plus digits | High | Converted to uppercase before matching |
flight_date |
Local departure date for the scheduled flight | Date | YYYY-MM-DD | High | A mismatch can return a different leg or no results |
provider |
Data source to query | Enum | 2 options | Medium | Providers may report slightly different timestamps |
include_codeshares |
Keep codeshare legs when supported | 0 or 1 | 0 to 1 | Medium | Turn off to focus on the primary marketing carrier |
include_cancelled |
Show cancelled and diverted flights | 0 or 1 | 0 to 1 | Medium | When off, cancelled matches are filtered out after fetch |
limit |
Cap the number of matches returned for the date | Integer | 1 to 30 | Low | Provider caps may reduce the effective maximum |
prefer_exact |
Exact first or relaxed matching | 0 or 1 | 0 to 1 | Medium | Relaxed mode keeps close variants of the flight number |
timeout_ms |
Abort a request after a fixed time | Milliseconds | 2 000 to 12 000 | Medium | Higher values help on slow networks but wait longer |
api_host |
Override host or base endpoint used for requests | Text | Provider specific | High | Useful when routing through a proxy to handle access rules |
proxy_prefix |
Prefix that wraps the final request URL | URL text | Optional | High | Supports a {url} placeholder or simple prefix concatenation |
| Constant | Value | Unit | Source | Notes |
|---|---|---|---|---|
| Delayed threshold | 15 | min | Code | Applies to the maximum of departure and arrival delay |
| Severe threshold | 60 | min | Code | Labels large delays as severe |
| In progress sensitivity | 5 | min | Code | Scheduled and active flights become delayed above this level |
| Early highlight | -5 | min | Code | Delays at or below this value are styled as early |
| Default request timeout | 12 000 | ms | Code | Used when no timeout value is supplied |
| Timeout lower bound | 2 000 | ms | UI | Requests can still be slower if the network stalls |
| Results cap in UI | 30 | rows | UI | Provider caps may be smaller depending on source |
Math.round when computed from timestamps.Math.round behavior.| Field | Type | Min | Max | Step or Pattern | Error Text |
|---|---|---|---|---|---|
| Flight number | Text | 1 | — | Trimmed, uppercased before matching | Enter a flight number to track delays. |
| Flight date | Date | — | — | Defaults to today when empty | No matching flights found for that date and number. |
| Data source | Enum | — | — | aerodatabox or aviationstack |
Unable to fetch flight status. |
| API key | Secret text | 1 | — | Stored in session storage per provider | AviationStack requires an API key. RapidAPI key required for AeroDataBox. |
| Result limit | Integer | 1 | 30 | Capped per provider, then capped again after filtering | No matching flights found for that date and number. |
| Request timeout | Integer | 2 000 | — | Step 500 ms | Unable to fetch flight status. |
| Proxy prefix | URL text | 0 | — | Optional, supports {url} placeholder |
Unable to fetch flight status. |
| Input | Accepted Families | Output | Encoding or Precision | Rounding |
|---|---|---|---|---|
| Flight number | Text, typically airline code plus digits | Matched flight list and selected flight record | Uppercased for comparison | Not applicable |
| Flight date | Date string from a date picker | Provider query constrained to that date | YYYY-MM-DD | Not applicable |
| Provider payload | JSON from the selected service | Status table, timeline table, and raw JSON view | Pretty printed JSON uses 2 spaces | Not applicable |
| Delay minutes | Number from provider or computed from timestamps | Signed minutes with a plus for late values | Integer minutes | Math.round when computed |
| Exports | Status, timeline, matches, and raw JSON | Comma-Separated Values (CSV), JavaScript Object Notation (JSON), and Office Open XML document (DOCX) | Text for CSV and JSON, document file for DOCX | Not applicable |
Requests are made with fetch and can be aborted using AbortController after the configured timeout. Some providers may require a proxy due to Cross-Origin Resource Sharing (CORS) restrictions, and each provider requires your own API key for live data.
| Provider | Method | Target pattern | Authentication | Provider cap |
|---|---|---|---|---|
| AeroDataBox via RapidAPI | GET | aerodatabox.p.rapidapi. |
X-RapidAPI-Key and X-RapidAPI-Host |
20 |
| AviationStack | GET | api.aviationstack. |
access_key query parameter |
30 |
| Stored item | Key | Retention |
|---|---|---|
| API key per provider | st_track_flight_delay_api_key_{provider} |
Session storage |
| Proxy prefix | st_track_flight_delay_proxy_prefix |
Session storage |
If a proxy prefix is set, the final request URL is percent encoded and inserted into the prefix. When the prefix contains {url}, that token is replaced, otherwise the encoded URL is appended.
NaN and Infinity are ignored in favor of timestamp differences.This tool relies on established aviation code systems such as International Air Transport Association (IATA) and International Civil Aviation Organization (ICAO) identifiers, ISO 8601 style timestamps, and IANA time zone identifiers when supplied by the provider.
Requests are sent from your browser to the selected provider endpoint or your proxy, and API keys are stored in session storage for the session and never written into shareable links.
Flight delay minutes are easiest to interpret when you compare scheduled, estimated, and actual times for the same flight and date.
Example: Enter SA101, keep the default date, enable sample data, then fetch to see a departure delay of +10 min and an arrival delay of +18 min.
Switch providers and fetch again only after you add the matching API key.
Pro tip: If a provider blocks direct requests from your device, set a proxy prefix that forwards the URL on your behalf.
Once you have a consistent flight number and date, the tracker becomes a quick way to plan departures, pickups, and connection decisions.
When results look inconsistent, compare the route and the scheduled times first to ensure you selected the intended flight leg.
API keys and the proxy prefix are kept in session storage for the current session, and the key is never placed into shareable links. Flight results stay in memory until you clear them.
Delays are only as accurate as the timestamps a provider publishes at that moment. Refreshing later may change the estimated and actual times, especially near departure and arrival.
Use airline sources for time critical decisions.A positive value means later than scheduled, and a negative value means earlier than scheduled. Values are whole minutes, either supplied by a provider or rounded from timestamp differences.
Sample data works without network access and is useful for learning the layout. Live tracking requires network access plus a valid API key for the selected provider.
Leave codeshares enabled to keep alternate flight numbers in the match list, then choose the row whose route and timestamps match your trip. If you only want the main marketing flight, disable codeshares.
Borderline delays sit near the built in thresholds. Around 5 min a flight can flip between On time and Delayed while in progress, and around 15 min the scan label becomes Delayed.
This page does not bundle an API key. Provider plans set quotas, rate limits, and any charges, and your key controls what data you can access.