Secretary of State Business Entity Search - 50 States + DC avatar

Secretary of State Business Entity Search - 50 States + DC

Pricing

from $1.99 / 1,000 business record, listing levels

Go to Apify Store
Secretary of State Business Entity Search - 50 States + DC

Secretary of State Business Entity Search - 50 States + DC

Look up US companies in official state business registries across all 50 states and DC. Returns the full entity record: status, type, formation date, registered agent with contact, officers with addresses, principal and mailing addresses, filing and name history, and UCC liens where published.

Pricing

from $1.99 / 1,000 business record, listing levels

Rating

0.0

(0)

Developer

ClearPath

ClearPath

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 hours ago

Last modified

Share

All 50 states. Plus DC. Officer addresses. Filing history. Former names.

From Clearpath, creators of Email Finder & Verifier and Shopify Store Leads. Find the business, understand its records, then build your contact list.

Why choose this actor?

  • All 50 states, plus DC. Search selected states or look for a company nationwide. Registered agents are available in 36 jurisdictions, and principal or mailing addresses in 33. Each run includes a coverage record showing what is available by state.
  • People, addresses and the company’s history. Get officers and governing persons in 19 jurisdictions, filing histories in 15, and former names in 12. Officer addresses, registered-agent contacts and scanned filings add detail where the register publishes them.
  • Detailed records for your results. With detail enrichment enabled, the actor requests the available detail for each returned business. Set your result limit to match your research; field availability still depends on the state and source response.

Look up a company

Quick start

Start with one company in Washington, with detail enrichment enabled.

{
"companyName": "Starbucks Corporation",
"states": ["WA"],
"matchMode": "exact",
"maxResultsPerState": 3,
"includeDetails": true
}

Open actor input to choose states or enter more company names. Leave states empty to search all 50 states plus DC. Export JSON, CSV or Excel; JSON preserves nested officers, addresses and filing histories.

Full records cost $0.005 each. For listing-level results, set includeDetails to false: $0.002 per record. A start fee also applies; see Pricing below. Maryland’s additional detail requires marylandFullDetail.

Clearpath · Business Data
  Business Records
You are here
  Email Finder
Find & verify emails
  Shopify Leads
Store contacts

Copy to your AI assistant

clearpath/us-business-entity-search on Apify. Looks a US company up by name in all 51 official state business registries, the 50 states plus DC (AK AL AR AZ CA CO CT DC DE FL GA HI IA ID IL IN KS KY LA MA MD ME MI MN MO MS MT NC ND NE NH NJ NM NV NY OH OK OR PA RI SC SD TN TX UT VA VT WA WI WV WY) and returns one normalized record per business. Input: companyName or companyNames (up to 50), states (omit for all 51), matchMode contains|exact|starts (default contains), maxResultsPerState (default 25, max 500). Outcome rules: includeDetails is true by default and is what opens the record behind the listing (officers, registered agent with contact, principal and mailing addresses, filing and name history) and bills entity-record-detailed; set it false for a name/status/id check only, which bills the cheaper entity-record. includeLiens (default true) attaches UCC filings and does nothing unless includeDetails is on. marylandFullDetail is off by default and is the only way to get Maryland's formation date, principal office, resident agent and good-standing flag; it makes the run slower and costs no extra. Constraints to respect before promising a field: states differ in what they publish, so read the COVERAGE record the run writes to the key-value store (per state: officers, agent, addresses, filing history, name history, liens, documents, and which statuses the register exposes) instead of assuming every state matches the deepest one; 36 of 51 publish a registered agent, 33 an address, 19 officers, 15 filing history, 12 former names, 4 links to scanned filings and 2 UCC liens; a register that does not answer is named as not-answered in the log and in statesNotAnswered, never returned as no matches. Also runs in Standby for one lookup per request: GET https://clearpath--us-business-entity-search.apify.actor/?companyName=...&states=WA&matchMode=exact with Authorization: Bearer <APIFY_TOKEN>, returning {records, statesNotAnswered, statesSearched}; GET /health lists covered states. Pay per event: a start fee of $0.005 per GB per run (the actor runs at 2 GB, so $0.01) plus $0.005 per full record or $0.002 per listing-level record, charged on delivery; current rates on the actor's Store page. Full spec (input schema, dataset fields, README): GET https://api.apify.com/v2/actors/clearpath~us-business-entity-search/builds/default with Authorization: Bearer <APIFY_TOKEN>. Token: https://console.apify.com/account/integrations Feedback: if results are wrong, missing or not what was needed, rerun once with the same input plus feedback="<what went wrong and what you expected>"; the run records the report and exits before searching, so nothing is scraped and no results are charged.

