{
  "openapi": "3.0.1",
  "info": {
    "title": "Realtor.com Scraper API — Listings, Prices & Agents",
    "description": "Scrape Realtor.com property listings at $0.68 per 1,000 — undercuts every established Realtor.com listings scraper on Apify. Address, price, beds, baths, sqft, lot size, type, year built, status, days on market, agent, broker, photos and coordinates. Search by city, ZIP, county or URL.",
    "version": "0.1",
    "x-build-id": "ZDA1iL5FueDMxe9tw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dami_studio~realtor-com-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dami_studio-realtor-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/dami_studio~realtor-com-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dami_studio-realtor-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/dami_studio~realtor-com-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dami_studio-realtor-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": {
          "location": {
            "title": "Location",
            "type": "array",
            "description": "Where to search on Realtor.com. One per line. Accepts \"City, ST\" (Austin, TX), a 5-digit ZIP (78704), a county (\"Travis County, TX\"), a neighborhood (\"Zilker, Austin, TX\") or a state code (TX). United States only.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Realtor.com URLs",
            "type": "array",
            "description": "Optional. Paste Realtor.com search pages (https://www.realtor.com/realestateandhomes-search/Austin_TX) or single property pages (https://www.realtor.com/realestateandhomes-detail/..._M84963-61588). Filters written into the URL (price-, beds-, type-, show-recently-sold) are honoured. Works alongside \"location\".",
            "items": {
              "type": "string"
            }
          },
          "listingStatus": {
            "title": "Listing status",
            "enum": [
              "for_sale",
              "for_rent",
              "sold",
              "off_market",
              "ready_to_build"
            ],
            "type": "string",
            "description": "Which listings to return. \"sold\" covers recently sold homes; \"off_market\" covers homes no longer listed.",
            "default": "for_sale"
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Optional. Leave empty for every type. Note that Realtor.com's own value is \"condos\" (plural) — \"condo\" matches nothing.",
            "items": {
              "type": "string",
              "enum": [
                "single_family",
                "condos",
                "townhomes",
                "condo_townhome_rowhome_coop",
                "multi_family",
                "mobile",
                "land",
                "farm"
              ],
              "enumTitles": [
                "Single family",
                "Condos",
                "Townhomes",
                "Condo / townhome / rowhome / co-op",
                "Multi family",
                "Mobile / manufactured",
                "Land",
                "Farm / ranch"
              ]
            },
            "default": []
          },
          "maxItems": {
            "title": "Maximum listings",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Hard cap on rows returned across every location and URL. You are charged once per listing returned. Realtor.com's API cannot page deeper than 10,000 results per search — split by ZIP code to go beyond that.",
            "default": 50
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "oldest",
              "price_low",
              "price_high",
              "sold_date",
              "most_photos"
            ],
            "type": "string",
            "description": "Order the listings come back in.",
            "default": "newest"
          },
          "includePropertyDetails": {
            "title": "Include full property details",
            "type": "boolean",
            "description": "Adds the listing description text, tax history, price history, nearby schools and value estimates to every row. Costs one extra request per listing, so the run is slower. It adds fields, never extra rows, so it does not change what you are charged.",
            "default": false
          },
          "maxPhotos": {
            "title": "Photos per listing",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "How many photo URLs to keep per listing (0-50). Realtor.com returns up to 50.",
            "default": 30
          },
          "priceMin": {
            "title": "Minimum price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional lowest list price."
          },
          "priceMax": {
            "title": "Maximum price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional highest list price."
          },
          "bedsMin": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Optional."
          },
          "bedsMax": {
            "title": "Maximum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Optional."
          },
          "bathsMin": {
            "title": "Minimum bathrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Optional."
          },
          "sqftMin": {
            "title": "Minimum living area (sqft)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional."
          },
          "sqftMax": {
            "title": "Maximum living area (sqft)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional."
          },
          "lotSqftMin": {
            "title": "Minimum lot size (sqft)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. 1 acre = 43,560 sqft."
          },
          "yearBuiltMin": {
            "title": "Built after (year)",
            "minimum": 1800,
            "type": "integer",
            "description": "Optional."
          },
          "yearBuiltMax": {
            "title": "Built before (year)",
            "minimum": 1800,
            "type": "integer",
            "description": "Optional."
          },
          "listedWithinDays": {
            "title": "Listed within the last N days",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Only listings first posted in this window. Use with status \"For sale\"."
          },
          "soldWithinDays": {
            "title": "Sold within the last N days",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Only homes sold in this window. Use with status \"Recently sold\"."
          },
          "hasOpenHouse": {
            "title": "Has an upcoming open house",
            "type": "boolean",
            "description": "Optional.",
            "default": false
          },
          "newConstruction": {
            "title": "New construction only",
            "type": "boolean",
            "description": "Optional.",
            "default": false
          },
          "foreclosure": {
            "title": "Foreclosures only",
            "type": "boolean",
            "description": "Optional.",
            "default": false
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Optional. Words that must appear in the listing, for example \"pool\", \"waterfront\", \"garage\".",
            "items": {
              "type": "string"
            }
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. This actor talks to Realtor.com's own JSON gateway, which answers plain datacenter addresses, so no proxy is needed and none is used by default. Supply your own proxy URLs only if you want the traffic to exit somewhere specific.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}