Controller.com Aircraft For Sale Scraper
Pricing
from $3.00 / 1,000 results
Controller.com Aircraft For Sale Scraper
Scrape aircraft for-sale listings from Controller.com - Sandhills Global's aircraft classifieds marketplace. Search by keyword, browse by aircraft category, and filter by price, year, total time, manufacturer, condition, and location.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Controller.com Aircraft Scraper
Scrape aircraft for-sale listings from Controller.com — Sandhills Global's aircraft classifieds marketplace with thousands of active listings. Search by keyword, browse by aircraft category (single engine piston, multi-engine piston, turboprop, jets, helicopters, experimental, light sport, agricultural, and more), and filter by price, year, total time, manufacturer, condition, listing type, and US state / Canadian province. No login, no API key required.
What this actor does
- Keyword search across make, model, registration number, and serial number
- Browse by aircraft category — all 14 real categories from Controller.com's own filter taxonomy
- Filter by manufacturer, price range, year range, total airframe time, seat count, year painted, year interior refreshed, condition, listing type, and location
- Sort by price or year, ascending or descending
- Empty fields are omitted — every record only contains data Controller.com actually published for that listing
Output per listing
id— Controller.com listing IDtitle— full listing title as published (e.g.2016 CESSNA TTX)year,manufacturer,model— parsed from the titlecategory— aircraft category (e.g.Turboprop Aircraft)price,currency— numeric price in USD, when publishedpriceOnRequest—truewhen the seller lists "Call for Price" instead of a numbercondition—NeworUsed, when Controller.com shows ittotalTimeHours— airframe total time in hoursserialNumber,registrationNumberengine1MakeModel,engine1Time,engine2MakeModel,engine2TimeengineTboHours— engine time-between-overhaul, in hourstotalLandings,seats,flightRulesyearPainted,yearInterior— when the listing reports when the paint/interior was last refreshedadsbEquipped,waasEquipped,svtEquipped— avionics booleans, when shownadditionalSpecs— any other spec the listing publishes that doesn't map to a field above (e.g. winglets, maintenance programs) — never lost, always preserveddescription— seller's summary textcity,region,country— aircraft locationimageUrl— primary listing photoupdatedAt— when the seller last updated the listing (site-local time)listingUrl,sourceUrl— canonical Controller.com listing URLrecordType: "aircraftListing",scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchQuery | string | Cessna | Keyword search (make, model, registration #, serial #) |
category | select | Any | One aircraft category — see full list below |
manufacturer | string | – | One or more manufacturers, comma-separated (e.g. Cessna, Cirrus, Beechcraft) |
state | select | Any | US state or Canadian province where the aircraft is located |
condition | select | Any | New or Used |
listingType | select | Any | For Retail, For Lease, or For Fractional Ownership |
priceMin / priceMax | int | – | Price range in USD |
yearMin / yearMax | int | – | Year-built range |
totalTimeMin / totalTimeMax | int | – | Airframe total time range, in hours |
seatsMin / seatsMax | int | – | Number-of-seats range |
yearPaintedMin / yearPaintedMax | int | – | Year-painted range (not every listing reports this) |
yearInteriorMin / yearInteriorMax | int | – | Year-interior-refreshed range (not every listing reports this) |
sortOrder | select | Best match | priceLowHigh / priceHighLow / yearOldNew / yearNewOld |
maxItems | int | 30 | Hard cap on the number of listings returned |
proxyConfiguration | object | off | Optional Apify Proxy (not required — see FAQ) |
Aircraft categories
Piston Single Aircraft, Piston Twin Aircraft, Jet Aircraft, Turboprop Aircraft, Piston Helicopters, Turbine Helicopters, Experimental / Homebuilt Aircraft, Light Sport Aircraft, Piston Agricultural Aircraft, Turbine Agricultural Aircraft, Piston Amphibious / Floatplanes, Turbine Amphibious / Floatplanes, Piston Military Aircraft, Turbine Military Aircraft.
Leave category unset to search across every aircraft category at once.
Example: keyword search
{"searchQuery": "Cirrus SR22","maxItems": 50}
Example: browse turboprops by price and year
{"category": "Turboprop Aircraft","priceMin": 1000000,"yearMin": 2015,"sortOrder": "priceHighLow","maxItems": 50}
Example: manufacturer + location filter
{"manufacturer": "Cessna, Cirrus","state": "Florida","listingType": "For Retail","maxItems": 100}
Example: jets under a total-time cap
{"category": "Jet Aircraft","totalTimeMax": 3000,"condition": "Used","maxItems": 100}
Example: seats and recent paint/interior refresh
{"category": "Piston Single Aircraft","seatsMin": 4,"yearPaintedMin": 2018,"maxItems": 50}
Use cases
- Aircraft brokers & dealers — monitor new and competitor listings by category, price band, or region
- Market research — track pricing trends across manufacturers, years, and aircraft categories
- Aviation finance & leasing — source retail, lease, and fractional-ownership inventory
- Aircraft valuation tools — build comparable-sales datasets from real published listings
- Buyer's agents — build a shortlist of aircraft matching a client's budget, hours, and location criteria
Data source / limitations
- All data comes from the public pages of controller.com. No login or API key is used or required.
seats,yearPainted, andyearInteriorfilters are applied server-side and reliably narrow results, but the corresponding output fields only appear when that particular listing's card also displays the spec — not every category/listing surfaces every spec on its summary card.- Country is not exposed as a filter: Controller.com's own Country facet is an interactive region-map widget rather than a plain value list, and it does not respond to a direct URL parameter —
state(which covers all US states and Canadian provinces) is the reliable location filter. - Exact-match lookup fields like registration number and serial number are exposed as output fields (
registrationNumber,serialNumber) but are not exposed as input filters, since their server-side matching behavior could not be verified as reliable (partial/prefix values returned zero results in testing).
FAQ
Is this affiliated with Controller.com or Sandhills Global? No — this is an independent, third-party actor that reads publicly available listing pages. It is not affiliated with, endorsed by, or supported by Controller.com or Sandhills Global.
Do I need a proxy? No. Controller.com's listings are publicly browsable and the actor works reliably from Apify's datacenter IPs. The proxyConfiguration input exists for cases where you need to route through Apify Proxy, but it is off by default to avoid unnecessary cost.
Why is price missing on some listings? Some sellers list "Call for Price" instead of a number. Those listings get priceOnRequest: true and no price field — this is exactly what Controller.com publishes, not missing data.
Why is condition missing on most listings? Controller.com's search results only display the New/Used badge on a subset of listings; the condition input filter itself works reliably (it's applied server-side), even when the field doesn't appear in every returned record.
Why don't I see seats/yearPainted/yearInterior on every record even when I filter by them? Same reason as condition above — the filters are applied server-side and reliably narrow the result set, but Controller.com only shows those specs on a subset of listing cards.
Why do I sometimes get fewer records than maxItems? The actor stops once Controller.com's inventory for your filter combination is exhausted. A very restrictive combination of filters (e.g. a rare manufacturer + narrow price band) can legitimately have fewer matching aircraft than your requested maxItems.
Can I search outside the US? Yes — the state filter includes both US states and Canadian provinces, since Controller.com lists aircraft in both countries. Listings elsewhere are returned without a state filter applied.
How fresh is the data? Every run reads the live Controller.com site — no caching. Each record includes updatedAt (last seller update) and scrapedAt (when this actor ran).
Does the actor return every spec Controller.com tracks (avionics, maintenance programs, etc.)? The actor maps the most common specs to named fields (engine, total time, avionics booleans, etc.) and preserves everything else it finds per listing under additionalSpecs, so no published data is discarded — even specs unique to a particular category (e.g. winglets, maintenance programs) are kept.