Flight information API
Access & limitsPublic, no key needed · Light▾
Open to everyone. A free API key from your profile raises the limits: send it in an X-API-Key header, or as api_key= in the address.
| 5 minutes | Hour | Day | |
|---|---|---|---|
| Without a key | 30 | 300 | 2,000 |
| With a key | 150 | 1,500 | 10,000 |
Log in to create a free key on your profile page.
Every answer carries X-RateLimit-Remaining and X-RateLimit-Reset. Over a limit, the answer is error 429 with retry_after in seconds. Refused requests do not count.
Overview
This endpoint returns a public summary of a single flight, including links to its chart thumbnails in every size. Look a flight up either by its cloud flight id, or by the signature hash that the verifier returns as flight_unique_id (the same value a flyer can read from the log file itself).
It is a single indexed lookup and returns no user identifying information: no account, no device serial, no upload address, no notes, images or launch coordinates. The device tag and competitor tag are included, as they identify an entry rather than a person.
Endpoint
id or hash
Supply either the numeric id or the signature hash. If both are given, id takes precedence. Only publicly visible flights are returned.
Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer | The numeric cloud flight id |
hash | string | The flight's signature hash (64 or 128 hex characters), as returned by the verifier or written in the log file |
sig | string | Alias for hash |
Response
The API returns JSON. Core barometric fields are present for every flight. IMU-capable flights (Mercury, or Nano hardware revision 4 and later) also include an imu object with acceleration, orientation, spin, stability and dual-deploy data. Mercury flights additionally include a mercury object with extra sensor and environment data (external temperature probe, battery, board temperature) that only that board records. Barometric-only flights omit the IMU and Mercury blocks.
{
"success": true,
"flight": {
"id": 1234,
"url": "https://www.altimetercloud.com/flights/1234/",
"csv_url": "https://www.altimetercloud.com/flightdata/4/1234.csv",
"device": "nanov1",
"firmware": "1.52",
"revision": "4",
"has_imu": 1,
"tag": "MY-NANO",
"competitor_tag": "C-07",
"uploaddate": "10/06/26-14:22:01",
"uploadstamp": 1781453721,
"samples": 3210,
"sps": 100,
"apogee": 246.4,
"apogee_time": 5210,
"max_velocity": 98.3,
"max_velocity_down": -12.4,
"velocity_landing": 4.8,
"landing_ms": 41800,
"landing_m": 1.2,
"flight_time": 41.8,
"total_time": 44.2,
"lockouts": 0,
"not_real_flight": 0,
"settings": {
"sealevel": 1013.25,
"samplerate": 100,
"recordingstop": 1,
"oversampling": 1,
"iirfilter": 0,
"pressurefilter": 1,
"startuplock": 0,
"usetemp": 1,
"fixedtemp": 15,
"launchdetect": 1,
"sampleratio": 1,
"maintainpower": 0,
"maxsamples": 0,
"recording_alt": 0,
"units": 0,
"units_velocity": 0,
"units_acceleration": 0,
"lockout_time": 0,
"lockout_change": 0,
"output_enable": 0,
"orientation": 0,
"launchprotection": 1
},
"imu": {
"burnout": 1400,
"ejection": 5600,
"max_acceleration": 11.6,
"acceleration": {
"max_ascent": 11.6,
"max_descent": 2.3,
"max_burn": 11.6,
"avg_ascent": 4.2,
"avg_burn": 9.8
},
"velocity": {
"burnout": 96.2,
"descent": 5.1,
"up_imu": 96.2,
"down_imu": -11.8
},
"orientation": {
"launch_pitch": 2,
"launch_roll": 1,
"launch_yaw": 0,
"launch_tilt": 3,
"max_tilt": 7
},
"spin": {
"max": 540.5,
"average": 120.2,
"roll_rate": 33,
"coning_rate": 4,
"coning_power": 2
},
"stability": {
"score": 92,
"launch": 88,
"coning": 95,
"straight": 90,
"confidence": 1,
"thrust_straight": 97,
"launch_tilt": 3
},
"dual_deploy": {
"detected": 1,
"drogue_velocity": 18.2,
"main_velocity": 6.4,
"main_altitude": 120.5,
"main_time": 30200
}
},
"thumbnails": {
"meters_small": "https://www.altimetercloud.com/flightdata/4/1234.webp",
"meters_large": "https://www.altimetercloud.com/flightdata/4/1234_l.webp",
"feet_small": "https://www.altimetercloud.com/flightdata/4/1234_ft.webp",
"feet_large": "https://www.altimetercloud.com/flightdata/4/1234_l_ft.webp",
"miles_small": "https://www.altimetercloud.com/flightdata/4/1234_mi.webp",
"miles_large": "https://www.altimetercloud.com/flightdata/4/1234_l_mi.webp",
"km_small": "https://www.altimetercloud.com/flightdata/4/1234_km.webp",
"km_large": "https://www.altimetercloud.com/flightdata/4/1234_l_km.webp"
}
}
}
A barometric-only flight (for example a Nano below revision 4) returns the same core fields with has_imu set to 0 and no imu block:
{
"success": true,
"flight": {
"id": 980,
"device": "nanov1",
"firmware": "1.52",
"revision": "2",
"has_imu": 0,
"apogee": 312.7,
"apogee_time": 6120,
"max_velocity": 104.5,
"...": "core fields and settings, but no imu block"
}
}
If no public flight matches the supplied id or hash:
{
"success": false,
"error": {
"code": "404",
"message": "No public flight found for that id or signature hash"
}
}
Response fields
All measurements are returned in base SI units: heights in metres, velocities in metres per second, accelerations in g, angles in degrees, spin and rates in degrees per second, and times in milliseconds unless noted. The flight page may display these converted to your chosen units, but the API is always SI.
Core (every flight)
| Field | Type | Description |
|---|---|---|
id / url | integer / string | Cloud flight id and its public flight page |
csv_url | string | Direct download link for the raw CSV log |
device / firmware / revision | string | Model (nanov1, mercuryv1), firmware version, hardware revision |
has_imu | integer | 1 if this model and revision has an IMU (Mercury, or Nano revision 4+). Determines whether the imu block is present |
tag / competitor_tag | string | Device tag and competitor tag |
uploaddate / uploadstamp | string / integer | Upload date string and unix timestamp |
samples / sps | integer | Recorded sample count and samples per second |
apogee | float | Peak height in metres |
apogee_time | integer | Time of apogee in milliseconds |
max_velocity / max_velocity_down | float | Peak ascent and descent velocity (m/s), barometric |
velocity_landing | float | Velocity at landing (m/s) |
landing_ms / landing_m | number | Landing time (milliseconds) and landing height (metres) |
flight_time / total_time | float | Recording duration and total duration including pre-launch, in seconds |
lockouts | integer | Number of apogee lockout events |
not_real_flight | integer | 1 if flagged as not a genuine flight (for example a bench test) |
settings | object | Recording settings from the log header (sea level pressure, sample rate, filters, units, lockouts, output, orientation, launch protection and more) |
thumbnails | object | Chart image URLs: metres, feet, miles and kilometres, each in a small and large size |
imu (IMU-capable flights only)
Present only when has_imu is 1. Absent for barometric-only flights.
| Field | Type | Description |
|---|---|---|
burnout / ejection | integer | Motor burnout and ejection times in milliseconds |
max_acceleration | float | Peak acceleration in g |
acceleration | object | max_ascent, max_descent, max_burn, avg_ascent, avg_burn, all in g |
velocity | object | burnout, descent (m/s), plus up_imu / down_imu, the IMU-derived peak up and down velocities (m/s) |
orientation | object | launch_pitch, launch_roll, launch_yaw, launch_tilt, max_tilt, all in degrees |
spin | object | max, average, roll_rate, coning_rate, coning_power, all in degrees per second |
stability | object | score and the launch / coning / straight / thrust_straight sub-scores (0–100), confidence (0–1), and launch_tilt (degrees) |
dual_deploy | object | detected (0/1), drogue_velocity / main_velocity (m/s), main_altitude (metres), main_time (milliseconds) |
mercury (Mercury flights only)
Present only for Mercury, which records an extra sensor and environment layer the Nano does not. Read best-effort from the flight's data file, so older Mercury firmware may return fewer fields, and any field that is absent is simply omitted.
"mercury": {
"mt1_temp_c": 16,
"battery_start_pct": 98,
"battery_end_pct": 95,
"board_temp_start_c": 13.02,
"board_temp_end_c": 12.25,
"recovered": 0
}
| Field | Type | Description |
|---|---|---|
mt1_temp_c | float | External MT1 temperature probe reading at launch, in degrees Celsius |
battery_start_pct / battery_end_pct | integer | Battery charge at the start and end of the flight, as a percentage |
board_temp_start_c / board_temp_end_c | float | On-board temperature at the start and end of the flight, in degrees Celsius |
recovered | integer | 1 if the log was rebuilt from flash after a crash or brownout, otherwise 0 |
API Playground
Enter a public flight id (or a signature hash) and click Run to fetch its summary.
Crediting AltimeterCloud
Free to use. If you use this API, or anything made from the answers, in a commercial product or service, credit AltimeterCloud with a link to www.altimetercloud.com at the point of use: on the screen, page or printout where the data appears, for example “Data from AltimeterCloud.com”. Any credits the data's own sources ask for, listed on this page, apply as well.



















