{
  "openapi": "3.0.1",
  "info": {
    "title": "Apartments.com Scraper - Rentals, Floor Plans, Fees & Reviews",
    "description": "Scrape Apartments.com rentals by city, ZIP, neighborhood, address or search URL: rent by bed type, phone, address, coordinates, plus floor plans, available units with prices and dates, fees, pet policy, amenities, reviews and schools. US + Canada. Monitor mode. $0.89 per 1,000 properties.",
    "version": "0.1",
    "x-build-id": "crpLh93ZA3ccjMSjN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/topapi~apartments-com-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-topapi-apartments-com-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/topapi~apartments-com-scraper/runs": {
      "post": {
        "operationId": "runs-sync-topapi-apartments-com-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/topapi~apartments-com-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-topapi-apartments-com-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": {
          "search": {
            "title": "Location",
            "type": "string",
            "description": "A city, ZIP, neighbourhood, university, address or property name, as typed on Apartments.com, e.g. \"Austin, TX\", \"78704\", \"Capitol Hill, Seattle\", \"Toronto, ON\"."
          },
          "locations": {
            "title": "More locations",
            "type": "array",
            "description": "Several locations in one run, one per line, e.g. \"Denver, CO\", \"Brooklyn, NY\", \"90210\". Each one is searched with the filters below.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Apartments.com links",
            "type": "array",
            "description": "Search pages with the site's own filters (e.g. https://www.apartments.com/austin-tx/2-bedrooms-under-2000/) or property pages (https://www.apartments.com/<name>/<key>/).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "listingKeys": {
            "title": "Listing keys",
            "type": "array",
            "description": "The 7-character key at the end of a property URL, e.g. \"303djxe\". Each key is read as one property.",
            "items": {
              "type": "string"
            }
          },
          "latitude": {
            "title": "Latitude",
            "minimum": -90,
            "maximum": 90,
            "type": "number",
            "description": "Optional. Search around a point instead of a named location, e.g. 30.2672. Use with Longitude and Radius."
          },
          "longitude": {
            "title": "Longitude",
            "minimum": -180,
            "maximum": 180,
            "type": "number",
            "description": "Used with Latitude, e.g. -97.7431."
          },
          "radiusMiles": {
            "title": "Radius (miles)",
            "minimum": 0.2,
            "maximum": 50,
            "type": "number",
            "description": "Used with Latitude/Longitude: half-width of the square area searched. Default 2."
          },
          "minPrice": {
            "title": "Min rent",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Lowest monthly rent, in the site's currency (USD; CAD in Canada), e.g. 1200. Empty = no minimum."
          },
          "maxPrice": {
            "title": "Max rent",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Highest monthly rent, e.g. 2500. Empty = no maximum."
          },
          "minBeds": {
            "title": "Min bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "0 = studio and up, 1, 2, 3 ..."
          },
          "maxBeds": {
            "title": "Max bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "0 = studios only, 1, 2, 3 ..."
          },
          "minBaths": {
            "title": "Min bathrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "1, 2, 3 ... Empty = any."
          },
          "minSqft": {
            "title": "Min square feet",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "e.g. 700."
          },
          "maxSqft": {
            "title": "Max square feet",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "e.g. 1500."
          },
          "propertyTypes": {
            "title": "Property type",
            "type": "array",
            "description": "Leave empty for all types.",
            "items": {
              "type": "string",
              "enum": [
                "apartments",
                "houses",
                "condos",
                "townhomes"
              ],
              "enumTitles": [
                "Apartments",
                "Houses",
                "Condos",
                "Townhomes"
              ]
            }
          },
          "petPolicy": {
            "title": "Pets",
            "enum": [
              "none",
              "any",
              "dogs",
              "cats",
              "dogsAndCats"
            ],
            "type": "string",
            "description": "Only properties that accept these pets.",
            "default": "none"
          },
          "amenities": {
            "title": "Amenities",
            "type": "array",
            "description": "Every amenity picked must be present (the site's own amenity filter).",
            "items": {
              "type": "string",
              "enum": [
                "washerDryer",
                "washerDryerHookups",
                "laundryFacilities",
                "dishwasher",
                "airConditioning",
                "utilitiesIncluded",
                "parking",
                "garage",
                "pool",
                "fitnessCenter",
                "walkInClosets",
                "gatedCommunity",
                "balcony",
                "patio",
                "hardwoodFloors",
                "furnished",
                "fireplace",
                "wheelchairAccess",
                "lofts",
                "yard",
                "office",
                "den",
                "highCeilings",
                "basement",
                "controlledAccess",
                "elevator",
                "doorman",
                "concierge",
                "businessCenter",
                "playground",
                "storageUnits",
                "dogPark",
                "evCharging"
              ],
              "enumTitles": [
                "In unit washer & dryer",
                "Washer & dryer hookups",
                "Laundry facilities",
                "Dishwasher",
                "Air conditioning",
                "Utilities included",
                "Parking",
                "Garage",
                "Pool",
                "Fitness center",
                "Walk-in closets",
                "Gated community",
                "Balcony",
                "Patio",
                "Hardwood floors",
                "Furnished",
                "Fireplace",
                "Wheelchair access",
                "Lofts",
                "Yard",
                "Office",
                "Den",
                "High ceilings",
                "Basement",
                "Controlled access",
                "Elevator",
                "Doorman",
                "Concierge",
                "Business center",
                "Playground",
                "Storage units",
                "Dog park",
                "EV charging"
              ]
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Free text the site matches in listings, e.g. \"rooftop pool\", \"utilities included\"."
          },
          "minRating": {
            "title": "Renter rating",
            "enum": [
              "",
              "4",
              "5"
            ],
            "type": "string",
            "description": "The site's rating filter: 4 stars and up, or 5 stars.",
            "default": ""
          },
          "lifestyle": {
            "title": "Lifestyle",
            "enum": [
              "none",
              "student",
              "senior",
              "military",
              "corporate"
            ],
            "type": "string",
            "description": "Housing for a group of renters.",
            "default": "none"
          },
          "shortTerm": {
            "title": "Short-term lease",
            "enum": [
              "none",
              "all",
              "1-2",
              "3-4",
              "5-6"
            ],
            "type": "string",
            "description": "Only short-term rentals of this length.",
            "default": "none"
          },
          "moveInDate": {
            "title": "Move-in date",
            "type": "string",
            "description": "Only rentals available by this date, e.g. 2026-12-01."
          },
          "listingOptions": {
            "title": "Listing options",
            "type": "array",
            "description": "More of the site's own filters; every option picked must match.",
            "items": {
              "type": "string",
              "enum": [
                "newListings",
                "forRentByOwner",
                "roomsForRent",
                "acceptingOnlineApplications",
                "noBrokerFee",
                "has3dTour",
                "hasInPersonTour",
                "hasSelfGuidedTour",
                "totalMonthlyPrice"
              ],
              "enumTitles": [
                "New listings",
                "For rent by owner",
                "Rooms for rent",
                "Accepts online applications",
                "No broker fee",
                "3D tour",
                "In-person tour",
                "Self-guided tour",
                "Shows total monthly price"
              ]
            }
          },
          "hasMoveInSpecials": {
            "title": "Move-in specials only",
            "type": "boolean",
            "description": "Only properties advertising a move-in special (the site's own filter).",
            "default": false
          },
          "incomeRestricted": {
            "title": "Income restricted only",
            "type": "boolean",
            "description": "Only low-income / income-restricted housing.",
            "default": false
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "default",
              "rentLowToHigh",
              "rentHighToLow",
              "recentlyUpdated",
              "virtualTour",
              "video"
            ],
            "type": "string",
            "description": "The site's sort order.",
            "default": "default"
          },
          "withPhoneOnly": {
            "title": "With a phone only",
            "type": "boolean",
            "description": "Keep only properties that show a leasing phone number.",
            "default": false
          },
          "withSpecialsOnly": {
            "title": "With a special only",
            "type": "boolean",
            "description": "Keep only properties whose row shows a move-in special.",
            "default": false
          },
          "minReviewRating": {
            "title": "Min exact rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Keep only properties rated at least this (1-5, e.g. 4.3). Reads each property's record."
          },
          "updatedWithinDays": {
            "title": "Updated within (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Keep only properties whose listing was updated in the last N days. Pairs with a daily schedule. Reads each property's record."
          },
          "excludeKeywords": {
            "title": "Exclude words",
            "type": "array",
            "description": "Skip properties whose name, address or description contains one of these words, e.g. \"senior\".",
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Property details",
            "type": "boolean",
            "description": "Read each property's record: floor plans, available units with prices and dates, fees, pet policy, parking, amenities, schools, office hours. Charged as property-details per row that gets it.",
            "default": false
          },
          "includeReviews": {
            "title": "Reviews",
            "type": "boolean",
            "description": "Add the renter reviews (rating, text, date, the property's response). Needs Property details; no extra charge.",
            "default": false
          },
          "maxReviewsPerProperty": {
            "title": "Max reviews per property",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "0 = all the site shows."
          },
          "includeVisuals": {
            "title": "Photos",
            "type": "boolean",
            "description": "Add the photo gallery (URL + caption). Needs Property details; no extra charge.",
            "default": false
          },
          "maxPhotos": {
            "title": "Max photos per property",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "0 = all."
          },
          "includeInteriorAmenities": {
            "title": "Interior amenities per unit",
            "type": "boolean",
            "description": "Add each floor plan's and unit's interior amenity list. Needs Property details; no extra charge.",
            "default": false
          },
          "includeWalkScore": {
            "title": "Walk, transit & sound scores",
            "type": "boolean",
            "description": "Add walk, transit, drive, bike and sound scores, nearby transit and points of interest (read from the property page). Needs Property details; no extra charge.",
            "default": false
          },
          "monitorMode": {
            "title": "Monitor mode",
            "type": "boolean",
            "description": "Return only properties that are new or whose rent, specials or available units changed since earlier monitor runs. Pairs with a daily schedule.",
            "default": false
          },
          "monitorStoreName": {
            "title": "Monitor store name",
            "type": "string",
            "description": "Named key-value store that remembers delivered properties; use one name per watch list. Default apartments-com-monitor."
          },
          "includeUnchanged": {
            "title": "Include unchanged",
            "type": "boolean",
            "description": "In monitor mode, also deliver properties that did not change (marked UNCHANGED).",
            "default": false
          },
          "maxItems": {
            "title": "Max properties",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Total properties per run. One search lists up to 700 (turn on rent bands for more). 0 = no limit.",
            "default": 100
          },
          "maxResultsPerSearch": {
            "title": "Max per location",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Properties per location or search link. 0 = up to Max properties."
          },
          "maximizeCoverage": {
            "title": "Go past 700 per search",
            "type": "boolean",
            "description": "When a search lists more than the site's 700 properties, split it into rent bands and read each band.",
            "default": false
          },
          "removeDuplicates": {
            "title": "Remove duplicates",
            "type": "boolean",
            "description": "Deliver each property once per run, even when several locations list it.",
            "default": true
          },
          "compact": {
            "title": "Compact rows",
            "type": "boolean",
            "description": "Core fields only (name, address, coordinates, rent, beds, baths, phone, rating), sized for AI agents and MCP.",
            "default": false
          },
          "includeRawData": {
            "title": "Raw record",
            "type": "boolean",
            "description": "Add the site's raw property record (as JSON) to rows read with details.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Properties read in parallel when details are on.",
            "default": 6
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxy by default; the run moves to direct requests, then residential (budgeted) when an exit is blocked.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}