✈️ FAA Aircraft Registry Scraper — N-Number Lookup avatar

✈️ FAA Aircraft Registry Scraper — N-Number Lookup

Pricing

from $8.00 / 1,000 aircraft records

Go to Apify Store
✈️ FAA Aircraft Registry Scraper — N-Number Lookup

✈️ FAA Aircraft Registry Scraper — N-Number Lookup

Scrape the FAA Aircraft Registry by N-number — aircraft make, model, year, owner name, address, airworthiness category, engine type, registration status, certificate dates, mode-S code. Built for aviation insurers, jet brokers, journalists tracking ownership, NTSB-adjacent safety researchers.

Pricing

from $8.00 / 1,000 aircraft records

Rating

0.0

(0)

Developer

Stephan Corbeil

Stephan Corbeil

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

FAA Aircraft Registry Scraper

Look up any US aircraft N-number against the FAA Aircraft Registry — get aircraft make, model, year, owner name and address, airworthiness category, engine type, registration status, certificate issue/expiration dates, and Mode-S code (in both octal and hex). Built for aviation insurers writing hull/liability policies, jet brokers prospecting owner databases, journalists tracking corporate or celebrity jet movements, NTSB-adjacent safety researchers, and maintenance shops verifying registration before logging hours.

Hits the official FAA inquiry page directly (no auth, no API key required). Bulk-friendly: pass an array of N-numbers and the actor processes them in one run with polite throttling.

Note on substitution: this actor was built in lieu of an NTSB CAROL accident scraper because NTSB's CAROL API column schema is undocumented from the public side and rejected every brute-force probe. The FAA Aircraft Registry covers the same buyer audience (aviation insurers, attorneys, safety researchers) with stable, openly-published data. Pair it with NTSB downloads as needed.

What you get

FieldTypeNotes
n_numberstringNormalized N-number (leading N always present)
statusstringok / not_found / no_data / http_error / network_error
serial_numberstringManufacturer serial
registration_statusstringValid / Pending / Expired / etc.
manufacturer_namestringAircraft manufacturer (Cessna, Boeing, Cirrus, DJI, etc.)
modelstringAircraft model
type_aircraftstring"Fixed wing single engine", "Rotorcraft", "Glider", etc.
type_enginestring"Reciprocating", "Turbo-jet", "Electric", etc.
engine_manufacturer / engine_modelstringEngine spec
year_manufacturedstringYear of manufacture
certificate_issue_datestringWhen this registration was issued
expiration_datestringWhen this registration expires
airworthiness_certificate_classstringStandard / Experimental / Special / Restricted
airworthiness_datestringLast airworthiness certificate date
approved_operationsstringPlain-text approved ops
type_registrationstringIndividual / Corporation / Partnership / Government / LLC
registrant_name / registrant_street / registrant_city / registrant_state / registrant_zip_code / registrant_county / registrant_countrystringOwner address block
regionstringFAA region
fractional_ownershipstringFractional-ownership program flag
trade_namestringDBA when applicable
mode_s_code_oct / mode_s_code_hexstringMode-S transponder address (used by ADS-B trackers like Flightradar24/OpenSky)
dealerstringDealer registration flag
pending_number_change / date_change_authorizedstringN-number change tracking
last_action_datestringDate of last FAA action on the record
source_urlstringDirect link to the FAA inquiry result

Use cases

  • Hull & liability underwriting — verify ownership, year, type, engine before binding an aviation insurance policy.
  • Pre-purchase due diligence — broker pulls registration, airworthiness history, and owner before listing a private jet.
  • Corporate jet tracking — combine mode_s_code_hex with ADS-B feeds (OpenSky / Flightradar24) to identify which company owns which aircraft observed in flight.
  • Journalism / celebrity jet stories — owner address + tail-number + Mode-S → live position reporting.
  • Aviation maintenance shops — verify registration is current before booking a heavy inspection.
  • Aircraft repossession / leasing recovery — lookup current registered owner before sending a recovery team.

Quick start

Input JSON (single):

{ "n_number": "N12345", "max_results": 1 }

Input JSON (bulk):

{
"n_numbers": ["N628TS", "N272BG", "N509LS", "N100AT"],
"max_results": 50
}

Sample output item:

{
"n_number": "N628TS",
"status": "ok",
"serial_number": "12345",
"registration_status": "Valid",
"manufacturer_name": "GULFSTREAM AEROSPACE",
"model": "GVII-G650ER",
"type_aircraft": "Fixed wing multi engine",
"type_engine": "Turbo-jet",
"year_manufactured": "2016",
"certificate_issue_date": "06/15/2016",
"expiration_date": "06/30/2027",
"registrant_name": "FALCON LANDING LLC",
"registrant_state": "TX",
"registrant_country": "US",
"mode_s_code_hex": "A8615C",
"type_registration": "LLC"
}

Python SDK example

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("nexgendata/faa-aircraft-registry-scraper").call(run_input={
"n_numbers": ["N1", "N100AT", "N628TS"],
"max_results": 50,
})
for a in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{a['n_number']} {a.get('manufacturer_name')} {a.get('model')} -> {a.get('registrant_name')}")

cURL example

curl -X POST "https://api.apify.com/v2/acts/nexgendata~faa-aircraft-registry-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"n_number":"N12345"}'

Integrations

  • Zapier / Make.com / n8n — auto-lookup any N-number that appears in a Slack message or CRM record.
  • Postgres / Snowflake / BigQuery — sync results into your aviation-data warehouse.
  • OpenSky / ADSBexchange — combine mode_s_code_hex with live ADS-B feeds for owner-resolved flight tracking.

Pricing

Pay-per-event:

  • Actor start: $0.00005 (one-time per run)
  • Per N-number record: $0.008

Cost calculator:

AircraftApprox. cost
25$0.20
100$0.80
500$4.00
1,000$8.00

Premium pricing reflects the B2B value of N-number resolution — aviation underwriters and jet brokers typically pay $100s for batch lookup services.

FAQ

Q: How fresh is the data?
A: Live. Each lookup hits the FAA inquiry endpoint in real time, so registrations updated minutes ago will appear.

Q: Are deregistered aircraft included?
A: Yes — the FAA preserves deregistration history. The registration_status field will reflect Cancelled / Expired / Sale-Reported and the registrant fields show the last registered owner.

Q: What about non-US aircraft?
A: Out of scope. This actor handles only N-prefixed FAA registrations. For Canadian C-, German D-, UK G-, etc., use the corresponding national civil aviation authority.

Q: Can I look up by owner name instead of N-number?
A: Not in this actor (the FAA's by-name search has aggressive rate limiting). For bulk owner-side lookups, contact us about a custom build.

Q: What's the difference between this and the FAA monthly database download?
A: The monthly download is a 600K-row CSV that's ~24 hours stale and requires you to load the whole file. This actor returns one record per N-number, in real time, via the same web inquiry the FAA itself uses.

Q: Are sensitive owner details suppressed?
A: The FAA blocks personal address details for owners on the Privacy ICAO Address (PIA) program. This actor returns whatever the FAA shows publicly — same data, same redactions.

About nexgendata

Built and maintained by nexgendata — a portfolio of 160+ specialized scrapers and MCP servers covering compliance, civic data, lead gen, and developer tools. Need higher volume, custom output, or a private fork? Email steve_corbeil@hotmail.com.