{
  "openapi": "3.0.1",
  "info": {
    "title": "LLC Owner Finder & Skip Trace: TX, FL, PA, CT, NYC",
    "description": "Find the person who owns an LLC in Texas, Florida, Pennsylvania, Connecticut or a New York City rental building: name and role from the public filing, plus phones, emails and address, each with a match confidence. For real estate investors skip tracing LLC properties. Misses are free.",
    "version": "0.1",
    "x-build-id": "OPXguEaoG2oriQkoF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/michael_b~llc-owner-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-michael_b-llc-owner-finder",
        "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/michael_b~llc-owner-finder/runs": {
      "post": {
        "operationId": "runs-sync-michael_b-llc-owner-finder",
        "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/michael_b~llc-owner-finder/run-sync": {
      "post": {
        "operationId": "run-sync-michael_b-llc-owner-finder",
        "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": {
          "owners": {
            "title": "LLC names",
            "type": "array",
            "description": "Paste the company names from your owner column, one per line (up to 5,000 per run in total), spelled the way your list has them (e.g. SUNSET HOLDINGS LLC). Use the owner's name, not the property address. Corporations and partnerships work too. Repeated names are fine: each LLC is looked up and charged once per run. People and trusts (SMITH JOHN A TR) come back free but with no phone; to get their phones, put them in LLC list with addresses with their mailing address.",
            "items": {
              "type": "string"
            }
          },
          "state": {
            "title": "State",
            "enum": [
              "auto",
              "TX",
              "FL",
              "PA",
              "CT",
              "NY"
            ],
            "type": "string",
            "description": "Where the LLCs are registered. Pick your list's state; for a list that mixes states, add the state to the end of each line instead (see below). On auto, a company with the same name in a state checked earlier can come back instead of yours, with no warning on the row: auto tries Texas, then Florida (skipped when the Texas filing with that exact name lists people), then Pennsylvania and Connecticut while no state has that exact name, and New York City only when none has that name or a close spelling. NY means New York City rental buildings only (the city's HPD building registrations; New York State's registry names no LLC members). To mix states, add , TX or , FL or , PA or , CT or , NY at the very end of a line: SUNSET HOLDINGS, LLC, TX (commas inside the name are fine; after a bare name a trailing CO or PA stays part of the company name, so write SMITH & JONES LLC, PA).",
            "default": "auto"
          },
          "findContacts": {
            "title": "Find phone numbers and emails",
            "type": "boolean",
            "description": "On: you get the owner's phone numbers, email addresses and current address. Off: you get only the names from the state filing (cheaper and faster).",
            "default": true
          },
          "ownerRecords": {
            "title": "LLC list with addresses (optional)",
            "type": "array",
            "description": "Only if you have addresses from your list: they make phone matches more certain. One object per LLC: name (required), state (TX, FL, PA, CT, or NY for New York City rental buildings only; without it, a record is searched in the states of its addresses we cover, or everywhere when we cover none of them), mailingAddress and propertyAddress (one line each, 'street, city, ST zip'; both count as addresses from your list), id (any text, returned as inputId so you can match rows back). If you fill both boxes, both lists run."
          },
          "minContactConfidence": {
            "title": "Lowest match confidence to return",
            "enum": [
              "medium",
              "high",
              "low"
            ],
            "type": "string",
            "description": "High: the person lived at an address from the filing or your list, or a relative of theirs is also on the filing. Medium: the only person with that name who lived in the filing's city. Low: same name in the same state, often the wrong person. Phones below this level are not returned and not charged.",
            "default": "medium"
          },
          "maxPeoplePerOwner": {
            "title": "People to look up per LLC",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Many LLCs list 2 or more managers. This many get a phone lookup, most senior first (1 to 5); the best one we reach becomes the owner on the row. More people make the run slower but never cost more: at most one phone charge per LLC.",
            "default": 2
          },
          "followParentCompanies": {
            "title": "Follow parent companies",
            "type": "boolean",
            "description": "When an LLC is managed by another company, look that company up too (2 levels) to reach a person.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave as is. The people-search sites only answer US home internet connections and limit lookups per connection, so the actor spreads lookups over Apify's US residential IPs.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}