{
  "openapi": "3.0.1",
  "info": {
    "title": "Real Estate Skip Trace | Owner Phone & Email | $10-$15/1K",
    "description": "Real estate skip tracing for US property owner lookup. Find owner names, phones, emails, mailing addresses, absentee status, equity, portfolios, LLC agents, APNs, and distress signals in bulk. No login or cookies. Tiered PPE: $10-$15/1K results. JSON, CSV, Excel, API, webhook.",
    "version": "0.16",
    "x-build-id": "jRA9AOUm4HrVPcMel"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/apivault_labs~real-estate-skip-trace-go/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-apivault_labs-real-estate-skip-trace-go",
        "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/apivault_labs~real-estate-skip-trace-go/runs": {
      "post": {
        "operationId": "runs-sync-apivault_labs-real-estate-skip-trace-go",
        "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/apivault_labs~real-estate-skip-trace-go/run-sync": {
      "post": {
        "operationId": "run-sync-apivault_labs-real-estate-skip-trace-go",
        "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": {
          "addresses": {
            "title": "Property addresses — recommended",
            "type": "array",
            "description": "Main real-estate workflow: property address → owner → phones and emails → deal signals. Enter one complete US address per line, including city, two-letter state, and ZIP. Example: \"123 Main St, Springfield, IL 62704\".",
            "items": {
              "type": "string"
            }
          },
          "ownerNames": {
            "title": "Owner names (optional)",
            "type": "array",
            "description": "Optional. If you already know the owner name(s), add them here to skip the owner-resolution step and go straight to contact skip tracing. One per line.",
            "items": {
              "type": "string"
            }
          },
          "universalSearch": {
            "title": "Quick search — person, phone, email, or address",
            "type": "array",
            "description": "Not sure which mode to use? Enter any person signal here. Examples: \"John Smith; Dallas, TX\", \"john@example.com\", \"+1 214 555 0182\", or \"Jane Doe; 2551 Pinebluff Dr, Dallas, TX\". The Actor detects the input type and builds a consolidated person profile.",
            "items": {
              "type": "string"
            }
          },
          "names": {
            "title": "People search — by name",
            "type": "array",
            "description": "Direct people search by name (not tied to a property). One per line; add a city/state for accuracy, e.g. \"Jane Doe; Austin, TX\".",
            "items": {
              "type": "string"
            }
          },
          "personAddresses": {
            "title": "People search — by residential address",
            "type": "array",
            "description": "Find the people who live (or lived) at a residential address. One per line, e.g. \"123 Main St, Springfield, IL 62704\".",
            "items": {
              "type": "string"
            }
          },
          "phoneNumbers": {
            "title": "People search — by phone (reverse)",
            "type": "array",
            "description": "Reverse phone lookup: find the owner of a US phone number. One per line, e.g. \"(202) 555-0182\".",
            "items": {
              "type": "string"
            }
          },
          "emails": {
            "title": "People search — by email (reverse)",
            "type": "array",
            "description": "Reverse email lookup: find the person behind an email address. One per line.",
            "items": {
              "type": "string"
            }
          },
          "maxResultsPerQuery": {
            "title": "Max people per search query",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Cap how many people to return per name/address/phone/email query.",
            "default": 20
          },
          "leadListAreas": {
            "title": "Lead lists — by area (ZIP or City, ST)",
            "type": "array",
            "description": "Build an owner lead list for a whole area: every property owner in a ZIP or city, flagged absentee & high-equity. One per line, e.g. \"37215\" or \"Nashville, TN\". Coverage = counties with an owner-exposing parcel layer.",
            "items": {
              "type": "string"
            }
          },
          "onlyAbsentee": {
            "title": "Lead lists: absentee owners only",
            "type": "boolean",
            "description": "In area lead lists, keep only absentee owners (mailing address in a different city/state than the property) — the hottest wholesale signal.",
            "default": false
          },
          "minEquity": {
            "title": "Lead lists: minimum equity (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "In area lead lists, keep only owners whose estimated equity is at least this. 0 = no filter. (Equity uses assessed value where available.)",
            "default": 0
          },
          "maxLeadsPerArea": {
            "title": "Max leads per area",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap how many owner leads to return per area query.",
            "default": 100
          },
          "monitor": {
            "title": "Monitor mode — report only changes since the last run",
            "type": "boolean",
            "description": "For area lead lists: compare against the previous run of the same area and return only what changed — new properties, new owners, big assessed-value moves. The first run of an area is a free baseline; later runs are charged per changed record. Schedule the actor to run daily/weekly to watch a market.",
            "default": false
          },
          "ownerSearch": {
            "title": "Owner portfolio search (name or company → their properties)",
            "type": "array",
            "description": "Find properties associated with a person or company. One per line. Add a state for faster, more precise matching, e.g. \"John Smith; TX\" or \"ACME HOLDINGS LLC; FL\". The people-per-query setting controls the result cap.",
            "items": {
              "type": "string"
            }
          },
          "businessSearch": {
            "title": "LLC / business → registered agent",
            "type": "array",
            "description": "Find available registered-agent and officer information for a company. Enter one company per line with its state, e.g. \"ACME HOLDINGS LLC; NY\". Use the returned person name in Quick or Name search when you need contact details. Coverage varies by state.",
            "items": {
              "type": "string"
            }
          },
          "apnSearch": {
            "title": "APN / parcel number → owner",
            "type": "array",
            "description": "Look up the owner of a parcel by its APN / parcel number. One per line. Include the state (APN formats are state/county-specific), e.g. \"117-24-001A; AZ\".",
            "items": {
              "type": "string"
            }
          },
          "skipTraceContacts": {
            "title": "Skip trace owner phones & emails",
            "type": "boolean",
            "description": "Resolve the owner's phone numbers and emails from public records. Turn off for a property-and-owner-only run (cheaper/faster).",
            "default": true
          },
          "verifyEmails": {
            "title": "Verify email deliverability",
            "type": "boolean",
            "description": "Add an availability and quality status to each email found. Included at no additional Actor event charge.",
            "default": true
          },
          "checkWhatsApp": {
            "title": "Live WhatsApp check on found phones",
            "type": "boolean",
            "description": "For each person, live-check their best phone number(s) on WhatsApp (keyless). Confirms the number is ACTIVE and adds a WhatsApp outreach channel + public profile photo when available. Tags `phonesDetailed[].whatsapp` and a person-level `whatsapp` flag. Slower (one live lookup per number).",
            "default": false
          },
          "whatsappMaxPerPerson": {
            "title": "Max WhatsApp checks per person",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How many of a person's numbers to live-check on WhatsApp (best/mobile first). Only used when the WhatsApp check is on.",
            "default": 2
          },
          "linkOwnerProperties": {
            "title": "Link all of the owner's properties (portfolio)",
            "type": "boolean",
            "description": "For each property address, also return EVERY other property the same owner holds in that state (address → owner → their whole portfolio). Adds `portfolioCount` + `portfolioProperties`.",
            "default": false
          },
          "detectAbsentee": {
            "title": "Detect absentee owners",
            "type": "boolean",
            "description": "Flag owners whose mailing address differs from the property address — a strong wholesaling / investor signal.",
            "default": true
          },
          "estimateEquity": {
            "title": "Estimate equity & mortgage",
            "type": "boolean",
            "description": "Estimate the owner's equity from assessed/market value minus mortgage/lien signals — a motivated-seller indicator.",
            "default": true
          },
          "distressSignals": {
            "title": "Distress signals (tax, foreclosure, vacancy)",
            "type": "boolean",
            "description": "Look for tax delinquency, foreclosure/pre-foreclosure and vacancy signals. Slower; best for high-value target lists.",
            "default": false
          },
          "maxContactsPerOwner": {
            "title": "Max phones/emails per owner",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Cap how many phone numbers and emails to return per owner.",
            "default": 10
          },
          "timeout": {
            "title": "Timeout per request (seconds)",
            "minimum": 10,
            "maximum": 45,
            "type": "integer",
            "description": "Max wait per page fetch.",
            "default": 25
          },
          "maxRetries": {
            "title": "Retries on transient failure",
            "minimum": 0,
            "maximum": 3,
            "type": "integer",
            "description": "Retry attempts after a temporary lookup failure.",
            "default": 2
          },
          "maxConcurrency": {
            "title": "Max parallel lookups",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "How many addresses to process in parallel. Higher can speed up large batches; lower is gentler and may be more stable.",
            "default": 4
          },
          "flatOutput": {
            "title": "Flat output (for spreadsheets / CRM)",
            "type": "boolean",
            "description": "Flatten nested fields (phones, emails, addresses) into single columns for a clean CSV / Excel / Google Sheets export.",
            "default": false
          },
          "distressLists": {
            "title": "Distressed lead lists — code violations, sheriff sales, tax delinquent",
            "type": "array",
            "description": "Pull fresh motivated-seller leads from public city/county records: NYC housing code violations, New Orleans sheriff sales, Richmond VA delinquent taxes, Baton Rouge adjudicated property. Each lead is resolved to its owner (assessor lookup or inline records) and skip-traced on request. Use \"all\" for every source, or pick keys: nyc_violations, nola_sheriff_sales, richmond_tax_delinquent, batonrouge_adjudicated.",
            "items": {
              "type": "string"
            }
          },
          "distressAreas": {
            "title": "Distress list — area filter (optional)",
            "type": "array",
            "description": "Limit a list to an area the source supports: NYC borough name (e.g. \"Queens\"), or ZIP for Baton Rouge. Leave empty for the whole city.",
            "items": {
              "type": "string"
            }
          },
          "distressMaxResults": {
            "title": "Max leads per distress source",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Cap leads returned per list source (newest first).",
            "default": 15
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}