State-by-State Filing Requirements for US Business Entities: The Complete Guide
If you run compliance, legal, or financial operations for a US company, understanding state filing requirements is no longer optional—it is a baseline expectation from regulators, banking partners, and enterprise customers alike. Every state maintains its own Secretary of State (SOS) database, its own entity types, its own annual report deadlines, and its own rules for what constitutes "good standing." Miss a filing in Delaware and your LLC can be voided. Miss one in California and you face mounting penalties. Get it wrong during onboarding a vendor or a business borrower, and you may be looking at a BSA violation.
This guide cuts through the complexity. It covers the core regulatory framework driving demand for SOS verification, maps out the key differences between states, and shows you how to automate the verification layer using the OpenSOSData API—so your team spends less time chasing PDFs and more time making decisions.
Why State Filing Requirements Matter More Than Ever
Three converging regulatory forces have made state-level entity verification a front-line compliance requirement:
1. FinCEN Beneficial Ownership Information (BOI) Rules
The Corporate Transparency Act (CTA) requires most US entities to file Beneficial Ownership Information with FinCEN. Enforcement and litigation around BOI reporting has kept compliance teams on high alert. Any institution onboarding a business customer must now cross-reference entity status at the state level to confirm the entity is active, legally formed, and matches the BOI filing. An entity that is administratively dissolved cannot legally operate—and accepting it as a customer creates downstream liability.
2. BSA/AML Program Requirements
Bank Secrecy Act (BSA) rules require financial institutions and many fintech companies to implement robust Know Your Business (KYB) programs. Regulators now expect that entity verification includes checking the Secretary of State record—not just accepting a self-reported EIN or articles of incorporation. A stale or forged document does not replace a live SOS lookup against the authoritative state database.
3. OFAC and Sanctions Screening Integration
OFAC sanctions screening works best when you have accurate entity name and formation data. State SOS records provide the legal entity name as registered—critical for name-matching logic that catches sanctioned entities operating under slight variations of their legal name.
The Core Data Points Every State Filing Produces
Despite variations, every US state filing ultimately produces a common set of data fields that compliance teams rely on:
- Entity Name — The exact legal name as registered with the state
- Entity Type — LLC, Corporation, LP, LLP, Nonprofit, etc.
- Entity ID / Filing Number — The unique state-assigned identifier
- Status — Active, Inactive, Dissolved, Revoked, Suspended
- Formation / Registration Date — When the entity was legally created in that state
- Registered Agent Name and Address — The legally designated point of contact for service of process
The OpenSOSData API returns all six of these fields for entities across all 50 states, Washington D.C., Puerto Rico, and the U.S. Virgin Islands—covering more than 23 million business entities.
Start Verifying Entities from $0.10 per Lookup
Live lookups from $0.10, as low as $0.0314 with volume. Pay as you go.
Create Free AccountState-by-State Filing Requirements: Key Differences at a Glance
The table below highlights filing and verification considerations for the states most frequently encountered in commercial compliance workflows:
| State | Primary Entity Types | Annual Report Due | Good Standing Revocation Risk | Notable Compliance Notes |
|---|---|---|---|---|
| Delaware | LLC, Corp, LP | March 1 (Corps); June 1 (LLCs) | High — void status immediate after lapse | Most common for incorporation; verify active status before any deal |
| California | LLC, Corp, LP, LLP | Biennial (staggered) | High — FTB suspension blocks legal action | FTB and SOS suspension are separate; check both |
| Wyoming | LLC, Corp | Anniversary month | Medium | Popular for privacy LLCs; registered agent data is key |
| Florida | LLC, Corp, LP | May 1 | Medium — dissolution after September 30 | High volume of entities; fast SOS database updates |
| Texas | LLC, Corp, LP, LLP | May 15 (franchise tax report) | High — forfeiture of rights | No traditional annual report; franchise tax filing drives status |
| New York | LLC, Corp, LP, LLP | Biennial (LLCs); Annual (Corps) | Medium | LLC publication requirement unique to NY; affects good standing |
| Nevada | LLC, Corp | Anniversary month | Medium | No state income tax; high formation volume from out-of-state owners |
Foreign Qualification: The Often-Overlooked Filing
An entity incorporated in Delaware but physically operating in California must file a foreign qualification with California—essentially registering as a foreign entity doing business in-state. From a KYB perspective, this means a single business may appear in multiple state SOS databases under slightly different names or statuses. Compliance teams must check both the state of formation and any state where the entity is foreign-qualified. Failing to identify a suspended foreign qualification is a common gap in manual KYB workflows.
Automating State Filing Verification with OpenSOSData
Manual SOS lookups—navigating each state's individual portal, solving CAPTCHAs, downloading PDFs—are not scalable for any team processing more than a handful of entities per week. The OpenSOSData API provides a single REST endpoint that queries authoritative Secretary of State data across all covered jurisdictions in real time.
Pricing is straightforward and pay-as-you-go: live lookups start at $0.10 per call (as low as $0.0314 with volume), and cached lookups start at $0.01 (as low as $0.00314 with volume). There are no monthly minimums or seat fees.
Python Example: Automating Entity Status Verification
The following Python script demonstrates how to submit a business entity lookup, parse the response, and flag entities that are not in active good standing—exactly the logic you need for a KYB onboarding gate.
import requests
import json
# --- Configuration ---
API_KEY = "your_opensosdata_api_key" # Obtain from https://app.opensosdata.com
API_URL = "https://api.opensosdata.com/v1/lookup"
# --- Entity to verify ---
# Replace with the business name and state you are verifying
payload = {
"business_name": "Acme Logistics LLC",
"state": "DE" # Two-letter state code; supports all 50 states + DC, PR, VI
}
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
# --- Submit the lookup request ---
response = requests.post(API_URL, headers=headers, json=payload)
response.raise_for_status() # Raise an error for non-2xx HTTP responses
data = response.json()
# --- Parse core compliance fields ---
entity_name = data.get("entity_name")
entity_type = data.get("entity_type")
entity_id = data.get("entity_id")
status = data.get("status")
formation_date = data.get("formation_date")
reg_agent = data.get("registered_agent", {}).get("name")
reg_address = data.get("registered_agent", {}).get("address")
print(f"Entity Name : {entity_name}")
print(f"Entity Type : {entity_type}")
print(f"Entity ID : {entity_id}")
print(f"Status : {status}")
print(f"Formation Date : {formation_date}")
print(f"Reg. Agent : {reg_agent}")
print(f"Reg. Address : {reg_address}")
# --- Compliance gate: block if not active ---
ACTIVE_STATUSES = {"active", "good standing", "in good standing"}
if status and status.lower() in ACTIVE_STATUSES:
print("\n✅ PASS — Entity is active. Proceed with onboarding.")
else:
print(f"\n❌ FAIL — Entity status '{status}' does not meet active requirement.")
print(" Action: Hold onboarding and request updated documentation.")
Full API documentation and schema definitions are available at opensosdata.com/openapi.yaml. To get your API key, sign up at app.opensosdata.com.
Building a Scalable KYB Workflow Around SOS Data
A production-grade KYB pipeline typically layers SOS data with three other verification signals:
- SOS Active Status Check — Confirms legal existence and good standing (OpenSOSData handles this layer).
- BOI / Beneficial Ownership Verification — Cross-references FinCEN BOI submissions against entity data.
- OFAC Sanctions Screening — Matches entity legal name and registered agent against the SDN list.
- Tax ID / EIN Confirmation — IRS TIN matching for financial institutions.
By automating step one with a live API call, your team eliminates the most time-consuming part of business onboarding and ensures every downstream decision is anchored to verified, current state data—not a document that may be months old.
Common Compliance Mistakes Teams Make with State Filings
- Accepting incorporation documents at face value — A certificate of formation from three years ago tells you nothing about current status.
- Only checking the state of incorporation — Missing foreign qualifications means missing suspensions in operational states.
- Ignoring entity type nuances — A "Series LLC" in Delaware has different liability and disclosure structures than a standard LLC. Entity type verification matters.
- Treating cached data as live — Use live lookups ($0.10) for onboarding decisions; reserve cached lookups ($0.01) for monitoring or enrichment where minor staleness is acceptable.
Frequently Asked Questions
What is the difference between a domestic and foreign entity filing at the state level?
A domestic entity is formed under the laws of the state where it originally filed—for example, a Delaware LLC formed in Delaware. A foreign entity is one that was formed in another state but has registered to do business in a second state through a foreign qualification filing. Both registrations appear in the respective state's SOS database, and both must be checked during KYB to get a complete picture of the entity's legal standing across all jurisdictions where it operates.
How often does entity status change in state SOS databases?
Status can change daily. An entity that fails to file its annual report or pay franchise taxes can be administratively dissolved or suspended within days of a deadline passing. This is why live lookups—rather than cached records—are critical for onboarding decisions. OpenSOSData's live lookup ($0.10) queries the authoritative state source in real time, while the cached option ($0.01) reflects a recent snapshot suitable for lower-stakes enrichment workflows.
Are all 50 states covered by the OpenSOSData API?
Yes. OpenSOSData covers all 50 US states plus Washington D.C., Puerto Rico, and the U.S. Virgin Islands—more than 23 million business entities in total. You can query any jurisdiction using the standard two-letter state code in the API payload. Full coverage details and schema documentation are available at opensosdata.com/openapi.yaml.
Does state filing verification satisfy FinCEN BOI compliance requirements?
State SOS verification is a necessary but not sufficient component of full BOI compliance. The Corporate Transparency Act requires covered entities to file beneficial ownership details directly with FinCEN, and financial institutions must verify those filings as part of their Customer Due Diligence (CDD) rule obligations. SOS data confirms legal existence and good standing; it does not replace the beneficial owner identification process. However, an active SOS status is the foundation that makes all other BOI verification meaningful.
How does California's dual suspension system work?
California entities can be suspended by two separate agencies: the Secretary of State (for failing to file required statements or reports) and the Franchise Tax Board (for failing to pay state taxes). An entity can be in good standing with the SOS but suspended by the FTB, and vice versa. A complete California KYB check must address both. The OpenSOSData API returns the SOS status; FTB status should be verified through California's separate FTB lookup tool for maximum diligence.
What is the typical cost of running SOS checks at scale using OpenSOSData?
Live lookups start at $0.10 per call with no monthly minimum, dropping as low as $0.0314 per call at high volume. Cached lookups start at $0.01, dropping to $0.00314 at volume. For a company running 1,000 onboarding checks per month at the standard live rate, the cost is approximately $100—a fraction of the labor cost of manual SOS verification. Volume pricing details and sign-up are available at app.opensosdata.com.
Can the OpenSOSData API be used for ongoing monitoring, not just onboarding?
Absolutely. Many compliance teams use live lookups for initial onboarding decisions and then schedule periodic cached lookups ($0.01 per call) to monitor existing business relationships for status changes—catching dissolutions, suspensions, or registered agent changes that might signal risk. This continuous monitoring approach is increasingly expected by regulators as part of a mature BSA/AML program.
Getting Started
State filing requirements in 2026 are more complex and more consequential than ever. The intersection of FinCEN BOI rules, BSA compliance expectations, and state-level administrative complexity means that a single bad data point can derail an onboarding, trigger a regulatory finding, or expose your institution to sanctions risk.
The fastest path to a reliable, scalable SOS verification layer is a direct API integration with authoritative state data. Explore the full API schema at opensosdata.com/openapi.yaml, learn more about coverage and features at opensosdata.com, and create your free account at app.opensosdata.com to start running live lookups today.