{
  "description": "Find Apartments.com rentals by city or ZIP, paste property URLs, or look up listing keys. Filters and extra detail are optional.",
  "properties": {
    "amenities": {
      "default": [],
      "description": "Only return listings that publish every selected amenity.",
      "editor": "select",
      "items": {
        "enum": [
          "smoke-free",
          "washer-dryer",
          "dishwasher",
          "central-heating",
          "air-conditioning",
          "balcony",
          "fireplace",
          "furnished",
          "fitness-center",
          "pool",
          "tennis-court",
          "rooftop-deck",
          "basketball-court",
          "playground",
          "parking",
          "wheelchair-accessible",
          "high-speed-internet",
          "elevator",
          "washer-dryer-hookups",
          "laundry-facilities",
          "utilities-included",
          "lofts",
          "doorman",
          "gated",
          "concierge",
          "clubhouse",
          "controlled-access",
          "business-center",
          "garage",
          "patio",
          "hardwood-floors",
          "den",
          "office",
          "yard",
          "walk-in-closets",
          "basement",
          "ev-charging",
          "storage-units",
          "high-ceilings",
          "dog-park"
        ],
        "enumTitles": [
          "Smoke-free",
          "In-unit washer/dryer",
          "Dishwasher",
          "Central heating",
          "Air conditioning",
          "Balcony",
          "Fireplace",
          "Furnished",
          "Fitness center",
          "Pool",
          "Tennis court",
          "Rooftop deck",
          "Basketball court",
          "Playground",
          "Parking",
          "Wheelchair accessible",
          "High-speed internet",
          "Elevator",
          "Washer/dryer hookups",
          "Laundry facilities",
          "Utilities included",
          "Lofts",
          "Doorman",
          "Gated",
          "Concierge",
          "Clubhouse",
          "Controlled access",
          "Business center",
          "Garage",
          "Patio",
          "Hardwood floors",
          "Den",
          "Office",
          "Yard",
          "Walk-in closets",
          "Basement",
          "EV charging",
          "Storage units",
          "High ceilings",
          "Dog park"
        ],
        "type": "string"
      },
      "prefill": [],
      "title": "Required amenities",
      "type": "array"
    },
    "bathrooms": {
      "default": "any",
      "description": "Match listings with a floor plan at or above this bathroom count.",
      "editor": "select",
      "enum": [
        "any",
        "1plus",
        "2plus",
        "3plus"
      ],
      "enumTitles": [
        "Any",
        "1+ bathrooms",
        "2+ bathrooms",
        "3+ bathrooms"
      ],
      "prefill": "any",
      "title": "Bathrooms",
      "type": "string"
    },
    "bedrooms": {
      "default": "any",
      "description": "Match listings with at least one floor plan of this bedroom count.",
      "editor": "select",
      "enum": [
        "any",
        "studio",
        "1",
        "2",
        "3",
        "4",
        "5plus"
      ],
      "enumTitles": [
        "Any",
        "Studio",
        "1 bedroom",
        "2 bedrooms",
        "3 bedrooms",
        "4 bedrooms",
        "5+ bedrooms"
      ],
      "prefill": "any",
      "title": "Bedrooms",
      "type": "string"
    },
    "keywords": {
      "description": "Keep listings whose name, description, amenities, neighborhood or floor-plan names contain this text. Requires scrapeDetails=true.",
      "editor": "textfield",
      "title": "Keywords",
      "type": "string"
    },
    "listingKeys": {
      "description": "Apartments.com listing keys such as `d3pj6rk`. Used only in `listingKeys` mode.",
      "editor": "stringList",
      "title": "Listing keys",
      "type": "array"
    },
    "maxItems": {
      "default": 50,
      "description": "Maximum listings to return (1–5,000). Search mode also stops at the maxPages scan depth.",
      "maximum": 5000,
      "minimum": 1,
      "prefill": 1,
      "title": "Max listings",
      "type": "integer"
    },
    "maxPages": {
      "default": 5,
      "description": "How many 40-listing discovery pages to scan in search mode (1–20). Raise it when filters are narrow.",
      "maximum": 20,
      "minimum": 1,
      "prefill": 1,
      "title": "Max search depth (pages)",
      "type": "integer"
    },
    "maximizeCoverage": {
      "default": false,
      "description": "When the public listing index cannot fill your request, automatically try the site's search page as a last resort. Off by default.",
      "prefill": false,
      "title": "Maximize coverage",
      "type": "boolean"
    },
    "minRating": {
      "default": "any",
      "description": "Only return listings rated at or above this score (1–5).",
      "editor": "select",
      "enum": [
        "any",
        "1",
        "2",
        "3",
        "4",
        "5"
      ],
      "enumTitles": [
        "Any rating",
        "1+ stars",
        "2+ stars",
        "3+ stars",
        "4+ stars",
        "5 stars"
      ],
      "prefill": "any",
      "title": "Minimum rating",
      "type": "string"
    },
    "mode": {
      "default": "search",
      "description": "How to find listings: `search` uses a city or ZIP plus filters; `urls` uses the Apartments.com URLs you paste; `listingKeys` looks up the listing keys you paste.",
      "editor": "select",
      "enum": [
        "search",
        "urls",
        "listingKeys"
      ],
      "enumTitles": [
        "Search by city or ZIP",
        "Scrape pasted URLs",
        "Look up listing keys"
      ],
      "prefill": "search",
      "sectionCaption": "Mode",
      "sectionDescription": "Choose how to discover listings.",
      "title": "Mode",
      "type": "string"
    },
    "moveInDate": {
      "description": "Only return listings with a unit available on or before this date (YYYY-MM-DD).",
      "editor": "textfield",
      "title": "Move-in by date",
      "type": "string"
    },
    "petPolicy": {
      "default": "any",
      "description": "Require listings that allow dogs, cats, or both.",
      "editor": "select",
      "enum": [
        "any",
        "dogs",
        "cats",
        "pets"
      ],
      "enumTitles": [
        "Any",
        "Dogs allowed",
        "Cats allowed",
        "Dogs or cats allowed"
      ],
      "prefill": "any",
      "title": "Pet policy",
      "type": "string"
    },
    "priceMax": {
      "description": "Highest monthly rent to include. Leave unset for no maximum.",
      "maximum": 50000,
      "minimum": 0,
      "title": "Maximum monthly rent ($)",
      "type": "integer"
    },
    "priceMin": {
      "description": "Lowest monthly rent to include. Leave unset for no minimum.",
      "maximum": 50000,
      "minimum": 0,
      "title": "Minimum monthly rent ($)",
      "type": "integer"
    },
    "propertyType": {
      "default": "any",
      "description": "Restrict results to one property type.",
      "editor": "select",
      "enum": [
        "any",
        "apartments",
        "houses",
        "condos",
        "townhomes"
      ],
      "enumTitles": [
        "Any type",
        "Apartments",
        "Houses",
        "Condos",
        "Townhomes"
      ],
      "prefill": "any",
      "title": "Property type",
      "type": "string"
    },
    "rentSpecials": {
      "default": false,
      "description": "Only return listings advertising a current move-in deal.",
      "prefill": false,
      "title": "Rent specials only",
      "type": "boolean"
    },
    "scrapeDetails": {
      "default": true,
      "description": "Fetch floor plans, available units, fees, pets, parking, schools, office hours, manager, website and photos for each listing. Turn off for faster card-level results.",
      "prefill": true,
      "sectionCaption": "Output options",
      "title": "Fetch full details",
      "type": "boolean"
    },
    "searchLocation": {
      "description": "US city and state (`New York, NY`) or 5-digit ZIP (`10001`). Used only in search mode.",
      "editor": "textfield",
      "prefill": "New York, NY",
      "sectionCaption": "Search filters",
      "sectionDescription": "Narrow the search by rent, size, type, pets and amenities. All filters are optional.",
      "title": "Search location",
      "type": "string"
    },
    "sortBy": {
      "default": "relevance",
      "description": "How to order returned listings.",
      "editor": "select",
      "enum": [
        "relevance",
        "priceAsc",
        "priceDesc",
        "bedsAsc",
        "bedsDesc",
        "newest"
      ],
      "enumTitles": [
        "Best match",
        "Lowest rent first",
        "Highest rent first",
        "Fewest bedrooms first",
        "Most bedrooms first",
        "Recently updated"
      ],
      "prefill": "relevance",
      "title": "Sort order",
      "type": "string"
    },
    "specialties": {
      "default": [],
      "description": "Return listings matching at least one selected lifestyle or housing program. Student and senior housing are the most consistently published; other values are applied when the source exposes them.",
      "editor": "select",
      "items": {
        "enum": [
          "student",
          "senior",
          "military",
          "corporate",
          "luxury",
          "affordable",
          "cheap"
        ],
        "enumTitles": [
          "Student housing",
          "Senior housing",
          "Military housing",
          "Corporate housing",
          "Luxury",
          "Affordable housing",
          "Cheap"
        ],
        "type": "string"
      },
      "prefill": [],
      "title": "Lifestyle / housing type",
      "type": "array"
    },
    "sqftMax": {
      "description": "Largest floor plan to include. Leave unset for no maximum.",
      "maximum": 20000,
      "minimum": 0,
      "title": "Maximum square feet",
      "type": "integer"
    },
    "sqftMin": {
      "description": "Smallest floor plan to include. Leave unset for no minimum.",
      "maximum": 20000,
      "minimum": 0,
      "title": "Minimum square feet",
      "type": "integer"
    },
    "startUrls": {
      "description": "Apartments.com city-search or property URLs. Used only in `urls` mode. A listing key is also accepted.",
      "editor": "requestListSources",
      "sectionCaption": "Direct sources",
      "sectionDescription": "Paste URLs or listing keys instead of searching.",
      "title": "Start URLs",
      "type": "array"
    }
  },
  "required": [],
  "schemaVersion": 1,
  "title": "Apartments.com Scraper Input",
  "type": "object"
}
