{
  "openapi": "3.0.1",
  "info": {
    "title": "Propwire.com Leads Scraper",
    "description": "Get comprehensive property data: estimated equity, foreclosure status (auction dates/lenders), mortgage and transfer history, owner portfolios, and tax assessments. Access detailed building specs like SF and year built, plus motivated seller lead types, including pre-foreclosures and high equity.",
    "version": "0.0",
    "x-build-id": "rqwiY9u6E6YjroPmQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~propwire-leads-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-propwire-leads-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/memo23~propwire-leads-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-propwire-leads-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/memo23~propwire-leads-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-propwire-leads-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": "Propwire URLs to scrape",
            "type": "array",
            "description": "Propwire search URLs (`/search?filters=…`) or property detail URLs. **`www.propwire.com`** is rewritten to **`propwire.com`**, and **`/properties?filters=…`** to **`/search?filters=…`** so token extraction works (raw `/properties` often returns 404 to bots). Zip-only `searchType: Z` locations missing `state` get **`state` / `stateName` / `title` filled for Florida** when the 5-digit ZIP matches known FL prefixes; other states need those fields in the URL (copy from the site). Leave every URL empty to build from filters below. **Recommended hard cap:** ≤**10** items in `filters.locations` per URL (larger lists often fail on the Core API).",
            "default": [
              {
                "url": "https://propwire.com/search?filters=%7B%22locations%22%3A%5B%7B%22searchType%22%3A%22T%22%2C%22state%22%3A%22AL%22%2C%22title%22%3A%22Alabama%2C%20USA%22%2C%22stateName%22%3A%22Alabama%22%7D%2C%7B%22searchType%22%3A%22T%22%2C%22state%22%3A%22GA%22%2C%22title%22%3A%22Georgia%2C%20USA%22%2C%22stateName%22%3A%22Georgia%22%7D%2C%7B%22searchType%22%3A%22T%22%2C%22state%22%3A%22FL%22%2C%22title%22%3A%22Florida%2C%20USA%22%2C%22stateName%22%3A%22Florida%22%7D%2C%7B%22searchType%22%3A%22T%22%2C%22state%22%3A%22SC%22%2C%22title%22%3A%22South%20Carolina%2C%20USA%22%2C%22stateName%22%3A%22South%20Carolina%22%7D%2C%7B%22searchType%22%3A%22T%22%2C%22state%22%3A%22NC%22%2C%22title%22%3A%22North%20Carolina%2C%20USA%22%2C%22stateName%22%3A%22North%20Carolina%22%7D%5D%2C%22lead_type%22%3A%5B%22preforeclosure%22%5D%2C%22property_type%22%3A%5B%22commercial%22%2C%22mfh_5_plus%22%5D%2C%22estimated_value%22%3A%7B%22min%22%3A3000000%7D%7D"
              }
            ],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchStates": {
            "title": "States",
            "maxItems": 10,
            "uniqueItems": true,
            "type": "array",
            "description": "US state codes. **Required** when Start URLs has no URL. Default `FL` is an example—change or add states. Matches Propwire `locations` with `searchType` **T** (state-wide). **You can select at most 10 states** here — the same Core API limit applies; for wider coverage, run multiple actor jobs or use several Start URLs with smaller state lists.",
            "items": {
              "type": "string",
              "enum": [
                "AK",
                "AL",
                "AR",
                "AZ",
                "CA",
                "CO",
                "CT",
                "DC",
                "DE",
                "FL",
                "GA",
                "HI",
                "IA",
                "ID",
                "IL",
                "IN",
                "KS",
                "KY",
                "LA",
                "MA",
                "MD",
                "ME",
                "MI",
                "MN",
                "MO",
                "MS",
                "MT",
                "NC",
                "ND",
                "NE",
                "NH",
                "NJ",
                "NM",
                "NV",
                "NY",
                "OH",
                "OK",
                "OR",
                "PA",
                "RI",
                "SC",
                "SD",
                "TN",
                "TX",
                "UT",
                "VA",
                "VT",
                "WA",
                "WI",
                "WV",
                "WY"
              ],
              "enumTitles": [
                "Alaska",
                "Alabama",
                "Arkansas",
                "Arizona",
                "California",
                "Colorado",
                "Connecticut",
                "District of Columbia",
                "Delaware",
                "Florida",
                "Georgia",
                "Hawaii",
                "Iowa",
                "Idaho",
                "Illinois",
                "Indiana",
                "Kansas",
                "Kentucky",
                "Louisiana",
                "Massachusetts",
                "Maryland",
                "Maine",
                "Michigan",
                "Minnesota",
                "Missouri",
                "Mississippi",
                "Montana",
                "North Carolina",
                "North Dakota",
                "Nebraska",
                "New Hampshire",
                "New Jersey",
                "New Mexico",
                "Nevada",
                "New York",
                "Ohio",
                "Oklahoma",
                "Oregon",
                "Pennsylvania",
                "Rhode Island",
                "South Carolina",
                "South Dakota",
                "Tennessee",
                "Texas",
                "Utah",
                "Virginia",
                "Vermont",
                "Washington",
                "Wisconsin",
                "West Virginia",
                "Wyoming"
              ]
            },
            "default": [
              "FL"
            ]
          },
          "searchLeadTypes": {
            "title": "Lead types",
            "uniqueItems": true,
            "type": "array",
            "description": "Same options as Propwire’s Lead Types menu; each selected value is one `lead_type` token. Propwire may block mixing **Premium** and regular leads in one search—use a Start URL from the site if the API rejects a combination.",
            "items": {
              "type": "string",
              "enum": [
                "abandoned_homes",
                "absentee_owner",
                "adjustable_loan",
                "assumable_loan",
                "auction",
                "bank_owned",
                "bankruptcy",
                "bargain_properties",
                "cash_buyer",
                "cash_flow_rentals",
                "code_violation",
                "creative_financing",
                "desperate_landlords",
                "divorce",
                "empty_nester",
                "flipped_property",
                "free_and_clear",
                "hidden_gems_mls",
                "high_equity",
                "intrafamily_transfer",
                "lien_misc",
                "low_equity",
                "mls_active",
                "mls_failed",
                "mls_pending",
                "mls_sold",
                "negative_equity",
                "out_of_state_owner",
                "preprobate",
                "preforeclosure",
                "private_lender",
                "sub_to_mls",
                "sub_to_off_market",
                "tax_dodgers",
                "lien_tax",
                "tired_landlord",
                "ultra_liens",
                "ultra_violations",
                "warm_call_leads",
                "vacant_home",
                "vacant_lot",
                "zombie_property"
              ],
              "enumTitles": [
                "Abandoned Homes",
                "Absentee Owners",
                "Adjustable Loans",
                "Assumable Loans",
                "Auctions",
                "Bank Owned (REOs)",
                "Bankruptcies",
                "Bargain Properties",
                "Cash Buyers",
                "Cash Flow Rentals",
                "Code Violations",
                "Creative Financing",
                "Desperate Landlords",
                "Divorce",
                "Empty Nesters",
                "Flipped Properties",
                "Free & Clear",
                "Hidden Gems (MLS)",
                "High Equity",
                "Intrafamily Transfers",
                "Liens (Misc)",
                "Low Equity",
                "MLS Active",
                "MLS Failed",
                "MLS Pending",
                "MLS Sold",
                "Negative Equity",
                "Out-of-State Owners",
                "Pre-Probates",
                "Preforeclosures",
                "Private Loans",
                "Sub-To (MLS)",
                "Sub-To (Off Market)",
                "Tax Dodgers",
                "Tax Liens",
                "Tired Landlords",
                "Ultra Liens",
                "Ultra Violations",
                "Warm Call Leads",
                "Vacant Homes",
                "Vacant Lots",
                "Zombie Properties"
              ]
            },
            "default": [
              "preforeclosure"
            ]
          },
          "searchPropertyTypes": {
            "title": "Property types",
            "uniqueItems": true,
            "type": "array",
            "description": "Matches Propwire’s Property Types dropdown: each selected value is sent as one entry in `property_type`. If a type fails to filter, copy a Start URL from the site and compare `filters` JSON — API tokens can change.",
            "items": {
              "type": "string",
              "enum": [
                "sfr",
                "condo",
                "mfh_2_to_4",
                "mfh_5_plus",
                "mobile",
                "land",
                "commercial",
                "other"
              ],
              "enumTitles": [
                "Single-Family Homes",
                "Condos/Townhouses",
                "Multi-Family (2-4)",
                "Multi-Family (5+)",
                "Mobile Homes",
                "Land",
                "Commercial",
                "Other"
              ]
            },
            "default": [
              "commercial",
              "mfh_5_plus"
            ]
          },
          "searchEstimatedValueMin": {
            "title": "Estimated value — minimum ($)",
            "type": "integer",
            "description": "Maps to `estimated_value.min`. Default **3000000** is an example minimum ($3M); clear the field in the console if you do not want a floor.",
            "default": 3000000
          },
          "searchEstimatedValueMax": {
            "title": "Estimated value — maximum ($)",
            "type": "integer",
            "description": "Maps to `estimated_value.max`. Leave empty unless you need a ceiling (optional)."
          },
          "maxItems": {
            "title": "Max Listings",
            "type": "integer",
            "description": "Maximum number of listings to scrape per run. Set to 0 for unlimited.",
            "default": 10000
          },
          "maxConcurrency": {
            "title": "Max Concurrency",
            "type": "integer",
            "description": "Maximum number of pages that can be processed at the same time.",
            "default": 100
          },
          "minConcurrency": {
            "title": "Min Concurrency",
            "type": "integer",
            "description": "Minimum number of pages that will be processed at the same time.",
            "default": 1
          },
          "maxRequestRetries": {
            "title": "Max Request Retries",
            "type": "integer",
            "description": "Number of times the crawler will retry a failed request before giving up.",
            "default": 100
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Specifies proxy servers that will be used by the scraper in order to hide its origin.<br><br>For details, see <a href='https://apify.com/apify/web-scraper#proxy-configuration' target='_blank' rel='noopener'>Proxy configuration</a> in README.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}