{
  "openapi": "3.0.1",
  "info": {
    "title": "Realtor.com Property Listings Scraper ($1 per 1,000 results)",
    "description": "Scrape Realtor.com property listings for sale, sold and rent with prices, addresses, property details, photos and agent or brokerage information when available. Search by location, Realtor.com URL or radius and export structured real estate data.",
    "version": "0.1",
    "x-build-id": "cDpuLrYB6ffxvfUqx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zapticx~realtor-com-property-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zapticx-realtor-com-property-listings-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/zapticx~realtor-com-property-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-zapticx-realtor-com-property-listings-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/zapticx~realtor-com-property-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zapticx-realtor-com-property-listings-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": {
          "searchLocations": {
            "title": "Locations",
            "type": "array",
            "description": "One or more places to search on Realtor.com. Enter a city and state (\"Austin, TX\"), a ZIP code (\"78704\"), a county (\"Travis County, TX\") or a neighborhood. Each location is searched separately, and the Maximum listings budget is shared evenly between them — 300 listings across 3 cities gives about 100 from each, and anything a location does not use rolls over to the next. Duplicate listings that appear in overlapping locations are removed automatically.",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Listing status",
            "enum": [
              "for_sale",
              "sold",
              "for_rent"
            ],
            "type": "string",
            "description": "Which kind of Realtor.com listings to collect: homes for sale, recently sold properties, or rentals.",
            "default": "for_sale"
          },
          "maxItems": {
            "title": "Maximum listings",
            "minimum": 1,
            "type": "integer",
            "description": "The total number of listings this run will output, across every location and search URL combined — not a limit per location. Collection stops as soon as this number is reached, so a small value keeps the run fast and cheap. You are billed per listing returned.",
            "default": 100
          },
          "searchUrls": {
            "title": "Realtor.com search URLs",
            "type": "array",
            "description": "Paste Realtor.com search links to run them exactly as they are, for example https://www.realtor.com/realestateandhomes-search/Austin_TX/price-200000-500000/beds-3. Links from the for-sale, sold (/soldhomeprices/) and rentals (/apartments/) sections all work. Price, beds, baths, square feet and property-type filters in the link are applied. If a link contains a filter this Actor cannot reproduce exactly, the run reports it as an error instead of quietly running a broader search than you asked for.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Single location",
            "type": "string",
            "description": "A single place to search, if you prefer one field. Ignored when Locations is filled in."
          },
          "postalCode": {
            "title": "ZIP code",
            "type": "string",
            "description": "Five-digit US ZIP code."
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "City name, for example \"Austin\". Pair it with the state code to avoid matching a same-named city in another state."
          },
          "stateCode": {
            "title": "State code",
            "type": "string",
            "description": "Two-letter US state code, for example \"TX\". Used together with City or County."
          },
          "county": {
            "title": "County",
            "type": "string",
            "description": "County name, for example \"Travis\". Pair it with the state code."
          },
          "neighborhood": {
            "title": "Neighborhood",
            "type": "string",
            "description": "Neighborhood name, used together with City and State code."
          },
          "centerPoint": {
            "title": "Center point (latitude, longitude)",
            "type": "string",
            "description": "The point to search around, written as \"latitude, longitude\" — for example \"30.2672, -97.7431\". You can copy this straight from Google Maps. Use it together with Radius in miles. Coordinates are required because Realtor.com does not offer a way to turn a place name into a map point."
          },
          "radiusMiles": {
            "title": "Radius in miles",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How far from the center point to search, in miles. Realtor.com supports up to 50 miles."
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Limit results to these property types. Leave empty to include every type. Types are applied as Realtor.com defines them, and which types exist varies by market.",
            "items": {
              "type": "string",
              "enum": [
                "house",
                "condo",
                "townhome",
                "apartment",
                "co_op",
                "multi_family",
                "mobile",
                "land",
                "farm",
                "commercial",
                "other"
              ],
              "enumTitles": [
                "House (single family)",
                "Condo",
                "Townhome",
                "Apartment",
                "Co-op",
                "Multi-family",
                "Mobile / manufactured",
                "Land",
                "Farm / ranch",
                "Commercial",
                "Other"
              ]
            }
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price to include, in US dollars. For rentals this is the monthly rent."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price to include, in US dollars. For rentals this is the monthly rent."
          },
          "minBeds": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Fewest bedrooms to include."
          },
          "maxBeds": {
            "title": "Maximum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Most bedrooms to include."
          },
          "minBaths": {
            "title": "Minimum bathrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Fewest bathrooms to include."
          },
          "minSqft": {
            "title": "Minimum square feet",
            "minimum": 0,
            "type": "integer",
            "description": "Smallest interior size to include, in square feet."
          },
          "pending": {
            "title": "Only pending listings",
            "type": "boolean",
            "description": "Limit results to listings Realtor.com marks as pending.",
            "default": false
          },
          "contingent": {
            "title": "Only contingent listings",
            "type": "boolean",
            "description": "Limit results to listings Realtor.com marks as contingent.",
            "default": false
          },
          "foreclosure": {
            "title": "Only foreclosures",
            "type": "boolean",
            "description": "Limit results to listings Realtor.com marks as foreclosures.",
            "default": false
          },
          "newConstruction": {
            "title": "Only new construction",
            "type": "boolean",
            "description": "Limit results to listings Realtor.com marks as new construction.",
            "default": false
          },
          "hasOpenHouse": {
            "title": "Only listings with an open house",
            "type": "boolean",
            "description": "Limit results to listings that have an open house scheduled on Realtor.com.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "list_date",
              "sold_date",
              "list_price",
              "price_reduced_date",
              "photo_count",
              "beds",
              "sqft",
              "last_update_date"
            ],
            "type": "string",
            "description": "Which field Realtor.com sorts by. A sort is always applied because Realtor.com returns results in an unpredictable order otherwise. The default is chosen per listing status for the most complete results: listing date for homes for sale, sold date for sold properties, and last updated for rentals. Change it only if you need a particular order."
          },
          "sortDirection": {
            "title": "Sort direction",
            "enum": [
              "desc",
              "asc"
            ],
            "type": "string",
            "description": "Sort order for the field above.",
            "default": "desc"
          },
          "maxConcurrency": {
            "title": "Maximum concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many requests to send at once. The default balances speed against being gentle on Realtor.com.",
            "default": 5
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. This Actor works without a proxy, so leave it switched off unless your runs start getting rate limited.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}