{
  "openapi": "3.0.1",
  "info": {
    "title": "ApartmentFinder Scraper with Contacts & Features",
    "description": "Extract ApartmentFinder.com rental listings with asking rents, addresses, coordinates, photos, descriptions, contacts, amenities, floor plans, and unit availability. Use enrichment and coverage mode for market research, inventory monitoring, CRM enrichment, BI, and AI workflows.",
    "version": "0.1",
    "x-build-id": "uJrFEUwFoagOZKokS"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fatihtahta~apartmentfinder-property-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fatihtahta-apartmentfinder-property-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/fatihtahta~apartmentfinder-property-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fatihtahta-apartmentfinder-property-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/fatihtahta~apartmentfinder-property-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fatihtahta-apartmentfinder-property-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": {
          "location": {
            "title": "Add Locations (city, state, ZIP code, neighborhood, or market)",
            "type": "array",
            "description": "Enter one Apartment Finder-supported location per line, such as Los Angeles, CA; Atlanta, GA; 90034; or a neighborhood name. Use focused markets for cleaner price comparisons and recurring monitoring, or add multiple locations for a broader export.",
            "items": {
              "type": "string"
            }
          },
          "min_price": {
            "title": "Set the Minimum Monthly Rent",
            "minimum": 0,
            "maximum": 15000,
            "type": "integer",
            "description": "Only include listings matching a monthly rent at or above this USD amount. Use it with the maximum rent to create a comparable price band for analysis, alerts, dashboards, or CRM qualification."
          },
          "max_price": {
            "title": "Set the Maximum Monthly Rent",
            "minimum": 0,
            "maximum": 15000,
            "type": "integer",
            "description": "Only include listings matching a monthly rent at or below this USD amount. The maximum must be greater than or equal to the minimum when both values are provided."
          },
          "deals_discounts": {
            "title": "Focus on a Deal or Discount Category",
            "enum": [
              "price_drop",
              "best_value",
              "rent_specials"
            ],
            "type": "string",
            "description": "Optionally narrow results to one Apartment Finder promotion category. Leave empty when discounts are not required for your rental search."
          },
          "bedroom_count": {
            "title": "Choose the Minimum Bedroom Count",
            "enum": [
              "studio",
              "1",
              "2",
              "3",
              "4_plus"
            ],
            "type": "string",
            "description": "Select Studio or the minimum number of bedrooms required. The 4+ option includes properties with four or more bedrooms."
          },
          "bathroom_count": {
            "title": "Choose the Minimum Bathroom Count",
            "enum": [
              "1",
              "2",
              "3_plus"
            ],
            "type": "string",
            "description": "Select the minimum number of bathrooms required. Use this with bedrooms and property type to define a consistent housing segment."
          },
          "property_type": {
            "title": "Select One or More Property Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose the rental property categories to include. Leave empty to avoid restricting the search by house, townhouse, or condominium type.",
            "items": {
              "type": "string",
              "enum": [
                "houses",
                "townhouses",
                "condos"
              ],
              "enumTitles": [
                "Houses",
                "Townhouses",
                "Condos"
              ]
            },
            "default": []
          },
          "pets_allowed": {
            "title": "Filter by Pet Policy",
            "enum": [
              "dogs_only",
              "cats_only",
              "pet_friendly"
            ],
            "type": "string",
            "description": "Optionally require listings that accept dogs, cats, or pets generally. Leave empty when pet policy should not narrow the dataset."
          },
          "amenities": {
            "title": "Select Required Property Amenities",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose interior, accessibility, parking, laundry, or community features listings should match. Leave empty for broader discovery; add amenities for targeted tenant requirements or portfolio analysis.",
            "items": {
              "type": "string",
              "enum": [
                "air_conditioning",
                "balcony",
                "dishwasher",
                "elevator",
                "fireplace",
                "fitness_center",
                "garage",
                "gated",
                "parking_available",
                "swimming_pool",
                "wheelchair_accessible",
                "utilities_included",
                "lofts",
                "furnished",
                "laundry_in_unit",
                "laundry_hookups",
                "laundry_on_site"
              ],
              "enumTitles": [
                "Air Conditioning",
                "Balcony",
                "Dishwasher",
                "Elevator",
                "Fireplace",
                "Fitness Center",
                "Garage",
                "Gated",
                "Parking Available",
                "Swimming Pool",
                "Wheelchair Accessible",
                "Utilities Included",
                "Lofts",
                "Furnished",
                "In-Unit Laundry",
                "Laundry Hookups",
                "On-Site Laundry"
              ]
            },
            "default": []
          },
          "speciality_housing": {
            "title": "Select Specialty Housing Categories",
            "uniqueItems": true,
            "type": "array",
            "description": "Optionally include Apartment Finder categories such as income-restricted, military, senior, short-term, student, budget, or luxury housing. Leave empty when no specialty category is required.",
            "items": {
              "type": "string",
              "enum": [
                "income_restricted",
                "military",
                "senior",
                "short_term",
                "student",
                "cheap",
                "luxury"
              ],
              "enumTitles": [
                "Income Restricted",
                "Military",
                "Senior",
                "Short-Term Housing",
                "Student",
                "Cheap | budget-focused listings",
                "Luxury Housing"
              ]
            },
            "default": []
          },
          "keyword": {
            "title": "Add Listing Keywords",
            "maxLength": 100,
            "type": "string",
            "description": "Enter optional comma-separated terms, up to 100 characters, to focus the search on listing text relevant to your workflow, such as rooftop, transit, renovated, or waterfront."
          },
          "maximize_coverage": {
            "title": "Collect More Matching Listings Beyond the Visible Search Cap",
            "type": "boolean",
            "description": "Enable this for large exports, market monitoring, and downstream analysis that may need more than the first 750 visible matches. Keep it off for faster validation runs or narrowly filtered searches.",
            "default": true
          },
          "enrich_data": {
            "title": "Enrich Matching Listings with Property and Availability Details",
            "type": "boolean",
            "description": "Keep this enabled for CRM enrichment, detailed BI datasets, availability tracking, and AI-assisted property review. Turn it off for faster collection when identity, rent, location, primary media, and other search-result fields are sufficient.",
            "default": true
          },
          "limit": {
            "title": "Set the Maximum Number of Listings to Save",
            "minimum": 1,
            "type": "integer",
            "description": "Choose the maximum number of matching listings to save. Leave empty to continue through all listings available for the selected locations, filters, and coverage setting."
          },
          "mcpConnectors": {
            "title": "Select MCP Connectors for Run-Summary Delivery",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose user-authorized connectors for a concise post-run handoff containing saved listing totals, duration, searched locations, enrichment and map status, plus public dataset, summary, report, and map links when available. Leave empty to only save the primary dataset and key-value-store artifacts.",
            "default": []
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}