Controller.com Aircraft For Sale Scraper avatar

Controller.com Aircraft For Sale Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Controller.com Aircraft For Sale Scraper

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

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

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 ID
  • title — full listing title as published (e.g. 2016 CESSNA TTX)
  • year, manufacturer, model — parsed from the title
  • category — aircraft category (e.g. Turboprop Aircraft)
  • price, currency — numeric price in USD, when published
  • priceOnRequesttrue when the seller lists "Call for Price" instead of a number
  • conditionNew or Used, when Controller.com shows it
  • totalTimeHours — airframe total time in hours
  • serialNumber, registrationNumber
  • engine1MakeModel, engine1Time, engine2MakeModel, engine2Time
  • engineTboHours — engine time-between-overhaul, in hours
  • totalLandings, seats, flightRules
  • yearPainted, yearInterior — when the listing reports when the paint/interior was last refreshed
  • adsbEquipped, waasEquipped, svtEquipped — avionics booleans, when shown
  • additionalSpecs — any other spec the listing publishes that doesn't map to a field above (e.g. winglets, maintenance programs) — never lost, always preserved
  • description — seller's summary text
  • city, region, country — aircraft location
  • imageUrl — primary listing photo
  • updatedAt — when the seller last updated the listing (site-local time)
  • listingUrl, sourceUrl — canonical Controller.com listing URL
  • recordType: "aircraftListing", scrapedAt

Input

FieldTypeDefaultDescription
searchQuerystringCessnaKeyword search (make, model, registration #, serial #)
categoryselectAnyOne aircraft category — see full list below
manufacturerstringOne or more manufacturers, comma-separated (e.g. Cessna, Cirrus, Beechcraft)
stateselectAnyUS state or Canadian province where the aircraft is located
conditionselectAnyNew or Used
listingTypeselectAnyFor Retail, For Lease, or For Fractional Ownership
priceMin / priceMaxintPrice range in USD
yearMin / yearMaxintYear-built range
totalTimeMin / totalTimeMaxintAirframe total time range, in hours
seatsMin / seatsMaxintNumber-of-seats range
yearPaintedMin / yearPaintedMaxintYear-painted range (not every listing reports this)
yearInteriorMin / yearInteriorMaxintYear-interior-refreshed range (not every listing reports this)
sortOrderselectBest matchpriceLowHigh / priceHighLow / yearOldNew / yearNewOld
maxItemsint30Hard cap on the number of listings returned
proxyConfigurationobjectoffOptional 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.

{
"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, and yearInterior filters 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.