{
  "openapi": "3.0.1",
  "info": {
    "title": "Realtor.com Scraper — US Homes for Sale, Rent & Sold",
    "description": "Scrape Realtor.com homes for sale, for rent and recently sold from search URLs or any US city, ZIP or neighborhood: price, beds, baths, sqft, photos, agent, open houses, history.",
    "version": "0.1",
    "x-build-id": "pfIxa4aq3mTqDY2EC"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tortuga~realtor-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tortuga-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/tortuga~realtor-scraper/runs": {
      "post": {
        "operationId": "runs-sync-tortuga-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/tortuga~realtor-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-tortuga-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": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Realtor.com search URLs with filters set in the browser (copy the address bar, e.g. https://www.realtor.com/realestateandhomes-search/Austin_TX/beds-3/price-300000-500000, https://www.realtor.com/apartments/Brooklyn_NY or .../Denver_CO/show-recently-sold), or property URLs (.../realestateandhomes-detail/..._M94164-97984), which return that property with full details. Leave empty if you use Locations below.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "US cities, ZIP codes, neighborhoods, counties or states, one per line, e.g. 'Austin, TX', '78704', 'South Congress, Austin, TX', 'Travis County, TX', 'Brooklyn, NY', 'Texas'. Each is searched separately.",
            "items": {
              "type": "string"
            }
          },
          "listingType": {
            "title": "For sale, for rent or sold",
            "enum": [
              "for_sale",
              "for_rent",
              "sold"
            ],
            "type": "string",
            "description": "Which listings the Locations searches return (start URLs keep their own: /apartments/ = for rent, show-recently-sold = sold).",
            "default": "for_sale"
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Only these home types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "single_family",
                "condos",
                "townhomes",
                "condo_townhome_rowhome_coop",
                "multi_family",
                "duplex_triplex",
                "apartment",
                "mobile",
                "land",
                "farm"
              ],
              "enumTitles": [
                "House (single family)",
                "Condo",
                "Townhome",
                "Condo / townhome / row home / co-op",
                "Multi-family",
                "Duplex / triplex (rentals)",
                "Apartment (rentals)",
                "Mobile / manufactured",
                "Land",
                "Farm / ranch"
              ]
            }
          },
          "minPrice": {
            "title": "Min price ($)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum list price, or minimum monthly rent for rentals, in US dollars."
          },
          "maxPrice": {
            "title": "Max price ($)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum list price, or maximum monthly rent for rentals, in US dollars."
          },
          "minBeds": {
            "title": "Min bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of bedrooms."
          },
          "maxBeds": {
            "title": "Max bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of bedrooms."
          },
          "minBaths": {
            "title": "Min bathrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of bathrooms."
          },
          "minSqft": {
            "title": "Min living area (sq ft)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum interior living area in square feet."
          },
          "maxSqft": {
            "title": "Max living area (sq ft)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum interior living area in square feet."
          },
          "minLotSqft": {
            "title": "Min lot size (sq ft)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum lot size in square feet (1 acre = 43,560 sq ft)."
          },
          "maxLotSqft": {
            "title": "Max lot size (sq ft)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum lot size in square feet (1 acre = 43,560 sq ft)."
          },
          "minYearBuilt": {
            "title": "Built in or after (year)",
            "minimum": 1700,
            "type": "integer",
            "description": "Only homes built in or after this year."
          },
          "maxYearBuilt": {
            "title": "Built in or before (year)",
            "minimum": 1700,
            "type": "integer",
            "description": "Only homes built in or before this year."
          },
          "maxHoaFee": {
            "title": "Max HOA fee ($/month)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum monthly HOA fee."
          },
          "listedWithinDays": {
            "title": "Listed in the last N days",
            "minimum": 1,
            "type": "integer",
            "description": "Only listings that came on the market in the last N days (days on market <= N), e.g. 1, 7 or 30."
          },
          "soldWithinDays": {
            "title": "Sold in the last N days",
            "minimum": 1,
            "type": "integer",
            "description": "Recently sold searches only: homes sold in the last N days, e.g. 30, 90 or 180. Leave empty for all sold homes Realtor.com keeps."
          },
          "hidePendingContingent": {
            "title": "Hide pending and contingent",
            "type": "boolean",
            "description": "For-sale searches show pending and contingent listings by default (like the site); turn this on to keep only active ones."
          },
          "newConstruction": {
            "title": "New construction",
            "enum": [
              "any",
              "only",
              "hide"
            ],
            "type": "string",
            "description": "Show, keep only, or hide new construction (builder homes and plans)."
          },
          "foreclosures": {
            "title": "Foreclosures",
            "enum": [
              "any",
              "only",
              "hide"
            ],
            "type": "string",
            "description": "Show, keep only, or hide foreclosures."
          },
          "onlyOpenHouses": {
            "title": "Only with an open house",
            "type": "boolean",
            "description": "Only listings with an open house scheduled in the next 14 days."
          },
          "radiusMiles": {
            "title": "Search radius (miles)",
            "minimum": 1,
            "type": "integer",
            "description": "Widen each location by this many miles around it (e.g. 5 around a ZIP code)."
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "newest",
              "price_low",
              "price_high",
              "recently_updated",
              "recently_reduced",
              "largest",
              "lot_size",
              "recently_sold"
            ],
            "type": "string",
            "description": "Order of the results (what you get first when Max items is lower than the number of listings). 'Newest' = newest listings first; for sold searches it means most recently sold first.",
            "default": "newest"
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many listings in total (all searches together). Each listing is one charged result. A single search reaches up to 10,000 listings; larger ones are split automatically (see below).",
            "default": 100
          },
          "includeDetails": {
            "title": "Include price history, tax history, schools and estimates",
            "type": "boolean",
            "description": "Also load each property's record: full price/listing history, tax history with assessments, nearby school ratings, home value estimates (several providers), flood and wildfire risk, and the monthly payment estimate. Charged as an extra 'detail' event per listing. Description and features are included without this.",
            "default": false
          },
          "splitLargeSearches": {
            "title": "Split searches over 10,000 listings",
            "type": "boolean",
            "description": "Realtor.com serves at most 10,000 listings per search. When a search has more and Max items asks for more, it is cut into price bands so every listing is reachable (a few tiny count requests).",
            "default": true
          },
          "onlyNewOrChanged": {
            "title": "Only new or changed items",
            "type": "boolean",
            "description": "Remember what earlier runs of this search returned and output only new items or items whose price/status changed. Use with a Schedule; unchanged items are not charged. With this on, Max items is the number of listings checked per run (e.g. the newest 200).",
            "default": false
          },
          "monitoringKey": {
            "title": "Monitoring key",
            "type": "string",
            "description": "Name for this watch, so several schedules on the same search stay separate; defaults to a key derived from the search input"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "The actor reads Realtor.com's own data API, which answers Apify datacenter proxies (the default, included in Apify plans; no per-GB charge). Blocked requests are retried on a new IP. RESIDENTIAL works too but is billed per GB (a few MB per 1,000 listings). Unblocker is not needed.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}