Trace LLC ownership

Follow the holding company chain to find who's actually in control.

2 API calls · $0.01
← All examples
🏦 Real estate investors
🔍 Due diligence teams
📰 Journalists
⚖️ Attorneys

How can I find out who actually owns a Florida LLC? You're researching a property, a business partner, or a counterparty — and the public records only show an LLC name. The real decision-makers are hidden behind layers of holding companies. One detail call reveals the full officer list, including which officers are themselves corporations — giving you the next layer to trace.

In this example, we're looking up "Example Palm Holdings LLC."

The lookup

Search by name
GET /api/v1/corporations/search/name?name=EXAMPLE+PALM+HOLDINGS
Entity
EXAMPLE PALM HOLDINGS LLC
Status
Active
Document #
L00000000003
Filed
Jan 21, 2025
Full detail reveals the ownership chain
GET /api/v1/corporations/detail?documentNumber=L00000000003
Manager (corporation)
EXAMPLE PARTNERS LLC
Manager (corporation)
EXAMPLE INVESTORS GROUP LLC
Principal address
789 Example Plaza, Ste 101, Miami, FL 33100
FEI / EIN
00-0000001

What you learn

🔗
Layered ownership. Both managers are corporations (type: C), not people. The real decision-makers are one or more layers deeper.
🔄
Each layer is searchable. Look up "Example Partners LLC" and "Example Investors Group LLC" the same way — repeat until you find a person (type: P).
📍
Shared address. All entities at the same suite often indicates a single operator using multiple LLCs to separate assets.
Follow the chain until you find a person

The type field on each officer tells you what to do next:

  • type: "P" (person) — you've found a real human. End of chain.
  • type: "C" (corporation) — another LLC. Search its name and repeat.

Most chains are 2-3 layers deep. Each hop costs one request ($0.005). A full trace typically costs $0.01 – $0.02.

How it's built

Search by name to get the document number, then pull detail to see the officer list. When an officer is a corporation, repeat the process on that entity.

Try it — copy, paste, run
terminal
# Step 1: Search by name
# Replace "EXAMPLE+PALM+HOLDINGS" with the actual LLC name
$ curl -s -H "x-api-key: $API_KEY" \
    "https://api.sunbizdata.com/api/v1/corporations/search/name?name=EXAMPLE+PALM+HOLDINGS"

< 200 OK (36ms)
{ "results": [{
    "documentNumber": "L00000000003",
    "corporationName": "EXAMPLE PALM HOLDINGS LLC",
    "status": "Active"
  }], "total": 1 }

# Step 2: Get full detail — check officer types
# Replace "L00000000003" with the documentNumber from step 1
$ curl -s -H "x-api-key: $API_KEY" \
    "https://api.sunbizdata.com/api/v1/corporations/detail?documentNumber=L00000000003"

< 200 OK (44ms)
{
  "corporationName": "EXAMPLE PALM HOLDINGS LLC",
  "officers": [
    { "title": "MGR", "type": "C", "name": "EXAMPLE PARTNERS LLC" },
    { "title": "MGR", "type": "C", "name": "EXAMPLE INVESTORS GROUP LLC" }
  ]
}
# type "C" = corporation — search that name to go deeper
# type "P" = person — you've found the end of the chain
Drop into your app
node.js
// Recursively trace an LLC ownership chain
async function traceOwnership(name, depth = 0, maxDepth = 5) {
  const headers = { "x-api-key": process.env.SUNBIZDATA_KEY };
  if (depth >= maxDepth) return [{ name, note: "max depth reached" }];

  const search = await fetch(
    `https://api.sunbizdata.com/api/v1/corporations/search/name?name=${name}`,
    { headers }
  ).then(r => r.json());

  if (!search.results.length) return [{ name, note: "not found" }];

  const detail = await fetch(
    `https://api.sunbizdata.com/api/v1/corporations/detail?documentNumber=${search.results[0].documentNumber}`,
    { headers }
  ).then(r => r.json());

  const chain = [{ name: detail.corporationName, officers: detail.officers }];

  for (const officer of detail.officers.filter(o => o.type === "C")) {
    const deeper = await traceOwnership(officer.name, depth + 1, maxDepth);
    chain.push(...deeper);
  }

  return chain;
}

Start with $5, get 1,000 requests

Pay per request. No subscription. Requests never expire.

Get started