FAA Aircraft Registry Scraper avatar

FAA Aircraft Registry Scraper

Pricing

Pay per event

Go to Apify Store
FAA Aircraft Registry Scraper

FAA Aircraft Registry Scraper

✈️ Download and filter public FAA aircraft registry records by N-number, owner, state, make, model, engine, and status.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Extract structured aircraft registration records from the public FAA Civil Aircraft Registry bulk database. This actor downloads the FAA Releasable Aircraft ZIP, joins aircraft and engine reference tables, filters locally, and outputs clean aircraft, owner, address, N-number, make/model, engine, certificate, and status fields.

What does FAA Aircraft Registry Scraper do?

FAA Aircraft Registry Scraper turns the FAA's downloadable registry files into ready-to-use JSON, CSV, Excel, or API data. Instead of manually downloading ZIP files and joining MASTER.txt, ACFTREF.txt, and ENGINE.txt, you can run this actor with simple filters and receive normalized dataset rows.

It supports:

  • ✈️ N-number lookup
  • 🧾 Owner / registrant name search
  • 📍 State, county, and country filters
  • 🏭 Manufacturer and model filters
  • 🔩 Serial number filters
  • ✅ FAA status code filters
  • 📦 Large bulk exports with maxItems

Who is it for?

Aviation insurers

Build underwriting and renewal lead lists by aircraft type, state, owner name, make/model, and registration status.

Aircraft lenders and lessors

Enrich borrower, collateral, and portfolio data with public aircraft registration metadata.

Aircraft brokers and dealers

Find aircraft owners by state, model, vintage, and registration status for market outreach or inventory research.

FBO, MRO, and maintenance lead generation teams

Create local prospect lists for aircraft owners near target service regions.

Compliance and OSINT researchers

Normalize public FAA registry data for investigations, sanctions screening, safety research, and ownership monitoring.

Why use this actor?

The FAA bulk database is public, but it is not convenient. The files are large, split across reference tables, and use compact codes. This actor automates the boring work:

  • Downloads the current FAA public ZIP directly from registry.faa.gov
  • Parses the active registry master file
  • Joins aircraft manufacturer/model references
  • Joins engine manufacturer/model references
  • Converts FAA date strings to ISO dates
  • Emits typed fields with stable names
  • Charges per saved result, not per scanned row

What data can I extract?

FieldDescription
nNumberFAA aircraft registration number
serialNumberAircraft serial number
uniqueIdFAA unique registry identifier
manufacturerJoined aircraft manufacturer
modelJoined aircraft model
yearManufacturedAircraft manufacture year when available
aircraftTypeDecoded aircraft type
engineManufacturerJoined engine manufacturer
engineModelJoined engine model
ownerNameRegistrant / owner name
street, city, state, zipCodeRegistrant address fields
country, countyCode, regionRegistry location codes
statusCodeFAA registration status code
certificateIssueDateCertificate issue date
expirationDateRegistration expiration date
modeSCodeHexMode S hexadecimal code
sourceFileDateFAA source file date when available
scrapedAtActor extraction timestamp

How much does it cost to scrape FAA aircraft registry records?

This actor uses pay-per-event pricing. You pay a small start fee for each run and then a per-result fee for each aircraft registry record saved to the dataset. Use maxItems to control run size during testing and scale up once your filters are correct.

How to scrape FAA aircraft registry data

  1. Open the actor on Apify.
  2. Enter one or more filters such as N-numbers, owner name, state, manufacturer, model, or status code.
  3. Set maxItems to the number of aircraft records you need.
  4. Click Start.
  5. Export results as JSON, CSV, Excel, XML, RSS, or through the Apify API.

Input options

N-numbers

Use exact N-numbers with or without the leading N. Example: N10001 and 10001 are treated the same.

Owner name

Use a case-insensitive substring. Example: AIR LLC matches owners containing that phrase.

States, counties, and countries

Use two-letter state codes, FAA county codes, and country codes such as US.

Manufacturers and models

Manufacturer and model filters are matched after joining the FAA aircraft reference table, so you can search names like CESSNA, PIPER, BEECH, or model fragments.

Status codes

Use FAA registry status codes. V is commonly used for valid records in the public file.

Example input

