Open data
Free daily VDL2/ACARS message exports — one file per UTC day, hosted free on GitHub Releases. Open to all: no account, no token, no rate limit.
✓ Live. Daily files are downloadable now — open to all, no account needed. Today's file is a partial-day preview; the complete day's file replaces it after the UTC day finalizes.
What you get
Each monthly release holds one zstd-compressed Parquet file per UTC day (vdl2_messages_YYYY-MM-DD.parquet) of decoded VDL2/ACARS messages. Per-file row counts and SHA-256 checksums are listed in the release notes.
- Stable top-level fields as columns:
timestamp, icaoHex, fromHex, toHex, tail, flightNumber, label, frequency, mode, source, text, … - The full decoder output (
raw) andstationare kept as JSON-string columns, so nothing is lost. - Note: only a subset of messages carry a position — see the repo README.
How to get it
- GitHub Releases — one release per month (tagged
YYYY-MM), holding one file per day: github.com/Sky-Power-Services/vdliq-data - Direct per-day URL:
.../releases/download/YYYY-MM/vdl2_messages_YYYY-MM-DD.parquet
Load it
import duckdb
# read a specific day straight from GitHub — no download needed
duckdb.sql("SELECT * FROM read_parquet('https://github.com/Sky-Power-Services/vdliq-data/releases/download/2026-06/vdl2_messages_2026-06-29.parquet') LIMIT 10")
# or, after downloading the file
import pandas as pd
df = pd.read_parquet("vdl2_messages_2026-06-29.parquet")
Details
- Cadence: daily, ~06:20 UTC (after the prior day finalizes).
- License: Open Database License (ODbL-1.0). Attribution: "vdliq feeder network".
- How it's built: a scheduled job publishes the day's file — it never runs on our feeder/ingest servers.
Looking for ADS-B (1090 MHz) daily data? See adsbiq.com/data ↗