# Barnstormers Aircraft Classifieds Scraper (`crawlerbros/barnstormers-scraper`) Actor

Scrape aircraft and aircraft-parts classified listings from barnstormers.com - search by keyword/make/model, browse by real site category, view recent listings, or pull all ads from one seller.

- **URL**: https://apify.com/crawlerbros/barnstormers-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Automation, E-commerce, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Barnstormers Aircraft Classifieds Scraper

Scrape **Barnstormers.com** — one of the longest-running aircraft and aircraft-parts classifieds sites, listing everything from vintage warbirds and homebuilts to turbine engines and avionics. Search by keyword, manufacturer, or model; browse the site's own aircraft-type and manufacturer categories; pull the newest listings site-wide; or fetch every ad from one seller. No login, no cookies, no paid proxy required.

### What this actor does

- **Four modes:** `search` (keyword / make / model + filters), `browseCategory` (real Barnstormers taxonomy), `recentListings` (newest ads across all categories), `bySeller` (every ad from one advertiser)
- **Real category taxonomy:** 100 categories exactly as listed on barnstormers.com — aircraft types (Single-Engine, Twins, TurboProp, Jet, Helicopter, Warbird, Experimental, Light-Sport, Amphibian, Glider & Sailplane, eVTOL, and more), manufacturer sections (Cessna, Piper, Beechcraft, Cirrus, Mooney, Grumman, Bell, Boeing, and more), parts categories, and service listings
- **Filters:** manufacturer, model, part number, description text, seller company/first/last name, whole-phrase matching, US state, country, city, price range, year range
- **Location, seller, and pricing data** parsed straight from each listing card, plus posted date and photo URLs
- **Empty fields are omitted** — every record only contains fields Barnstormers actually published for that listing

### Output per listing

- `adId` — Barnstormers internal ad ID
- `title` — listing headline
- `year` — manufacture year, when the headline states one (e.g. "1974 Cessna 182P")
- `manufacturer` — aircraft/parts manufacturer, only populated when a recognized manufacturer name appears in the title or description
- `price` — numeric asking price in USD, when a price is listed
- `priceDisplay` — the price exactly as shown (e.g. `$140,000`, `Make Offer`, `Please Call`)
- `currency` — `USD` (only present alongside a numeric `price`)
- `statusPhrase` — seller-supplied status line (e.g. "ACCEPTING OFFERS", "REDUCED", "NEW LISTING")
- `description` — full ad body text
- `sellerName`, `sellerRole` — advertiser name and role (Owner / Broker / Dealer / End User), when shown
- `sellerId`, `sellerAdsUrl` — advertiser ID and a link to every other ad from that seller
- `city`, `state`, `country` — seller-supplied location (state is a 2-letter US code; country is included for both US and international sellers)
- `postedDate`, `postedDateRaw` — when the ad was posted
- `listingUrl` — canonical link to the full ad on barnstormers.com
- `imageUrls[]` — listing photos
- `categoryId`, `categoryName` — populated when using `mode=browseCategory`
- `recordType: "listing"`, `scrapedAt`

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `search` | `search` / `browseCategory` / `recentListings` / `bySeller` |
| `searchQuery` | string | `Cessna` | Keyword search across headline, body, model, and part number (mode=search) |
| `headline` | string | – | Narrow mode=search to listings whose title contains this text |
| `manufacturer` | string | – | Filter by manufacturer, e.g. `Cessna`, `Piper`, `Beechcraft`, `Cirrus` |
| `model` | string | – | Filter by model designator, e.g. `182`, `PA-28`, `SR22` |
| `partNumber` | string | – | Filter by an exact part number, e.g. `O-470-11` (mode=search) |
| `descriptionContains` | string | – | Filter by text that must appear in the ad body/description (mode=search) |
| `companyName` | string | – | Filter by the advertiser's registered company name (mode=search) |
| `sellerFirstName` / `sellerLastName` | string | – | Filter by the advertiser's first/last name (mode=search) |
| `wholePhraseMatch` | boolean | `false` | Match `searchQuery` as an exact phrase instead of individual words (mode=search) |
| `category` | string | – | One of Barnstormers' own real categories; required for mode=browseCategory |
| `state` | string | – | Restrict to a US state |
| `country` | string | – | Restrict to a country name (substring match) |
| `city` | string | – | Restrict to a city name (substring match) |
| `priceMin` / `priceMax` | int | – | USD price range; listings with no numeric price always pass through |
| `yearMin` / `yearMax` | int | – | Manufacture-year range; listings with no parseable year always pass through |
| `sellerId` | int | – | Numeric seller/advertiser ID; required for mode=bySeller |
| `maxItems` | int | `30` | Hard cap on emitted records (1–5000) |
| `proxyConfiguration` | object | off | Optional. Barnstormers has no bot-blocking, so this actor works with no proxy configured; the free AUTO datacenter group is supported for IP rotation if you want it |

