{
  "openapi": "3.0.1",
  "info": {
    "title": "Realtor.com Property Listings Scraper",
    "description": "Scrapes Realtor.com property listings from search URLs or location keywords. Returns each listing as a flat row with optional detail enrichment including tax history, school ratings, and risk factors.",
    "version": "0.0",
    "x-build-id": "4Tkrvdi63uJOT3Q7l"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~realtor-com-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-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/parseforge~realtor-com-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-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/parseforge~realtor-com-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-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": {
          "startUrl": {
            "title": "Realtor.com property URLs",
            "type": "string",
            "description": "Single Realtor.com URL (search or detail) to use as a seed."
          },
          "startUrls": {
            "title": "Realtor.com property URLs",
            "type": "array",
            "description": "Multiple Realtor.com URLs (search or detail) to process.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum properties",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of properties to collect per run."
          },
          "maxItemsPerStartUrl": {
            "title": "Max Items Per Start URL",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of properties to collect from each seed URL."
          },
          "search": {
            "title": "City, address, or ZIP code",
            "type": "string",
            "description": "Search keyword/location used with Mode (example: Las Vegas, NV)."
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "BUY",
              "RENT",
              "SOLD"
            ],
            "type": "string",
            "description": "Search mode for keyword search."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Location token or ZIP (example: New-York_NY, 10001)."
          },
          "listingStatus": {
            "title": "Listing Status",
            "enum": [
              "for_sale",
              "for_rent",
              "recently_sold"
            ],
            "type": "string",
            "description": "Filter by listing status."
          },
          "propertyType": {
            "title": "Property Type",
            "enum": [
              "any",
              "single_family",
              "multi_family",
              "condo",
              "mobile",
              "land",
              "farm"
            ],
            "type": "string",
            "description": "Filter by property type."
          },
          "minBeds": {
            "title": "Min Beds",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of bedrooms."
          },
          "minBaths": {
            "title": "Min Baths",
            "minimum": 0,
            "type": "number",
            "description": "Minimum number of bathrooms."
          },
          "minPrice": {
            "title": "Min Price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum listing price in USD."
          },
          "maxPrice": {
            "title": "Max Price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum listing price in USD."
          },
          "minSqft": {
            "title": "Min Sqft",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum interior square feet."
          },
          "maxSqft": {
            "title": "Max Sqft",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum interior square feet."
          },
          "minLotSqft": {
            "title": "Min Lot Sqft",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum lot square feet."
          },
          "maxLotSqft": {
            "title": "Max Lot Sqft",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum lot square feet."
          },
          "minYearBuilt": {
            "title": "Min Year Built",
            "minimum": 1700,
            "type": "integer",
            "description": "Minimum construction year."
          },
          "maxYearBuilt": {
            "title": "Max Year Built",
            "minimum": 1700,
            "type": "integer",
            "description": "Maximum construction year."
          },
          "soldWithin": {
            "title": "Sold Within (Days)",
            "minimum": 0,
            "type": "integer",
            "description": "Sold recency filter in days (for sold listings)."
          },
          "endPage": {
            "title": "End Page",
            "minimum": 1,
            "type": "integer",
            "description": "Last page number to process per seed URL."
          },
          "includeDetails": {
            "title": "Include Details",
            "type": "boolean",
            "description": "Fetch property detail page data (history, schools, tax, risk)."
          },
          "includeFloorplans": {
            "title": "Include Floorplans",
            "type": "boolean",
            "description": "When details are enabled, include floorplans when available."
          },
          "includeAgentContacts": {
            "title": "📇 Include agent contacts",
            "type": "boolean",
            "description": "Adds an agentContacts list to each property: listing agent name, email, every phone number with its type, profile URL, office name, office email and phones, and broker. No extra request. Charged only for a row that receives at least one email or phone.",
            "default": false
          },
          "includeValuation": {
            "title": "📈 Include valuation",
            "type": "boolean",
            "description": "Adds a valuation block: current value estimates from up to three providers with high and low range, the monthly estimate history (about five years), the 12 month forecast, the mortgage payment estimate and the HOA fee. One extra request per property, shared with Include Details. Charged only for a row that receives it.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Max Concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum parallel requests."
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Apify proxy settings."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}