FAA Aircraft Registry Scraper - Owners & Expiring Registrations avatar

FAA Aircraft Registry Scraper - Owners & Expiring Registrations

Pricing

from $3.00 / 1,000 aircraft records

Go to Apify Store
FAA Aircraft Registry Scraper - Owners & Expiring Registrations

FAA Aircraft Registry Scraper - Owners & Expiring Registrations

Aircraft registration data from the official FAA Releasable Aircraft database: registrations expiring soon, newly issued or recently deregistered. N-number, make/model, year, engine, owner company and address. Filter by state, aircraft and engine type. Business owners by default.

Pricing

from $3.00 / 1,000 aircraft records

Rating

0.0

(0)

Developer

Groundplane Labs

Groundplane Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Filter the official daily Federal Aviation Administration (FAA) Civil Aircraft Registry (ReleasableAircraft.zip, ~300,000+ registered US civil aircraft) joined with aircraft model (ACFTREF.txt), engine (ENGINE.txt), and deregistration (DEREG.txt) reference tables. Identify corporate, LLC, partnership, and fleet aircraft owners flagged by registration lifecycle signals: expiring registrations, newly issued certificates, or recent deregistrations.

What it does

Every US civil aircraft („N-Number“) must maintain an active registration with the FAA Civil Aviation Registry. Raw FAA bulk files split aircraft ownership (MASTER.txt), make/model specs (ACFTREF.txt), engine specs (ENGINE.txt), and deregistered aircraft (DEREG.txt) across separate fixed-width CSV files with numeric code lookups.

This Actor:

  • Streams the official daily ReleasableAircraft.zip bulk archive directly to temporary disk and parses it with low-memory streaming CSV readers.
  • Verifies the MASTER.txt schema header (N-NUMBER,SERIAL NUMBER,MFR MDL CODE) before processing.
  • Joins every aircraft record to ACFTREF.txt (manufacturer, model, aircraft type) and ENGINE.txt (engine manufacturer, engine model, engine type).
  • Filters by four aviation registration signals:
    • EXPIRING_SOON — Active registrations expiring within expiringWithinDays (default 180) through the end of that calendar month, soonest expiration first. Many owners renew months early, so 180 days gives a fuller list than 90.
    • NEWLY_ISSUED_30_DAYS — Certificates issued within the past 30 days (sorted newest certificate first).
    • RECENTLY_DEREGISTERED_30_DAYS — Aircraft cancelled/deregistered in DEREG.txt within the past 30 days (sorted newest cancellation first).
    • ALL_ACTIVE — All valid (STATUS CODE = V) registrations matching your state, aircraft-type, and engine-type filters.
  • Excludes private individual owners and co-owner registrations (TYPE REGISTRANT 1, 4 and 9, which are almost always people) by default (includeIndividualOwners: false), so results focus on corporations, LLCs, partnerships and government entities. Partnership registrations (type 2) are kept only when the name carries a business marker such as LTD, LP, LLC, LLP, PARTNERSHIP, INC, CORP, CO or TRUST, because many are two people registered together.

Note on expirations: FAA mails renewal notices about 6 months ahead and most owners renew early, so very few registrations appear in the next 1-3 months. Most expirations in the data show up 3 or more months out. That's why expiringWithinDays defaults to 180.

Who it's for

  • Aviation MROs, avionics shops, and maintenance providers reaching out to corporate and LLC aircraft operators ahead of registration renewals or after new acquisitions.
  • Aircraft brokers, lenders, and aviation insurance agencies tracking newly certificated and recently deregistered fixed-wing and rotorcraft assets.
  • FBOs, hangar operators, and charter management companies mapping turbine, turboprop, and multi-engine fleets by state.
  • Aerospace market researchers analyzing fleet composition and ownership trends.

Input

  • expiringWithinDays (integer) — Window for EXPIRING_SOON, 1-730 days. Default 180.
  • registrationSignal (string enum) — "EXPIRING_SOON" (default), "NEWLY_ISSUED_30_DAYS", "RECENTLY_DEREGISTERED_30_DAYS", or "ALL_ACTIVE".
  • states (array of strings) — Two-letter US state codes for the registrant's address. Default: ["AZ", "TX"]. Leave empty ([]) for all states.
  • aircraftTypes (array of strings) — FAA aircraft type codes ("4" Fixed Wing Single-Engine, "5" Fixed Wing Multi-Engine, "6" Rotorcraft, "1" Glider, "2" Balloon, "3" Blimp/Dirigible, "7" Weight-Shift-Control, "8" Powered Parachute, "9" Gyroplane, "H" Hybrid Lift, "O" Other). Default: ["4", "5", "6"].
  • engineTypes (array of strings) — Optional FAA engine type codes ("1" Reciprocating, "2" Turbo-prop, "3" Turbo-shaft, "4" Turbo-jet, "5" Turbo-fan, etc.). Default: [] (all engine types).
  • includeIndividualOwners (boolean) — Defaults to false to exclude individual consumer registrants and co-owners (TYPE REGISTRANT 1, 4 and 9) and return only business/institutional registrant types (2, 3, 5, 7 and 8).
  • nNumbers (array of strings) — Optional list of specific N-Numbers (with or without leading "N", e.g. ["N10004", "101UV"]) to filter from the bulk file. Default: [].
  • maxItems (integer) — Maximum rows to return. Default: 200.

Example input JSON

{
"registrationSignal": "EXPIRING_SOON",
"states": ["AZ", "TX"],
"aircraftTypes": ["4", "5", "6"],
"engineTypes": [],
"includeIndividualOwners": false,
"nNumbers": [],
"maxItems": 200
}

Example run options (default max charge $50)