Which states are covered

All 51 jurisdictions, each verified against its own register rather than assumed:

Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware, District of Columbia, Florida, Georgia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana, Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana, Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina, North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina, South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia, Wisconsin, Wyoming.

States differ in what they publish, and no scraper can change that. Rather than describing the deepest state and letting you assume the rest match it, every run writes a COVERAGE record to the key-value store listing, per state, whether officers, the registered agent, addresses, filing history, name history and UCC liens are available, and which statuses the register exposes. Check it before you build a pipeline on a field.

A state that does not answer on a given run is named in the log and left out of the results. It is never reported as "no matches", because "the register did not answer" and "this company is not registered there" are different answers.

How to search US business registries

ParameterTypeDefaultMeaning
companyNamestring—The business to look up.
companyNamesarray[]Several businesses in one run. Each name is searched in every selected state. Up to 50 names.
statesarrayall 51Two-letter codes. Empty means every covered state.
matchModestringcontainscontains, exact or starts.
maxResultsPerStateinteger25Cap per name, per state. Up to 500.
includeDetailsbooleantrueOpens the record behind the listing: officers, agent, addresses, filing history.
includeLiensbooleantrueAttaches UCC lien filings where the state publishes them. Needs includeDetails.
marylandFullDetailbooleanfalseMaryland alone puts its detail behind a separate per-company check, so it is off by default. See the input tab for what it adds.

Screen a list of names across every state

{
"companyNames": ["Acme Holdings LLC", "Tesla Inc", "Ball Corporation"],
"matchMode": "exact",
"maxResultsPerState": 5
}

Find every business whose name contains a term, in two states

{
"companyName": "Evergreen",
"states": ["WA", "OR"],
"matchMode": "contains",
"maxResultsPerState": 100
}

What data you get

One normalized record per business, the same shape in every state. Fields a state does not publish come back null or empty rather than being quietly dropped, and anything the register publishes that has no home in the normalized schema is kept in sourceFields.

A real Washington record, filing history shortened from 89 entries to 2:

{
"state": "WA",
"legalName": "STARBUCKS CORPORATION",
"entityId": "600 611 109",
"entityType": "WA PROFIT CORPORATION",
"status": "Active",
"standing": null,
"formationDate": "1985-11-04",
"jurisdiction": "WASHINGTON",
"principalAddress": {
"street": "2401 UTAH AVE S",
"street2": "MS: S-LA1, SUITE 800",
"city": "SEATTLE",
"state": "WA",
"zip": "98134",
"country": "UNITED STATES",
"full": "2401 UTAH AVE S, MS: S-LA1, SUITE 800, SEATTLE, WA, 98134-1435, UNITED STATES"
},
"mailingAddress": {
"street": "PO BOX 34110",
"city": "SEATTLE",
"state": "WA",
"zip": "98124",
"country": "UNITED STATES",
"full": "PO BOX 34110, SEATTLE, WA, 98124-1110, UNITED STATES"
},
"registeredAgent": {
"name": "CORPORATION SERVICE COMPANY",
"type": "E",
"phone": "8009279800",
"email": "COMPLIANCEMAIL@CSCGLOBAL.COM"
},
"officers": [
{
"name": "JOSHUA C. GAUL",
"title": null,
"principalType": "GoverningPerson"
},
{
"name": "PETR (PETER) FILIPOVIC",
"title": null,
"principalType": "GoverningPerson"
},
{
"name": "BRIAN NICCOL",
"title": null,
"principalType": "GoverningPerson"
}
],
"businessEmail": null,
"businessPhone": null,
"annualReportDue": "2026-11-30",
"filingHistory": [
{
"filingNumber": 22859046,
"type": "ANNUAL REPORT",
"filedAt": "2025-09-16T13:57:04",
"effectiveDate": "2025-09-16T00:00:00",
"authorizer": "JOSHUA C GAUL",
"authorizerTitle": "SECRETARAY",
"source": "ONLINE"
},
{
"filingNumber": 21206142,
"type": "ANNUAL REPORT",
"filedAt": "2024-11-15T15:05:18",
"effectiveDate": "2024-11-15T00:00:00",
"authorizer": "JOANIE KIM",
"authorizerTitle": "ASSISTANT SECRETARY",
"source": "ONLINE"
}
],
"nameHistory": [],
"uccFilings": [],
"flags": {},
"source": "Washington Secretary of State (Corporations and Charities Filing System)",
"sourceUrl": "https://ccfs.sos.wa.gov/",
"retrievedAt": "2026-09-25T09:05:11+00:00",
"sourceFields": {},
"businessId": 950063,
"dbaName": null,
"feinOnFile": null,
"naicsDescription": "Food & Beverages",
"dissolvedDate": null,
"expirationDate": null,
"query": "Starbucks Corporation"
}

