{
  "openapi": "3.0.1",
  "info": {
    "title": "Property Owner Phone & Email Lookup by Address (USA)",
    "description": "Find the owner of any US property address and get their phone numbers (line type, carrier), emails, age, mailing address, relatives and the property record. Owner-occupied check, absentee flag, owner name from your list. Pay only for owners found with a contact.",
    "version": "0.0",
    "x-build-id": "8LDHzaqYafFEMbxlQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nice_dev~property-owner-skip-trace/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nice_dev-property-owner-skip-trace",
        "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/nice_dev~property-owner-skip-trace/runs": {
      "post": {
        "operationId": "runs-sync-nice_dev-property-owner-skip-trace",
        "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/nice_dev~property-owner-skip-trace/run-sync": {
      "post": {
        "operationId": "run-sync-nice_dev-property-owner-skip-trace",
        "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",
            "maxItems": 1000,
            "type": "array",
            "description": "One US property per line: `Street; City, ST ZIP` or `Street, City, ST ZIP` (e.g. `18081 SW 41st St, Miramar, FL 33029`; a unit after its street: `18081 SW 41st St, Apt 5, Miramar, FL 33029`). Add `| Owner name` at the end when you know it (tax roll, county records, in either order): `641 NW 59th Ave; Miami, FL 33126 | Janette Suarez` — the only way to reach the owner of a rented-out home.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "properties": {
            "title": "Properties (structured)",
            "maxItems": 1000,
            "type": "array",
            "description": "For CRMs and automations: a JSON list of objects with `street`, `city`, `state`, `zip` (or the whole address in `street`), optionally `unit` (or `apt`, `unit #`, `address line 2`), `ownerName` (or `firstName` + `lastName`) and your own `id` (copied to the result as `inputId`). Each object is one property.",
            "default": []
          },
          "csvUrl": {
            "title": "CSV file URL",
            "maxLength": 2000,
            "type": "string",
            "description": "Link to a CSV file (e.g. a Google Sheets `…/export?format=csv` link) with a header row. Recognised columns: `street` / `address` / `property address` (the street, or the whole address), `unit` / `apt` / `address line 2`, `city`, `state`, `zip` (a ZIP code that lost its leading zero, `2108`, is read as `02108`), `owner name` (or `first name` + `last name`), `id`. Each row is one property, like **Properties (structured)**."
          },
          "maxItems": {
            "title": "Max owners",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of owners to save for the whole run (after filters). Addresses without an owner found get a row too (search fee only) and do not count. 0 = no limit.",
            "default": 100
          },
          "includeOccupants": {
            "title": "Include occupants when the owner cannot be named",
            "type": "boolean",
            "description": "When the property record says the owner does not live there (rented out) or says nothing, and you gave no owner name: return the most recent resident instead, marked `ownerMatch: occupant` and charged like an owner. Off = a `not_found` row for that address (search fee only).",
            "default": false
          },
          "requirePhone": {
            "title": "Only owners with a phone number",
            "type": "boolean",
            "description": "Drop the owners without any phone number.",
            "default": false
          },
          "requireEmail": {
            "title": "Only owners with an email",
            "type": "boolean",
            "description": "Drop the owners without any email.",
            "default": false
          },
          "minAge": {
            "title": "Minimum age",
            "minimum": 0,
            "maximum": 130,
            "type": "integer",
            "description": "Drop the owners younger than this. Owners whose age is not known are kept."
          },
          "maxAge": {
            "title": "Maximum age",
            "minimum": 0,
            "maximum": 130,
            "type": "integer",
            "description": "Drop the owners older than this (e.g. 75 for a list of likely sellers). Owners whose age is not known are kept."
          },
          "excludeKeywords": {
            "title": "Exclude owners whose name contains",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Drop the owners whose name contains one of these words (case and accents ignored), e.g. `LLC`, `Trust`.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "onlyNew": {
            "title": "Only new owners",
            "type": "boolean",
            "description": "Skip the owners that a previous run (same **Memory key**) already delivered: they are not saved and not charged, and their report is not even opened. First run = everything is new.",
            "default": false
          },
          "stateKey": {
            "title": "Memory key",
            "pattern": "^[a-zA-Z0-9_-]{1,64}$",
            "maxLength": 64,
            "type": "string",
            "description": "Name of the memory used by **Only new owners**. Give each schedule / task its own key (e.g. `miami-absentee`) so that they do not share their memory. Letters, digits, `-` and `_`.",
            "default": "default"
          },
          "resetState": {
            "title": "Reset the memory",
            "type": "boolean",
            "description": "Forget everything remembered under this **Memory key** before the run: this run returns (and charges) every owner again. Untick it afterwards.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Keep the default (Apify Proxy): the access to the sites is included in the price. Your own proxies (custom proxy URLs) are used instead when you give them. The residential Apify proxy is not available in this Actor.",
            "default": {
              "useApifyProxy": true
            }
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum number of pages read in parallel.",
            "default": 5
          },
          "maxRequestsPerMinute": {
            "title": "Max requests per minute",
            "minimum": 10,
            "maximum": 2000,
            "type": "integer",
            "description": "Most page requests in any 60 seconds, address pages and owner reports counted. A budget, not an even pace (spread them with the minimum delay below). Lower it if the log shows many refused pages.",
            "default": 120
          },
          "minRequestIntervalMs": {
            "title": "Min delay between requests",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Smallest gap between two requests, in milliseconds. Unlike the per-minute rate, this spreads the requests evenly. 0 = no gap.",
            "default": 0
          },
          "maxRequestRetries": {
            "title": "Max request retries",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Retries per page before it is marked as failed.",
            "default": 5
          },
          "debugLog": {
            "title": "Debug log",
            "type": "boolean",
            "description": "Include debug messages in the run log.",
            "default": 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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}