Set a default maximum charge of $50 ("maxTotalChargeUsd": 50) in your run options:

{
"maxTotalChargeUsd": 50
}

Output

Results are deduplicated by nNumber + serialNumber and sorted by the signal's primary date (expirationDate ascending for EXPIRING_SOON; certIssueDate descending for NEWLY_ISSUED_30_DAYS and ALL_ACTIVE; cancelDate descending for RECENTLY_DEREGISTERED_30_DAYS).

FieldTypeDescription
nNumberstringFAA registration number with leading "N".
serialNumberstring | nullAirframe manufacturer serial number.
manufacturerstring | nullAircraft manufacturer name (ACFTREF.txt).
modelstring | nullAircraft model designation (ACFTREF.txt).
aircraftTypestring | nullDecoded aircraft category (e.g. Fixed Wing Multi-Engine, Rotorcraft).
engineTypestring | nullDecoded engine category (e.g. Turbo-fan, Turbo-prop, Reciprocating).
engineManufacturerstring | nullEngine manufacturer name (ENGINE.txt).
engineModelstring | nullEngine model designation (ENGINE.txt).
yearManufacturedinteger | nullFour-digit manufacturing year.
registrantTypestring | nullDecoded registrant type (Corporation, LLC, Partnership, Co-Owned, Government, Individual, etc.).
registrantNamestring | nullRegistered owner name.
streetstring | nullMailing street address line 1.
street2string | nullMailing street address line 2.
citystring | nullMailing city.
statestring | nullTwo-letter state code.
zipstring | nullMailing postal ZIP code.
countrystring | nullTwo-letter country code.
certIssueDatestring | nullCertificate issue date (YYYY-MM-DD).
lastActionDatestring | nullLast registration action date (YYYY-MM-DD).
expirationDatestring | nullRegistration expiration date (YYYY-MM-DD).
daysUntilExpirationinteger | nullCalendar days until expirationDate.
airworthinessDatestring | nullAirworthiness certificate date (YYYY-MM-DD).
cancelDatestring | nullDeregistration cancellation date (YYYY-MM-DD, populated for DEREG.txt rows).
statusCodestring | nullRaw FAA status code (V = Valid, etc.).
registrationSignalstringRegistration signal matched for this row.
faaUrlstringDirect link to the FAA Aircraft Inquiry N-Number record.

Sample output row (synthetic example)

{
"nNumber": "N999EX",
"serialNumber": "525B-0999",
"manufacturer": "TEXTRON AVIATION INC",
"model": "525B",
"aircraftType": "Fixed Wing Multi-Engine",
"engineType": "Turbo-fan",
"engineManufacturer": "WILLIAMS",
"engineModel": "FJ44 SERIES",
"yearManufactured": 2020,
"registrantType": "LLC",
"registrantName": "EXAMPLE FLIGHT HOLDINGS LLC",
"street": "100 AVIATION WAY STE 200",
"street2": null,
"city": "SCOTTSDALE",
"state": "AZ",
"zip": "85260",
"country": "US",
"certIssueDate": "2020-01-15",
"lastActionDate": "2023-01-23",
"expirationDate": "2027-01-31",
"daysUntilExpiration": 99,
"airworthinessDate": "2020-01-10",
"cancelDate": null,
"statusCode": "V",
"registrationSignal": "EXPIRING_SOON",
"faaUrl": "https://registry.faa.gov/AircraftInquiry/Search/NNumberResult?nNumberTxt=999EX"
}

How pricing works

Pay per result: $0.003 per aircraft record returned ($3.00 per 1,000), plus a tiny Apify actor-start fee. You only pay for rows returned. Set "maxTotalChargeUsd": 50 in your run options to cap spend automatically.

Privacy and intended use

This Actor returns public government records that include registered owner names and addresses, some of them private individuals. Use them only for lawful purposes such as research, due diligence, compliance and relevant B2B outreach. Do not spam, harass or resell personal data, and follow the laws that apply to you (for example CAN-SPAM, TCPA, GDPR/CCPA and state privacy laws) plus any terms set by the source agency. You are responsible for how you use the data. To report a data or privacy issue, open a ticket in this Actor's Issues tab.

Data source and terms

  • Official source: FAA Releasable Aircraft Database Download.
  • Update frequency: Published and updated daily by the FAA Civil Aviation Registry (federal public data).
  • Affiliation disclaimer: This Actor is an independent tool and is not affiliated with or endorsed by the Federal Aviation Administration (FAA) or the U.S. Department of Transportation.

Compliance

The FAA Releasable Aircraft Registry publishes mailing addresses for registered aircraft owners as a matter of federal public record (it does not contain phone numbers or email addresses). includeIndividualOwners defaults to false so individual consumer registrants are excluded unless explicitly requested. Buyers are responsible for complying with the Telephone Consumer Protection Act (TCPA), the National Do-Not-Call Registry, the CAN-SPAM Act, and all applicable federal and state privacy laws before any outreach. Do not use this Actor for consumer or individual targeting.

Limits and FAQ

  • Why do FAA registrations expire on the last day of the month? Under 14 CFR § 47.40, FAA aircraft registration certificates expire on the last calendar day of the month. Consequently, EXPIRING_SOON includes through the last day of the calendar month at the end of the window.
  • Why does the Actor download the bulk ZIP instead of scraping aircraftinquiry web pages? The official daily bulk file (ReleasableAircraft.zip) is faster, complete across all ~300,000+ registrations, and avoids hammering individual web inquiry pages.

Changelog

  • v0.1 (2026-10-23): Initial release with streaming bulk ZIP download, MASTER.txt / DEREG.txt / ACFTREF.txt / ENGINE.txt join, and privacy-first registrant filtering.