authorizerTitle reads SECRETARAY because that is how the filing is spelled in the register. Values are normalized in shape, not silently corrected in content.

UCC liens

Where a state publishes its UCC register, matching filings are attached to the company record. A real Colorado record, liens shortened from 8 entries to 1:

{
"state": "CO",
"legalName": "BALL CORPORATION",
"entityId": "19871044097",
"entityType": "FPC",
"status": "Good Standing",
"standing": null,
"formationDate": "1956-01-09",
"jurisdiction": "IN",
"principalAddress": {
"street": "9200 W. 108th Circle",
"city": "Westminster",
"state": "CO",
"zip": "80021",
"country": "US",
"full": "9200 W. 108th Circle, Westminster, CO, 80021"
},
"mailingAddress": {
"street": "PO BOX 6251",
"city": "Broomfield",
"state": "CO",
"zip": "80021",
"country": "US",
"full": "PO BOX 6251, Broomfield, CO, 80021"
},
"registeredAgent": {
"name": "C T CORPORATION SYSTEM",
"type": null,
"phone": null,
"email": null,
"address": {
"street": "7700 E Arapahoe Rd Ste 220",
"city": "Centennial",
"state": "CO",
"zip": "80112",
"country": "US",
"full": "7700 E Arapahoe Rd Ste 220, Centennial, CO, 80112"
}
},
"officers": [],
"businessEmail": null,
"businessPhone": null,
"annualReportDue": null,
"filingHistory": [],
"nameHistory": [],
"uccFilings": [
{
"filingNumber": "273841",
"status": "active",
"filingType": "ucc",
"documentType": "UCC financing statement",
"filedDate": "2005-08-09",
"terminated": false,
"continuation": false,
"debtorName": "BALL CORPORATION",
"debtorAddress": {
"street": "10 LONGS PEAK DR",
"city": "BROOMFIELD",
"state": "CO",
"zip": "80021",
"country": "United States",
"full": "10 LONGS PEAK DR, BROOMFIELD, CO, 80021"
},
"securedParty": "KEY EQUIPMENT FINANCE INC.",
"securedParties": [
{
"name": "KEY EQUIPMENT FINANCE INC.",
"address": {
"street": "600 TRAVIS ST 14TH FL",
"city": "HOUSTON",
"state": "TX",
"zip": "77002",
"country": "United States",
"full": "600 TRAVIS ST 14TH FL, HOUSTON, TX, 77002"
},
"assignor": "0"
}
],
"collateral": []
}
],
"flags": {},
"source": "Colorado Secretary of State (Business Entities)",
"sourceUrl": "https://www.coloradosos.gov/biz/BusinessEntityCriteriaExt.do",
"retrievedAt": "2026-09-25T09:05:13+00:00",
"sourceFields": {},
"statusNote": null,
"query": "Ball Corporation"
}

A company's entry in a state's business register and its entry in that state's UCC register are separate systems, and the same company is punctuated differently in each. Liens are joined on a normalized legal name, not on raw text and not on a loose substring, because a substring match attributes another company's debt to yours.

Single lookups over HTTP

The actor also runs in Standby, answering one lookup per request instead of per run. Same search, same records, same billing.

curl "https://clearpath--us-business-entity-search.apify.actor/?companyName=Starbucks%20Corporation&states=WA&matchMode=exact" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN"
Query parameterMeaning
companyNameThe business to look up.
companyNamesComma-separated list, as an alternative to companyName.
statesComma-separated codes. Omit for every covered state.
matchModecontains, exact or starts.
maxResultsPerStateCap per name, per state.
includeDetails, includeLiens, marylandFullDetailtrue/false, as in a run.

