{
  "openapi": "3.0.1",
  "info": {
    "title": "Realtor.com Listing & Property Detail Extractor",
    "description": "Search Realtor.com for-sale, for-rent, or recently-sold listings by city, or pull full detail pages with agent contacts, nearby schools, tax and price history, and flood/wildfire/noise risk scores.",
    "version": "1.2",
    "x-build-id": "xJ0EyZLaPnLnZtUeM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nimbryxo-studio~realtor-com-listing-and-property-detail-extractor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nimbryxo-studio-realtor-com-listing-and-property-detail-extractor",
        "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/nimbryxo-studio~realtor-com-listing-and-property-detail-extractor/runs": {
      "post": {
        "operationId": "runs-sync-nimbryxo-studio-realtor-com-listing-and-property-detail-extractor",
        "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/nimbryxo-studio~realtor-com-listing-and-property-detail-extractor/run-sync": {
      "post": {
        "operationId": "run-sync-nimbryxo-studio-realtor-com-listing-and-property-detail-extractor",
        "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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Listing status",
            "enum": [
              "BUY",
              "RENT",
              "SOLD",
              "PENDING",
              "CONTINGENT",
              "COMING_SOON",
              "OFF_MARKET",
              "READY_TO_BUILD"
            ],
            "type": "string",
            "description": "Property status to search. `BUY` is active for-sale, `RENT` is for-rent, `SOLD` is recently sold, `PENDING`/`CONTINGENT` are under contract, `COMING_SOON` is not-yet-active inventory, `OFF_MARKET` is delisted and `READY_TO_BUILD` is new construction. Used in property mode; ignored in agent mode.",
            "default": "BUY"
          },
          "recordType": {
            "title": "What to collect",
            "enum": [
              "PROPERTIES",
              "AGENTS"
            ],
            "type": "string",
            "description": "Collect property listings or real-estate agent directory records.",
            "default": "PROPERTIES"
          },
          "search": {
            "title": "Location or address",
            "type": "string",
            "description": "City and state (`Houston, TX`), ZIP code (`77002`), neighborhood, county or a street address (`16142 Maladi Dr`). In agent mode this may be a city/state or ZIP."
          },
          "agentName": {
            "title": "Agent name (agent mode)",
            "type": "string",
            "description": "Agent or team name to search in agent mode, e.g. `Pedro Casanova`. Leave empty to search agents by the location above."
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Realtor.com property detail URLs or search-result URLs. Detail URLs are resolved directly; search URLs reuse their location, mode and page.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "title": "Listing URL",
                  "description": "Realtor.com property or search URL."
                }
              }
            },
            "default": []
          },
          "maxItems": {
            "title": "Maximum records",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum property or agent records to emit (1-10000). Property searches are limited by the source to 10,000 addressable rows per search.",
            "default": 100
          },
          "endPage": {
            "title": "Maximum search pages",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum GraphQL result pages per search. Each page holds up to 200 properties; set 50 to reach the 10,000-row search cap. Agents use their own page size.",
            "default": 50
          },
          "scrapeDetails": {
            "title": "Scrape full details",
            "type": "boolean",
            "description": "Fetch each property's full detail record: description, HOA, mortgage estimate, assigned schools, open houses, tours, photo tags, tax and price history, risk scores and extra agent contacts. In agent mode it also fetches each agent's profile phone numbers.",
            "default": true
          },
          "bedsMin": {
            "title": "Beds (min)",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Minimum bedrooms. Applied server-side, then verified on each record."
          },
          "bedsMax": {
            "title": "Beds (max)",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Maximum bedrooms."
          },
          "bathsMin": {
            "title": "Baths (min)",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Minimum bathrooms."
          },
          "bathsMax": {
            "title": "Baths (max)",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Maximum bathrooms."
          },
          "priceMin": {
            "title": "Price (min)",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Minimum list price in US dollars."
          },
          "priceMax": {
            "title": "Price (max)",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Maximum list price in US dollars."
          },
          "sqftMin": {
            "title": "Living area sqft (min)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Minimum living area in square feet."
          },
          "sqftMax": {
            "title": "Living area sqft (max)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum living area in square feet."
          },
          "lotSqftMin": {
            "title": "Lot sqft (min)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Minimum lot size in square feet."
          },
          "lotSqftMax": {
            "title": "Lot sqft (max)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Maximum lot size in square feet."
          },
          "yearBuiltMin": {
            "title": "Year built (min)",
            "minimum": 1700,
            "maximum": 2100,
            "type": "integer",
            "description": "Minimum construction year."
          },
          "yearBuiltMax": {
            "title": "Year built (max)",
            "minimum": 1700,
            "maximum": 2100,
            "type": "integer",
            "description": "Maximum construction year."
          },
          "propertyTypes": {
            "title": "Property types",
            "uniqueItems": true,
            "type": "array",
            "description": "Limit results to one or more Realtor.com property types.",
            "items": {
              "type": "string",
              "enum": [
                "apartment",
                "commercial",
                "cond_op",
                "condo",
                "condo_townhome",
                "condo_townhome_rowhome_coop",
                "condop",
                "condos",
                "coop",
                "duplex_triplex",
                "farm",
                "investment",
                "land",
                "mobile",
                "multi_family",
                "other",
                "rental",
                "single_family",
                "townhomes",
                "townhouse"
              ],
              "enumTitles": [
                "Apartment",
                "Commercial",
                "Cond-op",
                "Condo",
                "Condo/townhome",
                "Condo/townhome/rowhome/co-op",
                "Condop",
                "Condos",
                "Co-op",
                "Duplex/triplex",
                "Farm",
                "Investment",
                "Land",
                "Mobile",
                "Multi-family",
                "Other",
                "Rental",
                "Single family",
                "Townhomes",
                "Townhouse"
              ]
            },
            "default": []
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Free-text keywords matched by Realtor.com, e.g. `pool`, `waterfront`, `garage`, `new construction`.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "hasPhotos": {
            "title": "Only listings with photos",
            "type": "boolean",
            "description": "Exclude listings that have no photos.",
            "default": false
          },
          "comingSoonOnly": {
            "title": "Only coming-soon listings",
            "type": "boolean",
            "description": "Apply the source's coming-soon filter to for-sale modes. `COMING_SOON` mode enables it automatically.",
            "default": false
          },
          "sortBy": {
            "title": "Sort results",
            "enum": [
              "relevant",
              "newest",
              "price_low",
              "price_high",
              "sqft_high",
              "beds_high"
            ],
            "type": "string",
            "description": "Result ordering.",
            "default": "relevant"
          },
          "listedSince": {
            "title": "Listed since",
            "type": "string",
            "description": "Only listings added on or after this date (YYYY-MM-DD). Useful for delta monitoring."
          },
          "soldSince": {
            "title": "Sold since",
            "type": "string",
            "description": "In SOLD mode, only sales on or after this date (YYYY-MM-DD)."
          },
          "openHouseFrom": {
            "title": "Open house from",
            "type": "string",
            "description": "Only listings with an open house on or after this date (YYYY-MM-DD)."
          },
          "openHouseTo": {
            "title": "Open house to",
            "type": "string",
            "description": "Only listings with an open house on or before this date (YYYY-MM-DD)."
          },
          "latitude": {
            "title": "Latitude",
            "minimum": -90,
            "maximum": 90,
            "type": "number",
            "description": "Latitude for a radius search. Combine with longitude and radius miles."
          },
          "longitude": {
            "title": "Longitude",
            "minimum": -180,
            "maximum": 180,
            "type": "number",
            "description": "Longitude for a radius search. Combine with latitude and radius miles."
          },
          "radiusMiles": {
            "title": "Radius (miles)",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Search radius in miles around the latitude/longitude point."
          },
          "boundary": {
            "title": "Polygon boundary (GeoJSON)",
            "type": "object",
            "description": "Search inside a GeoJSON Polygon instead of a named location. Coordinates are [longitude, latitude]; rings may be open and are closed automatically. Example: {\"type\":\"Polygon\",\"coordinates\":[[[-95.6,29.6],[-95.0,29.6],[-95.0,30.1],[-95.6,30.1],[-95.6,29.6]]]}."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}