Pre-processed snapshot of US aircraft registrations from the 2026-05-14 FAA ReleasableAircraft database. Data only - no dependency on @squawk/icao-registry. Versioned and released independently.
Part of the @squawk aviation library suite. See all packages on npm.
npm install @squawk/icao-registry-data
Pair with @squawk/icao-registry for zero-config lookups:
import { usBundledRegistry } from '@squawk/icao-registry-data';
import { createIcaoRegistry } from '@squawk/icao-registry';
const registry = createIcaoRegistry({ data: usBundledRegistry.records });
const aircraft = registry.lookup('A004B3');
For browsers, edge runtimes (Cloudflare Workers, Deno Deploy), and any other
environment without node:fs, import the async loader from the /browser
subpath. It fetches and decompresses the bundled .gz using Web Streams
(DecompressionStream) and the global fetch.
import { loadUsBundledRegistry } from '@squawk/icao-registry-data/browser';
import { createIcaoRegistry } from '@squawk/icao-registry/browser';
const dataset = await loadUsBundledRegistry();
const registry = createIcaoRegistry({ data: dataset.records });
The default URL is resolved relative to this module's import.meta.url,
which works under any modern ESM bundler when the package is installed
normally.
To host the asset on your own CDN, to use a bundler-resolved (hashed)
asset URL, or to override the URL for any other reason, pass an explicit
url:
import { loadUsBundledRegistry } from '@squawk/icao-registry-data/browser';
const dataset = await loadUsBundledRegistry({
url: 'https://your-cdn.example/icao-registry.json.gz',
});
The loader also accepts a custom fetch implementation, which is useful in
tests or in edge environments that need a configured fetcher.
All data is derived from the FAA ReleasableAircraft database, which is public domain. The build pipeline that produces this dataset lives in tools/build-icao-registry-data.