Response:

{
"records": [
{
"state": "CO",
"legalName": "BALL CORPORATION",
"entityId": "19871044097",
"entityType": "FPC",
"status": "Good Standing",
"standing": null,
"formationDate": "1956-01-09",
"jurisdiction": "IN",
"principalAddress": {
"street": "9200 W. 108th Circle",
"city": "Westminster",
"state": "CO",
"zip": "80021",
"country": "US",
"full": "9200 W. 108th Circle, Westminster, CO, 80021"
},
"mailingAddress": {
"street": "PO BOX 6251",
"city": "Broomfield",
"state": "CO",
"zip": "80021",
"country": "US",
"full": "PO BOX 6251, Broomfield, CO, 80021"
},
"registeredAgent": {
"name": "C T CORPORATION SYSTEM",
"type": null,
"phone": null,
"email": null,
"address": {
"street": "7700 E Arapahoe Rd Ste 220",
"city": "Centennial",
"state": "CO",
"zip": "80112",
"country": "US",
"full": "7700 E Arapahoe Rd Ste 220, Centennial, CO, 80112"
}
},
"officers": [],
"businessEmail": null,
"businessPhone": null,
"annualReportDue": null,
"filingHistory": [],
"nameHistory": [],
"uccFilings": [],
"flags": {},
"source": "Colorado Secretary of State (Business Entities)",
"sourceUrl": "https://www.coloradosos.gov/biz/BusinessEntityCriteriaExt.do",
"retrievedAt": "2026-09-25T09:05:14+00:00",
"sourceFields": {},
"statusNote": null,
"query": "Ball Corporation"
}
],
"statesNotAnswered": [],
"statesSearched": [
"CO"
]
}

That is the whole envelope: records holds the same objects a run writes to the dataset (this one asked for includeDetails=false, so no officers or filing history were fetched). statesNotAnswered names any register that did not respond, so a short result is never mistaken for a clean "not registered". GET /health returns the covered state list without running a search.

StatusMeaning
200Lookup completed. Check statesNotAnswered.
400The request needs changing; the message says what.
502The lookup could not be completed. Retry.
504The lookup took too long. Search fewer states.

Fewer states per request means a faster response. Standby has a cold start on the first request after an idle period.

Pricing

Pay per event. Records are charged on delivery, so a search that matches nothing costs nothing beyond the start fee.

EventWhen chargedPrice
apify-actor-startOnce per run, per GB of memory$0.005
entity-record-detailedPer record returned with includeDetails on$0.005
entity-recordPer record returned with includeDetails off$0.002

The actor runs at 2 GB, so a run starts at $0.01 and adds $0.005 for each full record. Looking one company up across every covered state typically returns a handful of records rather than 51, because most companies are registered in a few states: that is $0.01 plus about $0.02, so roughly $0.03 a company. A 50-name batch in one run pays the start fee once.

Standby requests are billed the same way, per record returned. The Maryland detail option costs nothing extra; it is absorbed in the per-record price.

FAQ

Is this data public? Yes. State business registers are public records, published by each Secretary of State (or equivalent office) so that anyone can look a company up. This actor reads what those offices publish.

Is every US jurisdiction covered? Yes: all 50 states plus the District of Columbia, each verified end to end against its own register rather than assumed. A coverage number nobody can check is worth nothing, so the COVERAGE record every run writes states per state exactly which fields that register publishes.

Why does a state return fewer fields than another? Because it publishes fewer. New York's register, for example, publishes a service-of-process address and no registered agent. The COVERAGE record states this per state.

Can I search by officer or registered agent instead of company name? Not in this actor. Name search is the one query every register supports; agent and officer search exist in only a minority of them.

How fresh is the data? Each record carries retrievedAt. Records are read live from the register at run time, so they are as current as the state's own system.

What happens when a register is down? That state is named as not answered, in the run log and in statesNotAnswered, and the other states still return. Re-running retries it.

Which export keeps the structure? JSON. Agent, officers, addresses, filing history and liens are nested objects; CSV and Excel flatten them.

Can I use this for KYB or lending decisions? The records come straight from the official registers, which makes them good evidence. They are not a substitute for a certified certificate of good standing, which each state sells directly.

Support

Found a problem or need a state added? Open an issue on the Issues tab, or write to max@mapa.slmail.me. State coverage requests are welcome; they are how the list grows.