Layer400 developers · Cloud API v1
Know what each record means.
Current positions and historical observations use the same core fields. History omits stale_after; live uses a cursor, while history reports truncation.
Response envelope.
version, request_id, generated_at, layer and mode identify the response. data is an array, possibly empty.
- Live:
next_cursoris the next-page reference or null.truncatedis false; it does not tell you whether more live pages exist. - History:
next_cursoris null. Always checktruncated, even for empty data.continuationsupplies splitting guidance.
Record fields.
Unknown values stay null or explicitly unknown. They are not zero. Times include a timezone. Accept additional JSON fields and new quality labels.
public_track_idstring- Rotating public reference: L4-D-… for drones, L4-A-… for aircraft. Not a permanent identity.
observed_attimestamp- Time of the received position, with timezone. Use this to assess age.
longitudenumber- WGS84 decimal degrees, east positive.
latitudenumber- WGS84 decimal degrees, north positive.
altitude_mnumber or null- Reported/normalised altitude in metres. Its source may differ by track; v1 does not expose the altitude reference or uncertainty. Do not assume a surveyed height or use it for certified vertical separation.
height_agl_mnumber or null- Estimated metres above ground where available. Not interchangeable with altitude_m.
speed_mpsnumber or null- Ground speed in metres per second. Multiply by 3.6 for km/h.
heading_degnumber or null- Heading in degrees clockwise from north where available.
confidencestring or null- Projection quality label, for example single, multi_station, stale or inconsistent. Accept new labels; this is not a safety assurance.
confidence_scorenumber or null- Projection confidence score when available. Not a calibrated probability or detection guarantee.
receiver_countinteger or null- Contributing receiver count for this projected record, not the total network size.
track_kindstring- drone or adsb_aircraft.
simulatedboolean- Marks simulated data. Filter explicitly if you require non-simulated records.
test_broadcastboolean- Marks recognised TEST broadcasts. A false value is not proof that a record is operational traffic.
emergency_statestring or null- Reported/projected state where available; unknown is not a confirmed all-clear. Live ADS-B v1 currently returns unknown.
stale_aftertimestamp (live only)- Live projection expiry time. History records do not include this field.
Interpret data with its limitations.
Live ADS-B supplies test_broadcast: false and emergency_state: "unknown" as projection defaults; neither is an independently verified all-clear. Public references rotate and are not aircraft registrations or permanent drone serial numbers.
Altitude and estimated height above ground have different meanings. V1 does not include the altitude reference or vertical uncertainty. Empty data means no matching retained/available records, not proof of an empty sky.
Coverage and excluded data →Documentation reviewed 2 October 2026. Coverage and access conditions.