Secretary of State Business Entity Search - 50 States + DC
Pricing
from $1.99 / 1,000 business record, listing levels
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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 hours ago
Last modified
Categories
Share
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.
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 | ||
You are here | Find & verify emails | 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
| Parameter | Type | Default | Meaning |
|---|---|---|---|
companyName | string | — | The business to look up. |
companyNames | array | [] | Several businesses in one run. Each name is searched in every selected state. Up to 50 names. |
states | array | all 51 | Two-letter codes. Empty means every covered state. |
matchMode | string | contains | contains, exact or starts. |
maxResultsPerState | integer | 25 | Cap per name, per state. Up to 500. |
includeDetails | boolean | true | Opens the record behind the listing: officers, agent, addresses, filing history. |
includeLiens | boolean | true | Attaches UCC lien filings where the state publishes them. Needs includeDetails. |
marylandFullDetail | boolean | false | Maryland 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 parameter | Meaning |
|---|---|
companyName | The business to look up. |
companyNames | Comma-separated list, as an alternative to companyName. |
states | Comma-separated codes. Omit for every covered state. |
matchMode | contains, exact or starts. |
maxResultsPerState | Cap per name, per state. |
includeDetails, includeLiens, marylandFullDetail | true/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.
| Status | Meaning |
|---|---|
| 200 | Lookup completed. Check statesNotAnswered. |
| 400 | The request needs changing; the message says what. |
| 502 | The lookup could not be completed. Retry. |
| 504 | The 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.
| Event | When charged | Price |
|---|---|---|
apify-actor-start | Once per run, per GB of memory | $0.005 |
entity-record-detailed | Per record returned with includeDetails on | $0.005 |
entity-record | Per 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.
