Verify before you sign

Check any Florida business in 2 API calls before handing over a deposit.

2 API calls · $0.01
← All examples
🏠 Homeowners & HOA boards
📋 Property managers
🛡️ Insurance adjusters
⚖️ Attorneys

How can I verify a Florida business before signing a contract? Someone hands you a business card, sends an invoice, or submits a bid — and all you have is an LLC name. Before signing a contract, approving a vendor, or wiring a deposit, one lookup tells you how long the company has existed, who's behind it, and whether there's anything on file.

In this example, a roofing crew shows up after a storm with a card for "Example Roofing & Restoration LLC."

The lookup

Search by name
GET /api/v1/corporations/search/name?name=EXAMPLE+ROOFING
Entity
EXAMPLE ROOFING & RESTORATION LLC
Status
Active
Document #
L00000000000
Filed
Jan 8, 2026
Full detail
GET /api/v1/corporations/detail?documentNumber=L00000000000
Principal address
123 Example St, Ste 100, Tampa, FL 33600
FEI / EIN
— not on file
Officers
None listed
Registered agent
Example Registered Agents LLC (Ste 100)

What you learn

⚠️
Brand new entity. Filed less than a few months ago — no operating history to evaluate.
⚠️
No officers listed. No named person on file — hard to know who's accountable.
⚠️
Mass-filing registered agent. This agent at this suite handles thousands of unrelated LLCs — a common setup for fly-by-night operators.
ℹ️
None of this proves fraud. Many legitimate businesses start exactly this way. But you now have facts instead of assumptions.
The decision is simple

You have three flags and zero reassurances. Before paying anything, ask for:

  • Proof of insurance (general liability + workers' comp)
  • State contractor license number
  • References from completed local jobs

If they can provide all three, the LLC's age doesn't matter. If they can't — you just saved yourself a bad deposit. Total cost of finding out: $0.01.

How it's built

Two API calls, one API key. Run these from your terminal, backend, or any language with HTTP support.

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

< 200 OK (38ms)
{ "results": [{
    "documentNumber": "L00000000000",
    "corporationName": "EXAMPLE ROOFING & RESTORATION LLC",
    "status": "Active",
    "fileDate": "01082026"
  }], "total": 1 }

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

< 200 OK (41ms)
{
  "corporationName": "EXAMPLE ROOFING & RESTORATION LLC",
  "status": "Active",
  "fileDate": "01082026",
  "feiNumber": null,
  "registeredAgent": { "name": "EXAMPLE REGISTERED AGENTS LLC", "type": "C" },
  "officers": [],
  "annualReports": []
}
Drop into your app
node.js
// Verify a business before onboarding
async function verifyBusiness(name) {
  const headers = { "x-api-key": process.env.SUNBIZDATA_KEY };
  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 { found: false };

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

  return {
    found: true,
    name: detail.corporationName,
    status: detail.status,
    filed: detail.fileDate,
    hasOfficers: detail.officers.length > 0,
    hasEin: !!detail.feiNumber,
  };
}

Start with $5, get 1,000 requests

Pay per request. No subscription. Requests never expire.

Get started