#### Example: keyword search with price and location filters

```json
{
  "mode": "search",
  "searchQuery": "Cessna 182",
  "priceMin": 50000,
  "priceMax": 250000,
  "state": "Texas"
}
````

#### Example: browse a real site category

```json
{
  "mode": "browseCategory",
  "category": "19627",
  "maxItems": 50
}
```

#### Example: newest listings site-wide

```json
{
  "mode": "recentListings",
  "maxItems": 100
}
```

#### Example: all ads from one seller

```json
{
  "mode": "bySeller",
  "sellerId": 265709
}
```

#### Example: find a specific part number from a specific dealer

```json
{
  "mode": "search",
  "partNumber": "O-470-11",
  "companyName": "Preferred Airparts"
}
```

### Use cases

- **Aircraft brokers & dealers** — monitor new listings for specific makes/models entering the market
- **Market research** — track asking prices across aircraft types, years, and regions
- **Parts sourcing** — search parts and avionics categories for specific part numbers
- **Lead generation** — pull seller contact details and locations from active listings
- **Price benchmarking** — compare listed prices for the same make/model across sellers and states
- **Aggregator sites** — republish or cross-reference Barnstormers inventory alongside other aircraft-classifieds sources

### Data source / limitations

- All data comes from the public pages of barnstormers.com. No login or API key is used or required.
- `manufacturer` is only populated when a recognized aircraft-maker name is found in the title or description — this avoids guessing a manufacturer from ambiguous model codes (e.g. a bare model number with no maker name in the title stays unlabeled rather than being fabricated).
- `year` is only populated when the listing title itself opens with a 4-digit year, matching normal "1974 Cessna 182P" style headlines. Listings titled without a leading year (common for parts and service ads) omit this field rather than guess.
- `category` / `categoryName` are only included when using `mode=browseCategory`, since Barnstormers' other listing views (search results, recent listings, seller pages) do not expose a per-listing category on the card itself.
- Some international sellers' location data is entered inconsistently by the seller (e.g. a US state code paired with a non-US country); this actor passes the seller-supplied location through as published rather than attempting to correct it.
- Barnstormers caps each listing view at 25 results per page; the actor paginates automatically up to `maxItems`. The combined active inventory across all categories runs several thousand listings deep, so large `maxItems` values are supported.
- `companyName` is a search-only filter passed to Barnstormers' own advanced search — the site does not expose a per-listing company field on the result cards, so it is not available as an output field.
- `manufacturer`, `model`, `state`, `country`, `city`, `priceMin`/`priceMax`, and `yearMin`/`yearMax` are applied server-side in `mode=search` (fast), but only client-side (after fetching) in `mode=browseCategory`, `mode=recentListings`, and `mode=bySeller`, since those views don't accept server-side filter parameters. A rare combination of filters in those three modes can take longer to fill `maxItems` (or exhaust cleanly) since more pages must be scanned — use `mode=search` for combined filters when possible.

### FAQ

**Is this affiliated with Barnstormers.com?**
No. This is an independent, third-party actor that reads Barnstormers' public listing pages.

**Do I need a proxy or login to run this?**
No. Barnstormers has no bot protection and no login wall for browsing. The proxy option exists purely for optional IP rotation.

**Why do some listings have no price?**
Barnstormers sellers can list "Make Offer" or "Please Call" instead of a fixed price. Those listings keep `priceDisplay` but omit the numeric `price` field, and always pass through `priceMin`/`priceMax` filters.

**Why is `manufacturer` missing on some listings?**
The actor only fills in `manufacturer` when a known aircraft/parts maker name appears in the title or description. Free-form titles (part numbers, service ads) that don't mention a recognizable maker name are left without this field rather than guessed.

**How current is the data?**
Every run fetches live pages directly from barnstormers.com, so results reflect whatever is posted at run time.

**Can I search by both category and keyword at once?**
Yes — set `mode=search` and provide both `category` and `searchQuery` (plus any other filters); they combine.

**What states/countries are covered?**
Barnstormers is US-centric but lists sellers worldwide. The `state` filter covers all 50 US states plus DC; the `country` filter is free text so it works for any country name that appears in a listing's location.

# Actor input Schema

## `mode` (type: `string`):

What to fetch from Barnstormers.

## `searchQuery` (type: `string`):

Free-text keyword search across headline, body, part number and model (mode=search). Example: "Cessna 182".

## `headline` (type: `string`):

Narrow mode=search to listings whose title/headline contains this text.

## `manufacturer` (type: `string`):

Filter by aircraft manufacturer (e.g. Cessna, Piper, Beechcraft, Cirrus, Mooney, Piper). Matches listing title/description.

## `model` (type: `string`):

Filter by aircraft model designator (e.g. 182, R182, PA-28, SR22). Matches listing title/description.

## `partNumber` (type: `string`):

Filter by an exact aircraft part number (mode=search). Useful for the parts/avionics categories, e.g. "O-470-11".

## `descriptionContains` (type: `string`):

Narrow mode=search to listings whose ad body/description contains this text (distinct from the broader `searchQuery`, which also matches headline/model/part number).

## `companyName` (type: `string`):

Filter by the advertiser's company/business name as registered on Barnstormers (mode=search). Useful for finding all listings from a known dealer or parts house.

## `sellerFirstName` (type: `string`):

Filter by the advertiser's first name (mode=search).

## `sellerLastName` (type: `string`):

Filter by the advertiser's last/family name (mode=search).

## `wholePhraseMatch` (type: `boolean`):

When true, `searchQuery` must match as an exact phrase instead of matching on individual words (mode=search).

## `category` (type: `string`):

Restrict to one of Barnstormers own real listing categories (aircraft type, manufacturer section, parts, or service category). Required for mode=browseCategory.

## `state` (type: `string`):

Restrict results to sellers located in this US state.

## `country` (type: `string`):

Restrict results to sellers located in a country whose name contains this text (e.g. "Canada", "United Kingdom", "Philippines"). Barnstormers skews heavily US/Canada but does list international sellers.

## `city` (type: `string`):

Restrict results to sellers located in a city whose name contains this text.

## `priceMin` (type: `integer`):

Only include listings priced at or above this amount. Listings marked "Make Offer" or with no listed price always pass through.

## `priceMax` (type: `integer`):

Only include listings priced at or below this amount. Listings marked "Make Offer" or with no listed price always pass through.

## `yearMin` (type: `integer`):

Only include aircraft whose title states a manufacture year at or after this value. Listings without a parseable year always pass through.

## `yearMax` (type: `integer`):

Only include aircraft whose title states a manufacture year at or before this value. Listings without a parseable year always pass through.

## `sellerId` (type: `integer`):

Numeric Barnstormers seller/advertiser ID (found in any listing's "Show all Ads posted by this Advertiser" link, e.g. .../listing.php?userid=265709 -> 265709).

## `maxItems` (type: `integer`):

Hard cap on emitted records. Barnstormers' combined active inventory across all categories is several thousand listings deep, so this can safely go well above the default.

## `proxyConfiguration` (type: `object`):

Optional. Barnstormers has no anti-bot protection, so this actor works with no proxy at all. The free AUTO datacenter group is supported if you want IP rotation.

## Actor input object example

```json
{
  "mode": "search",
  "searchQuery": "Cessna",
  "wholePhraseMatch": false,
  "category": "",
  "state": "",
  "maxItems": 30,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

Dataset containing all scraped Barnstormers classified listings.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "search",
    "searchQuery": "Cessna",
    "wholePhraseMatch": false,
    "category": "",
    "state": "",
    "maxItems": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/barnstormers-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "search",
    "searchQuery": "Cessna",
    "wholePhraseMatch": False,
    "category": "",
    "state": "",
    "maxItems": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/barnstormers-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "search",
  "searchQuery": "Cessna",
  "wholePhraseMatch": false,
  "category": "",
  "state": "",
  "maxItems": 30
}' |
apify call crawlerbros/barnstormers-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/barnstormers-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Barnstormers Aircraft Classifieds Scraper",
        "description": "Scrape aircraft and aircraft-parts classified listings from barnstormers.com - search by keyword/make/model, browse by real site category, view recent listings, or pull all ads from one seller.",
        "version": "1.0",
        "x-build-id": "0lFDlcB1AeUmMkuKA"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~barnstormers-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-barnstormers-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/crawlerbros~barnstormers-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-barnstormers-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/crawlerbros~barnstormers-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-barnstormers-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",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "browseCategory",
                            "recentListings",
                            "bySeller"
                        ],
                        "type": "string",
                        "description": "What to fetch from Barnstormers.",
                        "default": "search"
                    },
                    "searchQuery": {
                        "title": "Search query (keyword)",
                        "type": "string",
                        "description": "Free-text keyword search across headline, body, part number and model (mode=search). Example: \"Cessna 182\".",
                        "default": "Cessna"
                    },
                    "headline": {
                        "title": "Headline contains",
                        "type": "string",
                        "description": "Narrow mode=search to listings whose title/headline contains this text."
                    },
                    "manufacturer": {
                        "title": "Manufacturer",
                        "type": "string",
                        "description": "Filter by aircraft manufacturer (e.g. Cessna, Piper, Beechcraft, Cirrus, Mooney, Piper). Matches listing title/description."
                    },
                    "model": {
                        "title": "Model",
                        "type": "string",
                        "description": "Filter by aircraft model designator (e.g. 182, R182, PA-28, SR22). Matches listing title/description."
                    },
                    "partNumber": {
                        "title": "Part number",
                        "type": "string",
                        "description": "Filter by an exact aircraft part number (mode=search). Useful for the parts/avionics categories, e.g. \"O-470-11\"."
                    },
                    "descriptionContains": {
                        "title": "Description contains",
                        "type": "string",
                        "description": "Narrow mode=search to listings whose ad body/description contains this text (distinct from the broader `searchQuery`, which also matches headline/model/part number)."
                    },
                    "companyName": {
                        "title": "Seller company name",
                        "type": "string",
                        "description": "Filter by the advertiser's company/business name as registered on Barnstormers (mode=search). Useful for finding all listings from a known dealer or parts house."
                    },
                    "sellerFirstName": {
                        "title": "Seller first name",
                        "type": "string",
                        "description": "Filter by the advertiser's first name (mode=search)."
                    },
                    "sellerLastName": {
                        "title": "Seller last name",
                        "type": "string",
                        "description": "Filter by the advertiser's last/family name (mode=search)."
                    },
                    "wholePhraseMatch": {
                        "title": "Match whole phrase",
                        "type": "boolean",
                        "description": "When true, `searchQuery` must match as an exact phrase instead of matching on individual words (mode=search).",
                        "default": false
                    },
                    "category": {
                        "title": "Category",
                        "enum": [
                            "",
                            "15818",
                            "15958",
                            "16008",
                            "16081",
                            "16174",
                            "16268",
                            "16400",
                            "24045",
                            "16581",
                            "16738",
                            "23971",
                            "16857",
                            "16973",
                            "16990",
                            "17092",
                            "17266",
                            "17352",
                            "17501",
                            "17627",
                            "17655",
                            "17804",
                            "17975",
                            "17990",
                            "18085",
                            "18110",
                            "18113",
                            "18132",
                            "18229",
                            "18312",
                            "18422",
                            "18604",
                            "24214",
                            "18671",
                            "19096",
                            "19121",
                            "19185",
                            "24072",
                            "19305",
                            "19333",
                            "19391",
                            "19418",
                            "19439",
                            "19526",
                            "19607",
                            "19627",
                            "19761",
                            "19889",
                            "19935",
                            "20047",
                            "20070",
                            "20143",
                            "20253",
                            "20275",
                            "24403",
                            "20293",
                            "20502",
                            "20515",
                            "20575",
                            "20590",
                            "20618",
                            "20655",
                            "20685",
                            "20719",
                            "20773",
                            "20977",
                            "21012",
                            "21071",
                            "21147",
                            "21263",
                            "21349",
                            "23799",
                            "21360",
                            "21411",
                            "21458",
                            "21549",
                            "21653",
                            "24155",
                            "21686",
                            "21715",
                            "23819",
                            "21766",
                            "21883",
                            "22041",
                            "22152",
                            "22191",
                            "22200",
                            "22576",
                            "22585",
                            "22656",
                            "23940",
                            "22689",
                            "22734",
                            "22800",
                            "22837",
                            "24281",
                            "22987",
                            "23217",
                            "23352",
                            "23375",
                            "23451"
                        ],
                        "type": "string",
                        "description": "Restrict to one of Barnstormers own real listing categories (aircraft type, manufacturer section, parts, or service category). Required for mode=browseCategory.",
                        "default": ""
                    },
                    "state": {
                        "title": "US State",
                        "enum": [
                            "",
                            "Alabama",
                            "Alaska",
                            "Arizona",
                            "Arkansas",
                            "California",
                            "Colorado",
                            "Connecticut",
                            "Delaware",
                            "District of Columbia",
                            "Florida",
                            "Georgia",
                            "Hawaii",
                            "Idaho",
                            "Illinois",
                            "Indiana",
                            "Iowa",
                            "Kansas",
                            "Kentucky",
                            "Louisiana",
                            "Maine",
                            "Maryland",
                            "Massachusetts",
                            "Michigan",
                            "Minnesota",
                            "Mississippi",
                            "Missouri",
                            "Montana",
                            "Nebraska",
                            "Nevada",
                            "New Hampshire",
                            "New Jersey",
                            "New Mexico",
                            "New York",
                            "North Carolina",
                            "North Dakota",
                            "Ohio",
                            "Oklahoma",
                            "Oregon",
                            "Pennsylvania",
                            "Rhode Island",
                            "South Carolina",
                            "South Dakota",
                            "Tennessee",
                            "Texas",
                            "Utah",
                            "Vermont",
                            "Virginia",
                            "Washington",
                            "West Virginia",
                            "Wisconsin",
                            "Wyoming"
                        ],
                        "type": "string",
                        "description": "Restrict results to sellers located in this US state.",
                        "default": ""
                    },
                    "country": {
                        "title": "Country contains",
                        "type": "string",
                        "description": "Restrict results to sellers located in a country whose name contains this text (e.g. \"Canada\", \"United Kingdom\", \"Philippines\"). Barnstormers skews heavily US/Canada but does list international sellers."
                    },
                    "city": {
                        "title": "City contains",
                        "type": "string",
                        "description": "Restrict results to sellers located in a city whose name contains this text."
                    },
                    "priceMin": {
                        "title": "Price (min, USD)",
                        "minimum": 0,
                        "maximum": 100000000,
                        "type": "integer",
                        "description": "Only include listings priced at or above this amount. Listings marked \"Make Offer\" or with no listed price always pass through."
                    },
                    "priceMax": {
                        "title": "Price (max, USD)",
                        "minimum": 0,
                        "maximum": 100000000,
                        "type": "integer",
                        "description": "Only include listings priced at or below this amount. Listings marked \"Make Offer\" or with no listed price always pass through."
                    },
                    "yearMin": {
                        "title": "Year (min)",
                        "minimum": 1900,
                        "maximum": 2030,
                        "type": "integer",
                        "description": "Only include aircraft whose title states a manufacture year at or after this value. Listings without a parseable year always pass through."
                    },
                    "yearMax": {
                        "title": "Year (max)",
                        "minimum": 1900,
                        "maximum": 2030,
                        "type": "integer",
                        "description": "Only include aircraft whose title states a manufacture year at or before this value. Listings without a parseable year always pass through."
                    },
                    "sellerId": {
                        "title": "Seller ID (mode=bySeller)",
                        "minimum": 1,
                        "maximum": 999999999,
                        "type": "integer",
                        "description": "Numeric Barnstormers seller/advertiser ID (found in any listing's \"Show all Ads posted by this Advertiser\" link, e.g. .../listing.php?userid=265709 -> 265709)."
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Hard cap on emitted records. Barnstormers' combined active inventory across all categories is several thousand listings deep, so this can safely go well above the default.",
                        "default": 30
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional. Barnstormers has no anti-bot protection, so this actor works with no proxy at all. The free AUTO datacenter group is supported if you want IP rotation.",
                        "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
                                    }
                                }
                            },
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
