Returns flights that took off from or landed at a PureTrack location, plus low-pass and touch-and-go events, during a specified date range.
GET https://puretrack.io/api/locations/flights
| Parameter | Required | Description |
|---|---|---|
location | Yes | PureTrack location ID or ICAO code. Digit-only values are treated as location IDs; other strings are looked up as ICAO codes. |
start_date | Yes | Start of the reporting period. A date such as 2026-09-01 starts at midnight in the requested timezone. A valid date and time may also be supplied. e.g. 2026-09-01T04:00:00 |
end_date | Yes | End of the reporting period. A date such as 2026-09-30 includes that entire local calendar day. A valid date and time may also be supplied. |
timezone | No | IANA timezone used to interpret the date range, for example Pacific/Auckland. Defaults to UTC. |
take_offs | No | Boolean controlling take-off rows. Defaults to true when none of the event filters are supplied. |
landings | No | Boolean controlling landing rows. Defaults to true when none of the event filters are supplied. |
low_passes | No | Boolean controlling low-pass and touch-and-go rows. Defaults to true when none of the event filters are supplied. |
report | No | Legacy filter retained for compatibility: both for take-offs and landings, start for take-offs only, or end for landings only. It does not include low passes. Prefer the three boolean event filters above. |
orderby | No | Field used to order results. Use start_ts or end_ts. Defaults to start_ts. |
direction | No | Sort direction: ASC or DESC. Defaults to ASC. |
limit | No | Maximum number of rows to return. Defaults to 10000. |
The date filter is applied to start_ts. For a low-pass or touch-and-go row, the start and end timestamp, coordinates, and location ID are identical, and type is low-pass. If any boolean event filter is supplied, omitted event filters are treated as false.
Using a PureTrack location ID:
curl "https://puretrack.io/api/locations/flights?location=78969&start_date=2026-09-01&end_date=2026-09-30&take_offs=1&landings=1&low_passes=1&timezone=Pacific%2FAuckland" \
-H "Accept: application/json" \
-H "Authorization: Bearer your-access-token" \
-H "X-API-Key: your-application-api-key"
Using an ICAO code:
curl "https://puretrack.io/api/locations/flights?location=NZXX&start_date=2026-09-01&end_date=2026-09-30&take_offs=1&landings=1&low_passes=1&timezone=Pacific%2FAuckland" \
-H "Accept: application/json" \
-H "Authorization: Bearer your-access-token" \
-H "X-API-Key: your-application-api-key"
See API Authentication for details about obtaining the bearer token and using the API key.
{
"location": {
"id": 78969,
"name": "Example Airfield",
"icao": "NZXX"
},
"data": [
{
"key": "Y-ZK-ABC",
"k": "ZK-ABC",
"type": "flying",
"start_ts": "2026-09-12 21:15:00",
"end_ts": "2026-09-12 22:04:30",
"time_diff": 2970,
"start_lat": -37.0001,
"start_long": 175.0001,
"start_location_id": 78969,
"end_lat": -37.5001,
"end_long": 175.5001,
"end_location_id": 45678,
"aircraft_type_id": 1,
"aircraft_type": "Glider",
"manufacturer": "Example manufacturer",
"model": "Example model",
"transponder": "ABC123",
"start_location": {
"id": 78969,
"name": "Example Airfield",
"icao": "NZXX"
},
"end_location": {
"id": 45678,
"name": "Destination Airfield",
"icao": "NZYY"
}
}
],
"time": 0.1234,
"success": true,
"http_code": 200
}
location is the requested PureTrack location.data contains the matching flights and low-pass/touch-and-go events.key is the original PureTrack tracker key. For aircraft, k is simplified to the registration where available.type is flying for take-offs and landings, or low-pass for low passes and touch-and-goes.start_ts and end_ts are the event start and end timestamps.time_diff is the flight duration in seconds.start_location and end_location contain matched location details when available.manufacturer, model, transponder, and aircraft_type is included when PureTrack can match the tracker key to an aircraft.| Status | Meaning |
|---|---|
401 | The bearer token or application API key is missing or invalid. |
403 | The API key requires Pro access and the authenticated user does not have a Pro subscription. |
404 | No location exists with the requested ID or ICAO code. |
422 | A required parameter is missing or invalid, including an invalid timezone or date range. |