Aircraft For Sale Scraper - Planes, Jets & Helicopters Leads
Pricing
from $17.00 / 1,000 results
Aircraft For Sale Scraper - Planes, Jets & Helicopters Leads
Scrape aircraft for sale listings with make, model, year, price, total time hours, category, tail number, location and seller or broker contact details. Search by make, model or type. Export to JSON, CSV or Excel.
Pricing
from $17.00 / 1,000 results
Rating
5.0
(1)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
9 days ago
Last modified
Categories
Share
Aircraft For Sale Scraper - Planes, Jets & Helicopters Leads
Here is one real result, with every field the actor returns:
{"adId": "2065662","title": "1979 CESSNA C172N","make": "Cessna","model": "C172N","year": 1979,"category": "Cessna","priceAmount": 140000,"priceCurrency": "USD","priceLabel": "$140,000","totalTimeHours": 4196,"tailNumber": null,"status": "AVAILABLE FOR SALE","description": "1979 Cessna C172N: $140,000.00 OBO TTAF 4196.6, 0320 H2AD-76 TTSMOH 758 all new accessories, mounts, and fuel, oil lines. Prop 758 since overhaul. Garmin 530W overhauled by Garmin, Garmin GMA 345 audio panel, Garmin 327 transponder, MX 385 overhauled for com 2, 106a CDI, GDL 88 for ADSB, AV 30. Located in Central Missouri next to KMYJ on private strip. Phil 407 402 0768","sellerName": "Richard Nation","sellerTitle": null,"dealerName": null,"sellerType": null,"sellerPhone": "407 402 0768","sellerEmail": null,"fullDescription": "1979 Cessna C172N: $140,000.00 OBO TTAF 4196.6, 0320 H2AD-76 TTSMOH 758 all new accessories, mounts, and fuel, oil lines. Prop 758 since overhaul. Garmin 530W overhauled by Garmin, Garmin GMA 345 audio panel, Garmin 327 transponder, MX 385 overhauled for com 2, 106a CDI, GDL 88 for ADSB, AV 30. Located in Central Missouri next to KMYJ on private strip.","imageUrls": ["https://barnstormers.s3.amazonaws.com/media/listing_images/thumbnail/thumbnail_image_2065662_1_1786321324.jpeg","https://barnstormers.s3.amazonaws.com/media/listing_images/thumbnail/thumbnail_image_2065662_2_1786321325.jpeg"],"city": "Wellsville","state": "MO","zip": "63384","country": "United States","listingUrl": "https://www.barnstormers.com/classified-2065662-1979-Cessna-C172N.html","imageUrl": null,"sellerLogoUrl": null,"contactUrl": "https://www.barnstormers.com/contact_seller.php?id=2065662","sellerId": "237354","searchQuery": "Cessna 172","source": "barnstormers","aiListingSummary": null,"aiSpecs": null,"observedAt": "2026-08-10T14:04:50.755Z","error": null}
The most complete aircraft-for-sale scraper available. It returns every field the listing exposes (make, model, year, price, total time, tail number, seller and location), opens each ad for the full description, the seller's phone when published and the full photo set, and offers optional AI add-ons for a buyer-facing summary and structured spec extraction.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor runs one or more aircraft searches by make, model or type (for example Cessna 172, Piper, Cirrus SR22, Helicopter, Jet, Warbird), matches each query to its category, and writes one record per aircraft for sale to the run's dataset. Each record carries the ad id, title, make, model, year, category, price, total time hours, tail number, status, seller name and type, location (city, state, zip, country) and the listing and contact URLs.
When fetchDetails is on (the default), each listing is opened for the complete description, the seller's phone number when published in the ad, and the full photo set. Two optional AI add-ons (paid Apify plans only) add a buyer-facing summary and structured spec extraction (make, model, year, engine, total/engine hours, avionics, registration). An optional contact-enrichment add-on can look up a public business email and contact name for results without an email. Missing values are returned as null, never invented.
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 10 aircraft across two searches with full details.
{"searchQueries": ["Cessna 172", "Piper"],"maxAircraft": 10,"fetchDetails": true}
Add any make, model or type to searchQueries. Every input field is optional; with an empty input the actor runs the prefilled searches.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchQueries | string[] | no | ["Cessna 172", "Piper"] | One or more aircraft searches by make, model or type, for example Cessna 172, Piper, Cirrus SR22, Helicopter, Jet, Warbird. |
maxAircraft | integer | no | 10 | Maximum number of aircraft listings to collect across all searches. |
fetchDetails | boolean | no | true | When on, opens each listing for the full description, seller phone and all photos. Billed per listing enriched (details event). |
enrichContacts | boolean | no | false | Paid contact add-on. For results without an email, attempt to find a public business email and contact name. Billed per attempt, plus an extra charge only when an email is found. |
enrichContactsMax | integer | no | 50 | Cap how many results the contact add-on attempts, to control cost. Free Apify accounts are capped at 3. |
withAiListingSummary | boolean | no | false | Paid AI add-on. Writes a concise buyer-facing summary. Charged per listing only when a summary is produced. |
withAiSpecExtract | boolean | no | false | Paid AI add-on. Extracts structured make, model, year, engine, hours, avionics and registration. Charged per listing only when specs are produced. |
Output reference
One dataset item per aircraft. Types: string, number, string[], object, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
adId | string | Listing ad id. |
title | string | Listing title. |
make | string | Aircraft make, or null. |
model | string | Aircraft model, or null. |
year | number | Model year, or null. |
category | string | Search category the query matched. |
priceAmount | number | Numeric price, or null. |
priceCurrency | string | Currency code, or null. |
priceLabel | string | Human-readable price label. |
totalTimeHours | number | Total airframe time in hours, or null. |
tailNumber | string | Registration or tail number, or null. |
status | string | Sale status, for example AVAILABLE FOR SALE. |
description | string | Listing description. |
sellerName | string | Seller name, or null. |
sellerTitle | string | Seller title, or null. |
dealerName | string | Dealer name if a dealer, or null. |
sellerType | string | Seller type (for example Owner, Dealer), or null. |
sellerPhone | string | Seller phone when published (with fetchDetails), or null. |
sellerEmail | string | Seller email when found, or null. |
fullDescription | string | Complete description (with fetchDetails), or null. |
imageUrls | string[] | Full photo set (with fetchDetails), or null. |
city | string | Seller city. |
state | string | Seller state. |
zip | string | Seller postal code. |
country | string | Seller country. |
listingUrl | string | Direct link to the listing. |
imageUrl | string | Primary image URL, or null. |
sellerLogoUrl | string | Dealer logo URL, or null. |
contactUrl | string | Contact-seller URL. |
sellerId | string | Seller id. |
searchQuery | string | The query that returned this aircraft. |
source | string | Always barnstormers. |
aiListingSummary | string | AI buyer-facing summary when the add-on is enabled, else null. |
aiSpecs | object | AI structured specs when the add-on is enabled, else null. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on a failed run; a single item with a populated error field is written instead. |
Example output record
Real record from a live run with AI spec extraction enabled (input {"searchQueries": ["Piper Cherokee"], "withAiSpecExtract": true}):
{"adId": "2054867","title": "1969 PIPER CHEROKEE 180D","make": "Piper","model": "CHEROKEE 180D","year": 1969,"category": "Piper","priceAmount": 99500,"priceCurrency": "USD","priceLabel": "$99,500","totalTimeHours": 3576,"tailNumber": "N7940N","status": "FOR SALE BY OWNER","description": "Own a classic Cherokee 180D. N7940N combines dependable flying qualities with cross-country capability. Just 3,576 hours TT, 1,681 SMOH, and an impressive 1,017-lb useful load. Garmin GNS 430 GPS, S-TEC 30 two-axis autopilot with altitude hold and GPSS, JPI engine monitor, and ADS-B. Hangared, complete logs, no known damage history. Based at KTOC.","sellerName": "Steve Pfeiffer","sellerType": "Owner","sellerPhone": null,"sellerEmail": null,"city": "Lavonia","state": "GA","zip": "30553","country": "United States","listingUrl": "https://www.barnstormers.com/classified-2054867-1969-Piper-Cherokee-180D.html","contactUrl": "https://www.barnstormers.com/contact_seller.php?id=2054867","sellerId": "42468","searchQuery": "Piper Cherokee","source": "barnstormers","aiListingSummary": null,"aiSpecs": {"make": "Piper","model": "CHEROKEE 180D","year": 1969,"engine": null,"totalTimeHours": 3576,"engineTimeHours": 1681,"avionics": ["Garmin GNS 430 GPS", "S-TEC 30 two-axis autopilot with altitude hold and GPSS", "JPI engine monitor", "ADS-B"],"registration": "N7940N"},"observedAt": "2026-08-14T06:22:56.656Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~aircraft-for-sale-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQueries":["Cessna 172"],"maxAircraft":25,"fetchDetails":true}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~aircraft-for-sale-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQueries":["Cirrus SR22","Helicopter"],"maxAircraft":100}'
Apify CLI:
apify call scrapers_lat/aircraft-for-sale-scraper \--input '{"searchQueries":["Piper"],"fetchDetails":true}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per aircraft record returned (
resultevent). See the pricing tab for the current per-result price. - Add-ons billed separately.
detailsis charged per listing enriched;ai_listing_summaryandai_spec_extractare each charged per listing only when the model returns usable output (paid Apify plans only). Contact enrichment is billed per attempt plus an extra charge only when an email is found. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxAircraft.
FAQ and troubleshooting
A run returned 0 records. Why? The search matched no aircraft for sale. Try a broader make or type. Zero-result runs are not charged.
Do I get the seller's phone number?
When fetchDetails is on and the seller published a phone in the ad, sellerPhone is populated. Not every ad includes one.
How do I get structured specs like engine hours and avionics?
Enable withAiSpecExtract on a paid plan. The aiSpecs object then holds make, model, year, engine, total/engine hours, avionics and registration.
Why is sellerEmail null?
Most ads route contact through a form (contactUrl) rather than a public email. Enable the contact-enrichment add-on to attempt to find a public business email.
Is this an official Barnstormers tool? No. This actor is independent and has no affiliation with Barnstormers. It reads only data that is publicly available on the site.
Related scrapers
- FAA Aircraft Registry Scraper: US aircraft registration records.
- Machinery Trader Equipment Scraper: Heavy equipment for sale.
- TractorHouse Equipment Scraper: Farm and construction equipment listings.
- TruckPaper Trucks Scraper: Commercial trucks for sale.
- Mascus Equipment Scraper: Global used equipment listings.
- Copart Scraper: Salvage and used vehicle auctions.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with Barnstormers. Accesses only publicly available listing data.
