{
  "openapi": "3.0.1",
  "info": {
    "title": "Trade-A-Plane Scraper - Aircraft Listings, N-Numbers & Sellers",
    "description": "Scrape Trade-A-Plane aircraft, engine and parts listings: price, year, make, model, N-number, total time, seller and phone, location, photos. Optional details: serial, engine and prop times, avionics, documents, dealer address. FAA registry check, filters, monitor mode. No login.",
    "version": "0.1",
    "x-build-id": "8xQtEsnliXC6LBr0x"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapersdelight~trade-a-plane-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapersdelight-trade-a-plane-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapersdelight~trade-a-plane-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapersdelight-trade-a-plane-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapersdelight~trade-a-plane-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapersdelight-trade-a-plane-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Trade-A-Plane categories to search, e.g. Single Engine Piston, Jets, Piston Helicopters, Piston Engine, Avionics. Several categories of one kind run as one search. Leave empty for every listing of the kind chosen below.",
            "items": {
              "type": "string",
              "enum": [
                "Single Engine Piston",
                "Multi Engine Piston",
                "Turboprop",
                "Jets",
                "Piston Helicopters",
                "Turbine Helicopters",
                "Gliders | Sailplanes",
                "LSA | Ultralight",
                "Rotary Wing",
                "Piston Engine",
                "Turbine Engine",
                "Avionics",
                "Airframe Parts",
                "Engine Parts",
                "Propellers | Parts",
                "Electrical",
                "Instruments",
                "Brakes | Tires | Undercarriage",
                "Pilot Supplies - Misc.",
                "Hardware",
                "Ground Support Equipment | FBO Supplies",
                "Tools",
                "Helicopter | Rotary Wing",
                "Airframe Covering | Repair Materials",
                "Hangars | Metal Buildings",
                "Interiors | Interior Parts"
              ],
              "enumTitles": [
                "Aircraft: Single Engine Piston",
                "Aircraft: Multi Engine Piston",
                "Aircraft: Turboprop",
                "Aircraft: Jets",
                "Aircraft: Piston Helicopters",
                "Aircraft: Turbine Helicopters",
                "Aircraft: Gliders | Sailplanes",
                "Aircraft: LSA | Ultralight",
                "Aircraft: Rotary Wing",
                "Engines: Piston Engine",
                "Engines: Turbine Engine",
                "Parts: Avionics",
                "Parts: Airframe Parts",
                "Parts: Engine Parts",
                "Parts: Propellers | Parts",
                "Parts: Electrical",
                "Parts: Instruments",
                "Parts: Brakes | Tires | Undercarriage",
                "Parts: Pilot Supplies - Misc.",
                "Parts: Hardware",
                "Parts: Ground Support Equipment | FBO Supplies",
                "Parts: Tools",
                "Parts: Helicopter | Rotary Wing",
                "Parts: Airframe Covering | Repair Materials",
                "Parts: Hangars | Metal Buildings",
                "Parts: Interiors | Interior Parts"
              ]
            }
          },
          "listingType": {
            "title": "Listing type",
            "enum": [
              "aircraft",
              "engine",
              "part"
            ],
            "type": "string",
            "description": "What to list when no category is picked: aircraft, engines or parts/avionics. Categories above set the type themselves.",
            "default": "aircraft"
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "The site's keyword search, one search each, e.g. \"citation\", \"G1000\", \"bonanza\". Combined with the categories and filters.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Trade-A-Plane URLs",
            "type": "array",
            "description": "Search pages (filters in the URL are kept, e.g. https://www.trade-a-plane.com/search?category_level1=Jets&make=CESSNA&s-type=aircraft), keyword searches, a seller's inventory (?seller_id=), listing pages (?listing_id=) or bare listing ids (\"2459196\").",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "sellerIds": {
            "title": "Seller ids",
            "type": "array",
            "description": "A dealer's whole inventory: the seller_id from a Trade-A-Plane seller link, e.g. \"105071\". One search each, combined with the filters.",
            "items": {
              "type": "string"
            }
          },
          "makes": {
            "title": "Makes",
            "type": "array",
            "description": "Manufacturers as Trade-A-Plane names them, e.g. \"CESSNA\", \"PIPER\", \"BEECHCRAFT\", \"CONTINENTAL\". Several = any of them.",
            "items": {
              "type": "string"
            }
          },
          "modelGroups": {
            "title": "Model groups",
            "type": "array",
            "description": "Trade-A-Plane model groups, e.g. \"CESSNA 172 SERIES\", \"BEECHCRAFT 36 BONANZA SERIES\", \"PIPER ARCHER SERIES\".",
            "items": {
              "type": "string"
            }
          },
          "models": {
            "title": "Exact models",
            "type": "array",
            "description": "Exact Trade-A-Plane model names, e.g. \"182T SKYLANE\", \"CITATION BRAVO\". For a looser match (\"172\", \"Bonanza\") use Model contains below.",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "Min price (USD)",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Lowest asking price. Setting it also drops \"Call for Price\" listings."
          },
          "maxPrice": {
            "title": "Max price (USD)",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Highest asking price, e.g. 250000."
          },
          "minYear": {
            "title": "Min year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Oldest year built, e.g. 2000."
          },
          "maxYear": {
            "title": "Max year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Newest year built."
          },
          "minTotalTime": {
            "title": "Min total time (hours)",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Lowest airframe total time in hours."
          },
          "maxTotalTime": {
            "title": "Max total time (hours)",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Highest airframe total time in hours, e.g. 2000."
          },
          "conditions": {
            "title": "Condition",
            "type": "array",
            "description": "Listing condition as the seller set it. Aircraft use New / Used / Project; engines also Overhauled / Repaired.",
            "items": {
              "type": "string",
              "enum": [
                "New",
                "Used",
                "Project",
                "Not Specified",
                "Overhauled",
                "Repaired"
              ],
              "enumTitles": [
                "New",
                "Used",
                "Project",
                "Not specified",
                "Overhauled (engines)",
                "Repaired (engines)"
              ]
            }
          },
          "zipCode": {
            "title": "ZIP / postal code",
            "type": "string",
            "description": "Search around a US ZIP or Canadian postal code, e.g. \"75201\". Uses the distance below."
          },
          "distanceMiles": {
            "title": "Distance (miles)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Radius around the ZIP code: the site offers 25, 50, 75, 100, 150, 250 or 500 miles (other numbers round up to the next one). Ignored without a ZIP code.",
            "default": 100
          },
          "withPhotosOnly": {
            "title": "With photos only",
            "type": "boolean",
            "description": "Only listings that have photos.",
            "default": false
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "updated_newest",
              "updated_oldest",
              "price_low",
              "price_high",
              "year_newest",
              "year_oldest",
              "total_time_low",
              "total_time_high",
              "engine_time_low",
              "engine_time_high",
              "make_az",
              "make_za",
              "model_az",
              "model_za"
            ],
            "type": "string",
            "description": "Trade-A-Plane's own sort orders. \"Last updated\" pairs well with monitor mode.",
            "default": "relevance"
          },
          "modelContains": {
            "title": "Model contains",
            "type": "array",
            "description": "Keep only listings whose model, title or model group contains one of these words, e.g. \"172\", \"Bonanza\", \"G1000\".",
            "items": {
              "type": "string"
            }
          },
          "withPhoneOnly": {
            "title": "With phone only",
            "type": "boolean",
            "description": "Only listings that show a seller phone number (with details on, the listing page is checked too).",
            "default": false
          },
          "pricedOnly": {
            "title": "Priced listings only",
            "type": "boolean",
            "description": "Skip \"Call for Price\" listings.",
            "default": false
          },
          "includeDetails": {
            "title": "Include listing details",
            "type": "boolean",
            "description": "Read each listing's page for serial number, engine and prop times, avionics/equipment, airframe, interior/exterior, remarks, every photo, documents, contact name, all phones and the dealer's address. Charged as the listing-details add-on per detailed row.",
            "default": false
          },
          "checkFaaRegistry": {
            "title": "Check the FAA registry",
            "type": "boolean",
            "description": "Look up each US N-number on the FAA's registry: registration state, status, FAA serial, make/model, year and expiry, plus whether the serial and year match the listing (serial match needs details on). No extra charge.",
            "default": false
          },
          "monitorMode": {
            "title": "Monitor mode",
            "type": "boolean",
            "description": "Deliver only listings not delivered by an earlier run, or whose price changed (changeType NEW / PRICE_CHANGED, with previousPrice). Pairs with a daily schedule.",
            "default": false
          },
          "monitorStoreName": {
            "title": "Monitor store name",
            "type": "string",
            "description": "Name of the key-value store that remembers delivered listings. Use one name per watch list, e.g. \"tap-jets-texas\". Default: trade-a-plane-monitor."
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Most listings to deliver in this run (0 = no limit). Trade-A-Plane shows at most 3,000 per search; larger searches are split by price (below).",
            "default": 50
          },
          "maxResultsPerSearch": {
            "title": "Max results per search",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Cap per search when several run (0 = only the total cap applies).",
            "default": 0
          },
          "splitLargeSearches": {
            "title": "Split searches over 3,000",
            "type": "boolean",
            "description": "A search showing \"3,000+\" results is read as price bands (plus Call for Price) so more than 3,000 listings can be delivered, deduplicated by listing id. Used when more than 1,000 rows are wanted.",
            "default": true
          },
          "compact": {
            "title": "Compact output",
            "type": "boolean",
            "description": "Core fields only (id, URL, title, year, make, model, price, registration, total time, seller, phone, location) - trimmed for AI/MCP pipelines. Detail and FAA fields stay when those options are on.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. The run reaches Trade-A-Plane without a proxy and switches by itself if it is refused. Add your own proxy URLs to use them first.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}