BIN, LOG & TLOG supported

ArduPilot flight log parser, as an API

Upload any dronelog from Copter, Plane, Rover, or Sub — dataflash .BIN / .LOG, or MAVLink .TLOG — and get back clean JSON or CSV. No Mission Planner exports, no parsing code to maintain.

Free tier includes 100 API calls/month. No credit card required.

Terminal
# Queue a dataflash .BIN log
curl -X POST \
https://dronelogapi.com/api/v2/logs/upload/ardupilot \
-H "Authorization: Bearer YOUR_KEY" \
-F "file=@00000001.BIN"
# 202 — queued for async processing
{
"statusCode": 202,
"message": "Flight log queued for processing.",
"flightId": "9f2c8b3e-4b6a-4a1e-9c2d-7a1f6e0d5b21"
}
.BIN
Dataflash binary logs
.LOG+
Dataflash text & MAVLink .TLOG
Async*
Queued via job, poll for result
Any
Copter, Plane, Rover, Sub
How the parser works

From raw log file to structured data

01

Upload the raw log

POST the file straight off the SD card or telemetry radio — dataflash .BIN/.LOG, or MAVLink .TLOG, no conversion needed.

02

We decode & parse

The upload returns a flightId immediately. A background worker decodes MAVLink/dataflash messages — GPS, mode, battery — and merges them onto a single timeline.

03

Poll for JSON or CSV

Poll the status endpoint with your flightId. Once status is processed, pull back the parsed CSV.

Parser output

What the parser pulls out of every log

GPS track

Lat/lng, altitude, and satellite count at every GPS fix — the timeline anchor for the rest of the log.

Flight mode

Current mode from dataflash MODE messages or MAVLink HEARTBEAT, forward-filled onto each GPS fix.

Battery telemetry

Voltage and current from dataflash BAT messages or MAVLink BATTERY_STATUS.

One row per GPS fix, with the latest known flight mode and battery state merged in — ready to drop into a spreadsheet or database.

FAQ

ArduPilot flight log parser — common questions

Dataflash binary .BIN logs (from the flight controller's SD card), dataflash text .LOG exports, and MAVLink telemetry .TLOG captures from a ground station. You upload the file as-is — the vendor and format are auto-detected.
Any vehicle running ArduPilot firmware — Copter, Plane, Rover, or Sub. The parser reads the standard dataflash/MAVLink message set shared across firmware types, so it isn't tied to a specific flight controller board.
The upload endpoint returns a flightId right away with a 202 status, and a background job decodes the log. Poll the status endpoint (or wire up a webhook) until status flips to processed, then read the csv field.
Both work. POST to the generic /api/v2/logs/upload endpoint and the vendor is detected from the file's magic bytes and extension, or POST directly to /api/v2/logs/upload/ardupilot to skip detection.
Every account gets 100 free API calls per month, no credit card required — enough to parse and inspect real logs before committing to a paid plan.

Stop parsing ArduPilot logs by hand

Get your API key in 30 seconds. 100 free calls per month, no credit card needed.

Free tier included No credit card Cancel anytime