{
"states": ["TX"],
"manufacturers": ["CESSNA"],
"statusCodes": ["V"],
"maxItems": 100
}

Example output

{
"nNumber": "N10001",
"serialNumber": "A28",
"manufacturer": "WACO",
"model": "ASO",
"yearManufactured": 1928,
"aircraftType": "Fixed wing single-engine",
"engineManufacturer": "WRIGHT",
"engineModel": "WWJ SERIES",
"ownerName": "STOOS ROBERT A",
"city": "LAKELAND",
"state": "FL",
"country": "US",
"statusCode": "V",
"certificateIssueDate": "2019-02-27",
"expirationDate": "2029-02-28"
}

Tips for better results

  • Start with maxItems: 100 to validate your filters cheaply.
  • Use manufacturer + state for regional aviation lead lists.
  • Use N-number lists for enrichment workflows.
  • Use owner-name search for portfolio monitoring.
  • Keep county filters as FAA three-digit county codes.

Integrations

Use this actor with:

  • CRM enrichment workflows for brokers, lenders, and FBO sales teams
  • Scheduled monitoring for owner or aircraft status changes
  • Compliance screening pipelines
  • Data warehouses and BI dashboards
  • Google Sheets or Airtable exports through Apify integrations

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/faa-aircraft-registry-scraper').call({
states: ['TX'],
manufacturers: ['CESSNA'],
maxItems: 100,
});
console.log(run.defaultDatasetId);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/faa-aircraft-registry-scraper').call(run_input={
'states': ['TX'],
'manufacturers': ['CESSNA'],
'maxItems': 100,
})
print(run['defaultDatasetId'])

API usage with cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~faa-aircraft-registry-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"states":["TX"],"manufacturers":["CESSNA"],"maxItems":100}'

MCP usage

Use the Apify MCP server with Claude Desktop, Claude Code, or other MCP clients:

https://mcp.apify.com/?tools=automation-lab/faa-aircraft-registry-scraper

Claude Code setup:

$claude mcp add apify-faa-aircraft-registry "https://mcp.apify.com/?tools=automation-lab/faa-aircraft-registry-scraper"

Claude Desktop MCP config example:

{
"mcpServers": {
"apify-faa-aircraft-registry": {
"url": "https://mcp.apify.com/?tools=automation-lab/faa-aircraft-registry-scraper"
}
}
}

MCP example prompts:

  • "Use the Apify MCP tool automation-lab/faa-aircraft-registry-scraper to find 100 valid Cessna aircraft registered in Texas."
  • "Use the FAA aircraft registry scraper MCP tool to enrich these N-numbers with FAA owner and aircraft metadata, then return a CSV-ready table."
  • "Run the FAA aircraft registry scraper through MCP and create a Florida aircraft owner lead list for aviation insurance outreach."

Data source

The actor uses the FAA public Civil Aircraft Registry releasable aircraft database at https://registry.faa.gov/database/ReleasableAircraft.zip. It does not require a login, password, private cookie, or paid API key.

Update frequency

FAA bulk files are updated by the source. Each actor run downloads the current public ZIP available from the FAA endpoint at run time.

Limitations

  • The actor parses active MASTER.txt records from the releasable database.
  • Deregistered aircraft in DEREG.txt are not included in the MVP output.
  • FAA county values are source codes, not county names.
  • Some FAA code fields are emitted as source codes when public documentation does not provide a safe display label.

Legality

This actor extracts public government registry data from FAA public download files. You are responsible for using the data lawfully, respecting privacy, honoring applicable marketing rules, and complying with Apify's Terms of Service.

FAQ

Does this actor need proxies?

No. The actor downloads a public FAA bulk ZIP over normal HTTPS and does not use Apify Proxy.

Why did my run return fewer records than expected?

Your filters may be too narrow, or maxItems may be lower than the number of matching records. Try fewer filters or increase maxItems.

Can I search by aircraft model?

Yes. The actor joins the FAA aircraft reference file and applies case-insensitive model substring filters.

Can I enrich a list of N-numbers?

Yes. Add your N-numbers to the nNumbers input field and set maxItems at least as high as the list size.

Support

If the FAA changes the downloadable database structure or you need additional registry tables such as deregistered aircraft, open an issue on the Apify actor page with a sample input and expected output.