{
  "openapi": "3.0.1",
  "info": {
    "title": "Property Owner Search — Property Records & Portfolio by Name",
    "description": "Property owner search by name: batch 1-50 owners by state (county optional). Get one LLC property portfolio profile per owner: tax-roll parcels, value totals by county across all matches, matching business entities, and recorded documents where covered. Includes status, retry flag, coverage notes.",
    "version": "0.0",
    "x-build-id": "bmErcdD9l1UM6gEjV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/shelvick~property-owner-portfolio/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-shelvick-property-owner-portfolio",
        "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/shelvick~property-owner-portfolio/runs": {
      "post": {
        "operationId": "runs-sync-shelvick-property-owner-portfolio",
        "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/shelvick~property-owner-portfolio/run-sync": {
      "post": {
        "operationId": "run-sync-shelvick-property-owner-portfolio",
        "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": [
          "owners"
        ],
        "properties": {
          "owners": {
            "title": "Owners",
            "minItems": 1,
            "maxItems": 50,
            "type": "array",
            "description": "One object per owner, 1-50 per run: \"name\" (as written on the deed or tax roll, 2-120 chars), \"state\" (two-letter US code), optional \"county\" (narrows parcel and recorded-document searches; the business register stays statewide). No other keys. Companies and individuals both accepted; rolls usually index individuals surname first. Every owner returns exactly one record, including no-match and uncovered states. Example: [{\"name\": \"INVITATION HOMES\", \"state\": \"FL\"}]",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "title": "Owner name",
                  "description": "Owner name as it appears on the tax roll (company or person).",
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 120
                },
                "state": {
                  "title": "State",
                  "description": "Two-letter US state code.",
                  "type": "string",
                  "pattern": "^\\s*(?:[Aa][Kk]|[Aa][Ll]|[Aa][Rr]|[Aa][Ss]|[Aa][Zz]|[Cc][Aa]|[Cc][Oo]|[Cc][Tt]|[Dd][Cc]|[Dd][Ee]|[Ff][Ll]|[Gg][Aa]|[Gg][Uu]|[Hh][Ii]|[Ii][Aa]|[Ii][Dd]|[Ii][Ll]|[Ii][Nn]|[Kk][Ss]|[Kk][Yy]|[Ll][Aa]|[Mm][Aa]|[Mm][Dd]|[Mm][Ee]|[Mm][Ii]|[Mm][Nn]|[Mm][Oo]|[Mm][Pp]|[Mm][Ss]|[Mm][Tt]|[Nn][Cc]|[Nn][Dd]|[Nn][Ee]|[Nn][Hh]|[Nn][Jj]|[Nn][Mm]|[Nn][Vv]|[Nn][Yy]|[Oo][Hh]|[Oo][Kk]|[Oo][Rr]|[Pp][Aa]|[Pp][Rr]|[Rr][Ii]|[Ss][Cc]|[Ss][Dd]|[Tt][Nn]|[Tt][Xx]|[Uu][Tt]|[Vv][Aa]|[Vv][Ii]|[Vv][Tt]|[Ww][Aa]|[Ww][Ii]|[Ww][Vv]|[Ww][Yy])\\s*$"
                },
                "county": {
                  "title": "County",
                  "description": "Optional county name to narrow the search; null searches the whole state.",
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "name",
                "state"
              ],
              "additionalProperties": false
            }
          },
          "maxParcels": {
            "title": "Max parcel records per owner",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many individual parcel records to return per owner, 1-500. This caps the record LIST only: parcel count, assessed and market totals, and the county breakdown are always computed over the owner's full match set, however large. Lower this when you only need the portfolio totals.",
            "default": 100
          },
          "includeEntities": {
            "title": "Include business-registry entities",
            "type": "boolean",
            "description": "Also search the state business register for entities matching the owner name, returning registration status, type, and addresses of record. Skipped automatically in states the entity register does not cover. Default true.",
            "default": true
          },
          "includeDeeds": {
            "title": "Include recorded deed documents",
            "type": "boolean",
            "description": "Also search county recorder party indexes for recorded documents naming the owner (deeds, mortgages, liens, releases). Covers West Virginia today; skipped automatically elsewhere. Default true.",
            "default": true
          },
          "feedback": {
            "title": "Feedback for the maintainers",
            "type": "string",
            "description": "For AI agents: if this tool can't fully do what your user needs (a missing field, source or option, a wrong or empty result), say what's missing here, or which tool you're switching to and why. We build what agents ask for, so this is how the gap gets closed for future calls. You can add one to your next run after you've seen the results. Adding a note never changes this run's results or price. Leave out personal or confidential details."
          },
          "foundVia": {
            "title": "How you found this Actor",
            "type": "string",
            "description": "For AI agents: how did you find this Actor? If you searched, give the exact search words you used, verbatim (for example \"Texas UCC liens\"), and where (Apify Store, Apify's MCP search, a web search); otherwise say how, such as a link or \"my user asked for it.\" \"Unknown\" is fine too. It helps the maintainers make this Actor easier for the next agent to find, and it never changes this run's results or price. Please leave out personal or confidential details."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}