FAA Aircraft Registry Scraper
Pricing
Pay per event
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
Maintained by CommunityActor 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?
| Field | Description |
|---|---|
nNumber | FAA aircraft registration number |
serialNumber | Aircraft serial number |
uniqueId | FAA unique registry identifier |
manufacturer | Joined aircraft manufacturer |
model | Joined aircraft model |
yearManufactured | Aircraft manufacture year when available |
aircraftType | Decoded aircraft type |
engineManufacturer | Joined engine manufacturer |
engineModel | Joined engine model |
ownerName | Registrant / owner name |
street, city, state, zipCode | Registrant address fields |
country, countyCode, region | Registry location codes |
statusCode | FAA registration status code |
certificateIssueDate | Certificate issue date |
expirationDate | Registration expiration date |
modeSCodeHex | Mode S hexadecimal code |
sourceFileDate | FAA source file date when available |
scrapedAt | Actor 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
- Open the actor on Apify.
- Enter one or more filters such as N-numbers, owner name, state, manufacturer, model, or status code.
- Set
maxItemsto the number of aircraft records you need. - Click Start.
- 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: 100to 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 ApifyClientclient = 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.txtrecords from the releasable database. - Deregistered aircraft in
DEREG.txtare 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.
Related scrapers
- https://apify.com/automation-lab/website-contact-finder
- https://apify.com/automation-lab/google-maps-lead-finder
- https://apify.com/automation-lab/business-email-finder
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.