{
  "openapi": "3.0.1",
  "info": {
    "title": "Realtor.com Scraper",
    "description": "Scrape Realtor.com property listings by location or ZIP code with full search filters. Extract list price, beds and baths, square footage, lot size, photos, property type, HOA fees, and listing status, including active, sold, pending, and contingent listings.",
    "version": "1.0",
    "x-build-id": "rSghRli4myzC41OBS"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datascrapers~realtor-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datascrapers-realtor-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/datascrapers~realtor-scraper/runs": {
      "post": {
        "operationId": "runs-sync-datascrapers-realtor-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/datascrapers~realtor-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-datascrapers-realtor-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": {
          "searchLocation": {
            "title": "Search location",
            "type": "string",
            "description": "City, neighborhood, or address to search — e.g. \"Austin, TX\". Optional if zipCodes is provided."
          },
          "zipCodes": {
            "title": "ZIP codes",
            "type": "array",
            "description": "US ZIP codes to search — e.g. [\"78702\", \"78704\"]. Can be used alone or together with Search location.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of listings to scrape (0 = unlimited).",
            "default": 50
          },
          "sortBy": {
            "title": "Sort results by",
            "enum": [
              "relevant",
              "newest",
              "lowest_price",
              "highest_price",
              "open_house_date",
              "recently_reduced",
              "lot_size",
              "photo_count"
            ],
            "type": "string",
            "description": "How search results are ordered.",
            "default": "relevant"
          },
          "minPrice": {
            "title": "Minimum price",
            "type": "integer",
            "description": "Minimum list price in USD."
          },
          "maxPrice": {
            "title": "Maximum price",
            "type": "integer",
            "description": "Maximum list price in USD."
          },
          "priceReduced": {
            "title": "Price reduced",
            "type": "boolean",
            "description": "Only show listings with a price reduction in the last 30 days.",
            "default": false
          },
          "builderPromotions": {
            "title": "Builder promotions",
            "type": "boolean",
            "description": "Only show listings with builder promotions.",
            "default": false
          },
          "bedrooms": {
            "title": "Bedrooms",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by number of bedrooms. Select multiple options.",
            "items": {
              "type": "string",
              "enum": [
                "studio",
                "1",
                "2",
                "3",
                "4",
                "5_plus"
              ]
            }
          },
          "bathrooms": {
            "title": "Bathrooms",
            "uniqueItems": true,
            "type": "array",
            "description": "Minimum bathroom count — select one or more.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5_plus"
              ]
            }
          },
          "propertyTypes": {
            "title": "Home type",
            "uniqueItems": true,
            "type": "array",
            "description": "Property types to include.",
            "items": {
              "type": "string",
              "enum": [
                "house",
                "condo",
                "townhouse",
                "multi_family",
                "mobile",
                "land",
                "farm"
              ]
            }
          },
          "listingStatus": {
            "title": "Listing status",
            "uniqueItems": true,
            "type": "array",
            "description": "Listing activity status filters.",
            "items": {
              "type": "string",
              "enum": [
                "active",
                "pending",
                "contingent",
                "sold"
              ]
            },
            "default": [
              "active"
            ]
          },
          "listingTypes": {
            "title": "Listing type",
            "uniqueItems": true,
            "type": "array",
            "description": "Special listing categories.",
            "items": {
              "type": "string",
              "enum": [
                "existing_homes",
                "foreclosures",
                "new_construction",
                "55_plus_community",
                "auction"
              ]
            }
          },
          "soldWithinMonths": {
            "title": "Sold within (months)",
            "minimum": 1,
            "type": "integer",
            "description": "When searching sold listings, limit to sales within this many months (1, 3, 6, 12, 24, or 36).",
            "default": 6
          },
          "tours": {
            "title": "Open house & tours",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by open houses and virtual/3D tours.",
            "items": {
              "type": "string",
              "enum": [
                "open_house",
                "three_d_tour",
                "virtual_tour"
              ]
            }
          },
          "daysOnRealtor": {
            "title": "Days on Realtor.com",
            "minimum": 1,
            "type": "integer",
            "description": "Only listings added within this many days (2, 7, 14, 21, or 30)."
          },
          "minSquareFeet": {
            "title": "Minimum square feet",
            "type": "integer",
            "description": "Minimum interior square footage."
          },
          "maxSquareFeet": {
            "title": "Maximum square feet",
            "type": "integer",
            "description": "Maximum interior square footage."
          },
          "minLotSizeSqft": {
            "title": "Minimum lot size (sqft)",
            "type": "integer",
            "description": "Minimum lot size in square feet."
          },
          "maxLotSizeSqft": {
            "title": "Maximum lot size (sqft)",
            "type": "integer",
            "description": "Maximum lot size in square feet."
          },
          "minHomeAgeYears": {
            "title": "Minimum home age (years)",
            "type": "integer",
            "description": "Minimum age of the home in years."
          },
          "maxHomeAgeYears": {
            "title": "Maximum home age (years)",
            "type": "integer",
            "description": "Maximum age of the home in years."
          },
          "maxHoaFeePerMonth": {
            "title": "Max HOA fee per month",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum monthly HOA fee in USD (50–3000)."
          },
          "garageSpaces": {
            "title": "Garage spaces",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "Minimum number of garage spaces (1, 2, or 3)."
          },
          "stories": {
            "title": "Stories",
            "enum": [
              "single",
              "multiple"
            ],
            "type": "string",
            "description": "Number of stories."
          },
          "keywords": {
            "title": "Keyword search",
            "type": "array",
            "description": "Keyword filters such as pool, gated, pond, basement, waterfront.",
            "items": {
              "type": "string"
            }
          },
          "features": {
            "title": "Home features",
            "uniqueItems": true,
            "type": "array",
            "description": "Interior, exterior, view, and community feature tags.",
            "items": {
              "type": "string",
              "enum": [
                "basement",
                "central_air",
                "central_heat",
                "den_office",
                "dining_room",
                "elevator",
                "accessibility",
                "energy_efficient",
                "family_room",
                "fireplace",
                "forced_air",
                "game_room",
                "hardwood_floors",
                "in_home_laundry",
                "carport",
                "corner_lot",
                "golf_course_lot",
                "horse_facility",
                "pool",
                "rv_boat_parking",
                "spa_hot_tub",
                "city_view",
                "golf_course_view",
                "hill_mountain_view",
                "ocean_view",
                "lake_view",
                "river_view",
                "waterfront",
                "community_55_plus",
                "community_boat_facility",
                "community_clubhouse",
                "community_horse_facility",
                "community_golf",
                "community_park",
                "community_pool",
                "community_recreation",
                "community_security",
                "community_spa",
                "community_tennis"
              ]
            }
          },
          "commuteAddress": {
            "title": "Commute destination address",
            "type": "string",
            "description": "Destination address for commute-time filtering."
          },
          "commuteMode": {
            "title": "Commute mode",
            "enum": [
              "walking",
              "cycling",
              "transit",
              "driving"
            ],
            "type": "string",
            "description": "Transportation mode for commute filter."
          },
          "maxCommuteMinutes": {
            "title": "Max commute time (minutes)",
            "minimum": 10,
            "maximum": 60,
            "type": "integer",
            "description": "Maximum commute time from the destination address (10–60)."
          },
          "searchRadiusMiles": {
            "title": "Search radius (miles)",
            "type": "integer",
            "description": "Expand search radius around the location in miles."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify proxy settings — residential proxies recommended.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}