Executive Summary: A Secretary of State API with multi-state coverage lets an underwriting team verify a business entity across all 51 U.S. jurisdictions (50 states plus the District of Columbia) from a single call, normalize the fields that each state returns in its own schema, and track which jurisdiction a business was formed in versus where it currently operates. For alternative lenders funding businesses that register in one state, operate in several others, and file foreign entity paperwork somewhere else entirely, that jurisdiction tracking is the difference between catching a mismatch at intake and funding a shell on day 45. This guide covers how entity data actually differs across jurisdictions, what a multi-state API call looks like in practice, how to track state of formation versus state of operation, when live queries beat cached data, the cost math, and where the current products still fall short.
Why Is Multi-State Coverage the Hidden Bottleneck in Alternative Lending Due Diligence?
A typical alternative lender sees deal applications from every state. A California MCA shop writing tickets to trucking fleets, restaurant groups, and construction subcontractors will touch 30 or 40 different Secretary of State portals in a single month. Each portal has its own search interface, field names, data completeness, and uptime profile. An analyst chasing one contractor across four states is not doing underwriting. They are doing navigation.
The National Conference of State Legislatures tracks multistate business registration trends and notes that most mid-market businesses operate across three or more states, either directly or through foreign entity registrations.[1] The U.S. Small Business Administration counts roughly 33 million small businesses nationally, with formation volume concentrated in Delaware, Texas, Florida, California, and New York.[2] Those five states drive a disproportionate share of both legitimate entity formation and the long tail of shell structures used to layer ownership. SFNet's 2025 fraud survey flagged jurisdiction mismatches as a rising source of loss in alternative lending portfolios.[10]
The operational consequence for a lender: a single borrower can have a Delaware LLC (incorporated there for liability reasons), a Texas foreign entity registration (where operations run), a California seller's permit, and a New York lawsuit filed under yet another entity name. Verifying only the jurisdiction the borrower volunteers on the application captures a fraction of the picture. That is the hidden bottleneck: single-state verification looks complete and is not.
Three patterns make this worse in 2026:
• Registered agent services concentrate formation in a handful of states. Delaware, Wyoming, and Nevada dominate formation by non-resident filers, even when no business activity occurs there.[3]
• Foreign entity registrations lag operations. Businesses expand into a new state and delay the foreign registration paperwork for months, creating a gap between where they operate and where they appear in any state database.[9]
• State portals update on inconsistent cycles. Some states refresh entity status weekly. Others batch-update quarterly. Status changes can sit invisible to a single-state lookup for weeks.
Multi-state coverage is the only way to see the whole entity graph in a single underwriting decision. An API that queries all 51 jurisdictions in one call, normalizes the fields, and returns a consolidated record is not a convenience feature. It is the verification layer that catches what single-state lookups miss.
How Does Business Entity Data Actually Differ Across 51 Jurisdictions?
Every state runs its own business entity database. No two states publish the same fields, use the same terminology, or expose the same amount of data to public lookup. The practical effect: if you normalize on whatever fields a Texas entity returns, your underwriting logic will fail the first time you look up a New Jersey LLC.
The biggest source of variation is the state of formation field. Roughly 35 of 51 jurisdictions include an explicit formation-state field in their entity records. The other 16 do not, because the state portal only exposes data for entities registered in that state, not where they were originally formed.[4] For a lender trying to calculate time-in-business, that matters. A Texas foreign entity registration with a formation date of 2019 does not mean the business existed in 2019. It means the Texas registration is from 2019. The actual formation date lives in whatever state the entity was originally created in.
Other fields that vary widely across states:
• Officer and registered agent data. Delaware exposes registered agent but not officer information on public lookup, and charges a fee to retrieve entity status details.[5] California returns officers in the entity snapshot. Texas returns officers only in filing history documents.
• Entity status granularity. Florida uses Active, Inactive, and Administratively Dissolved as distinct statuses. Some states collapse multiple dissolution categories into a single Inactive label, hiding whether the business wound down voluntarily or was forced out.
• Filing history depth. New York surfaces a detailed filing history going back decades. New Jersey provides minimal public data beyond current status and legal name, with most historical documents behind a paywall or in-person request.
• EIN cross-reference. Florida is the only state that lets you search business records by federal Employer Identification Number. Every other state requires a name or state-issued entity ID as the primary search key.
The jurisdictional variation does not just affect what data comes back. It affects how you search in the first place. The table below summarizes the major variation categories.
| Data Category | Strong Coverage States | Thin Coverage States | Underwriting Impact |
|---|---|---|---|
| State of formation field | Texas, Florida, California, Illinois, Washington | New Jersey, Vermont, Alabama (limited) | Missing formation date blocks time-in-business calculations |
| Officer disclosure | California, Nevada, Arizona | Delaware, Wyoming | Cannot cross-reference principals without filing history request |
| EIN search | Florida only | All other 50 jurisdictions | Must collect state entity ID or legal name at intake |
| Free status lookup | Texas, Florida, most states | Delaware (fee required) | Cached data preferred for Delaware to avoid per-lookup charges |
| Filing history depth | New York, California | New Jersey, Louisiana, Mississippi | Shallow history raises dissolution-detection difficulty |
An API that handles this variation has to do three things well. First, it has to know which field to query in each state (legal name in most, entity ID where available, EIN only in Florida). Second, it has to normalize the response into a single schema so the downstream underwriting code does not have to understand 51 state-specific payloads. Third, it has to flag data gaps explicitly, not silently return null, so the underwriting rule can distinguish between "the business is not in this state" and "this state does not publish that field."
What Does a Multi-State Verification API Call Look Like in Practice?
The most useful mental model is not "a single API call that magically queries 51 states." It is a routing layer. The lender submits the business name plus a jurisdiction hint, and the API decides whether to query one state, a list of states, or all 51 depending on what the caller asked for.
Here is a typical multi-state verification request and response pattern:
Request:
GET /search?businessName=Acme%20Logistics%20LLC&state=all&zipCode=78701
Header: x-api-key: Your_API_Key
Response (JSON):
{
"requestId": "f7a2-b1c3-d4e5-6789",
"matches": [
{
"businessName": "Acme Logistics LLC",
"jurisdiction": "DE",
"entityType": "LLC",
"status": "Active",
"formationDate": "2020-03-14",
"registeredAgent": "Corporation Service Company",
"isForeignEntity": false
},
{
"businessName": "Acme Logistics LLC",
"jurisdiction": "TX",
"entityType": "LLC (Foreign)",
"status": "Active",
"registrationDate": "2021-06-09",
"stateOfFormation": "DE",
"officers": ["Jane Ramos", "Luis Tran"],
"isForeignEntity": true
},
{
"businessName": "Acme Logistics LLC",
"jurisdiction": "CA",
"entityType": "LLC (Foreign)",
"status": "Suspended",
"registrationDate": "2022-11-02",
"stateOfFormation": "DE",
"suspensionReason": "FTB Suspended",
"isForeignEntity": true
}
],
"statesQueried": 51,
"statesWithMatch": 3,
"statesUnavailable": []
}
The shape of the response tells the underwriter three things at once. First, the entity was originally formed in Delaware in 2020. Second, it registered as a foreign LLC in Texas in 2021 and is currently Active there. Third, it registered in California in 2022 and is currently Suspended by the Franchise Tax Board. Any single-state lookup would have returned one-third of this picture. The Texas-only query would have shown a healthy, active business. That interpretation would have been wrong.
Three parameters drive accuracy on a multi-state call:
• Legal business name. The primary key for every jurisdiction except Florida (which also accepts EIN). Use the name as it appears on the borrower's bank account or tax return, not the DBA.
• Jurisdiction hint (`state=all` or a state code). Setting `state=all` routes the call across every available jurisdiction. Setting a specific state narrows it to one, which is faster and cheaper when the lender already knows where to look.
• Zip code (optional but recommended). Feeds the state's search interface where supported to disambiguate common business names. A search for "Smith Consulting" without a zip code in California returns hundreds of matches. With a zip code, the API filters to entities whose registered or principal address matches.
For teams building their own verification chain, the Cobalt Intelligence Secretary of State API documentation walks through the full schema and field normalization rules.[6] The asynchronous callback pattern is similar to the one described in the contractor verification license API guide and the broader business verification APIs for alternative lenders complete guide.
How Do You Track Jurisdiction When a Business Operates Across Multiple States?
Jurisdiction tracking is where most verification platforms quietly fail. The three questions an underwriter needs answered are:
1. Where was this business originally formed? (Formation state.)
2. Where is it currently registered to operate? (Domestic plus all active foreign entity registrations.)
3. Where has it had a status change that should worry me? (Suspensions, dissolutions, revoked registrations in any jurisdiction.)
Formation state is the anchor. Time-in-business, entity age, and corporate veil questions all trace back to whichever state originally chartered the entity. An LLC registered as a foreign entity in Texas in 2021 might have been formed in Wyoming in 2014. The Wyoming date is the one that matters for a seven-year time-in-business threshold. Lenders that calculate time-in-business from whichever state returned a match first will systematically underestimate the age of Delaware-formed, Texas-registered businesses by several years.
The state of formation field is explicit in roughly 35 jurisdictions, which means an API hitting Texas, Florida, California, New York, or Illinois will return the actual formation state directly.[4] In the other 16 jurisdictions, the API has to infer formation state either by querying the suspected home state directly (fast when the foreign entity record names it) or by triangulating across multiple responses.
Multi-state records get layered the same way. Here is a five-step playbook a lending team can run against the response schema shown above:
• Identify the home jurisdiction first. Find the single match where `isForeignEntity` is false. That jurisdiction is the formation state. Store its formation date as the canonical time-in-business anchor.
• List all foreign registrations. Every match where `isForeignEntity` is true represents an additional operating jurisdiction. Log the registration date per state as a secondary data point.
• Flag status mismatches across jurisdictions. If the home state shows Active but a foreign registration shows Suspended, treat the suspension as a risk signal, not an exception. It often means a tax delinquency or failure to file an annual report, either of which indicates operational stress.
• Reconcile officer and registered agent data across states. If officers in California match officers in Texas, the entity graph is consistent. If they diverge sharply, investigate further. Divergence is often legitimate (state-specific managers) but occasionally indicates identity stacking.
• Rerun the search against common name variants. "Acme Logistics LLC" and "Acme Logistics, LLC" often return different results. Include normalized variants (strip punctuation, collapse whitespace, expand abbreviations) in a follow-up call.
This playbook runs in under ten seconds per borrower when wired into an automated pipeline. Manually, it can take an hour.
One underwriting leader summarized the operational value of consolidated jurisdiction tracking this way:
"The problem is not that any single state portal is hard to use. The problem is that we have to use 15 of them for one deal, and the information only makes sense when you lay it on top of itself. We need the overlay, not the individual searches."
The overlay is what a multi-state SOS API provides. Without it, every lending team ends up building its own brittle scraper-and-spreadsheet version of the same thing.
For a complementary view on how jurisdiction data feeds the verification waterfall, see the EIN verification underwriting waterfall placement guide, which walks through how entity lookup outputs chain into EIN-level risk checks.
When Should Lenders Use Live State Queries vs. Cached Data?
A multi-state SOS API typically exposes two retrieval modes. Live queries hit the actual state website at request time. Cached queries hit a backup database that the vendor maintains, refreshed on a schedule (monthly for most states, weekly for priority jurisdictions). Each mode has a different speed, cost, and freshness profile. The trick is knowing when to use which.
Use live queries when:
• Funding decisions are being made in real time and the borrower's status matters more than the latency.
• The state in question has a history of fast-moving status changes (California Franchise Tax Board suspensions can happen between annual filings and affect operations within days).
• The cached data shows a match but is older than 30 days and the deal size warrants a fresh look.
• A prior search returned a status anomaly (recently dissolved, suspended, or administratively revoked) that demands confirmation.
Use cached data when:
• The state website is down or throttling requests. State portals routinely go offline for maintenance, and some have CAPTCHA protections that block automated queries entirely.[7]
• The borrower is in a priority state where the cache is refreshed weekly or more often (Texas, Florida, New York, California, Illinois typically have the freshest cached data).
• The lender is pricing high-volume top-of-funnel screening where sub-second response time matters more than last-hour data freshness.
• The question being asked is "does this business exist at all" rather than "what is its current status."
Cached database coverage is strongest in the five high-volume states: Texas, Florida, New York, California, and Illinois. Coverage is thin in smaller states because the maintenance cost of scraping and refreshing data for a state that generates a handful of queries per month is hard to justify. That asymmetry is a real constraint, not a marketing claim. A lender running deals in Wyoming or Maine should expect to fall back to live queries more often.
The latency profile matters too. Live queries typically complete in 30 to 90 seconds depending on the state portal's speed. Cached queries return in under two seconds. For a lender processing 200 applications per day, that difference compounds. Using cached data where it is reliable and live queries where it is not is the single biggest performance optimization available.
A reasonable default policy: cached data for the top five states, live queries for the rest, live queries mandatory for any status anomaly, and cached data explicitly disallowed for funding decisions on deals over a threshold the lender sets (commonly $100,000 or more).
What Does the Cost Math Look Like for Single-State vs. All-Jurisdictions Search?
Per-lookup pricing on a multi-state SOS API is usually tiered by which mode the caller uses and how many jurisdictions get queried. The rough relationship: a single-state live query is the unit of cost, and a multi-state search runs approximately three times that, even though it queries 51 jurisdictions in one call. The non-linear pricing reflects the fact that most multi-state searches find matches in only a few jurisdictions, so the vendor is not actually paying to retrieve 51 full entity records.
The cost model also distinguishes between cached and live. Cached database queries are generally billed only when a match is returned. Live queries are billed per call whether a match is found or not, because the vendor has to pay for the upstream portal hit either way. That detail matters for lenders running broad screening queries where most names will not match.
The table below shows how the math plays out for a construction lender running moderate monthly volume.
| Scenario | Volume/Month | Cost Structure | Approximate Monthly Spend |
|---|---|---|---|
| Single-state cached (Texas only) | 500 matched lookups | 1 credit per match | 500 credits |
| Single-state live (Texas only) | 500 lookups, 80% match rate | 1 credit per call | 500 credits |
| Multi-state cached (5 priority states) | 500 lookups, 70% match rate | ~3 credits per matched search | ~1,050 credits |
| All-jurisdictions live (51 states) | 500 lookups | ~3 credits per call | ~1,500 credits |
| Mixed: cached where reliable, live for status anomalies | 500 lookups, ~20% flip to live | Blended ~1.5 credits | ~750 credits |
At typical credit pricing (commonly $0.50 to $2.00 per credit depending on volume tier), a lender running all-jurisdictions live queries on 500 deals per month spends roughly $750 to $3,000 monthly on SOS verification. That same lender doing manual portal navigation at 30 to 45 minutes per deal would spend 250 to 375 analyst hours per month, or roughly $15,000 to $30,000 at fully-loaded rates. The break-even point is reached well below 50 deals per month for most pricing tiers.
The second-order savings are harder to measure but often larger. Every API call produces a structured, timestamped record of what was queried, when, which state responded, and what the response was. For lenders preparing for BSA/AML audits[12] or state lender-of-record exams, that verification history is the difference between a clean exam and a finding requiring remediation. Industry benchmarks published in 2025 show automated verification reduces per-deal underwriting time by 60 to 80 percent in alternative lending workflows.[11] For a detailed cost comparison against building the infrastructure in-house, see the SOS API vs. building in-house cost comparison.
How Does Cobalt's Multi-State Coverage Compare to Alternatives?
The multi-state business verification market has three broad categories of provider, and they solve different problems. An honest comparison requires naming the differences, not pretending everyone is doing the same thing.
| Provider | Coverage Model | Data Freshness | Best For |
|---|---|---|---|
| Cobalt Intelligence | Live queries to all 51 SOS portals, normalized schema, cached backup refreshed monthly for priority states | Live = seconds old; cached = up to 30 days | Lenders who need primary-source state data with audit trail |
| Middesk | Aggregated and enriched business records with compliance-focused workflow features | Depends on source; typically daily to weekly refresh | Platforms wanting bundled KYB workflow and UI |
| Dun & Bradstreet | Proprietary DUNS database layered with commercial credit data | Weekly to monthly refresh of underlying entity data | Credit bureaus and large lenders already integrated with DUNS |
| Alloy | Identity and business verification orchestration platform that routes to multiple data providers under the hood | Varies by underlying source | Teams that want a decision-orchestration layer, not a raw data API |
The positioning difference is straightforward. Cobalt is the data provider that directly queries each state's Secretary of State portal and returns a normalized response. Middesk, Alloy, and similar platforms sit on top of that layer, adding workflow, UI, and sometimes routing to Cobalt or competitors under the hood. Dun & Bradstreet occupies a different category entirely, anchored in its proprietary DUNS dataset and commercial credit file rather than primary-source state data.
A lender choosing between these options is really answering two questions. First, do you want primary-source state data that your own underwriting rules consume, or an enriched decisioning output that another vendor has already interpreted? Second, how sensitive is your workflow to data freshness? Primary-source queries catch status changes within seconds. Aggregated and cached datasets catch them days to weeks later, which is fine for most portfolio monitoring but not for funding-moment decisions.
Cobalt's honest positioning: it is the verification data layer that the larger workflow platforms integrate with. If you need an end-to-end KYB platform with UI and case management, you probably want Middesk or Alloy. If you need the raw state data that those platforms consume, wired directly into your own underwriting rules, you want Cobalt.
For a broader survey of the verification API landscape, see the top Secretary of State API solutions for verifying businesses guide.
What Are the Real Limitations of Multi-State Verification Today?
No multi-state SOS API covers every scenario perfectly. Stating the limits openly saves everyone the discovery call.
Cached data staleness in non-priority states. The cached database refreshes monthly for most states, more often for priority jurisdictions. Expect up to 30 days of staleness in smaller states. For time-sensitive status verification in those states, fall back to live queries.
Live query latency. Live queries take 30 to 90 seconds because they hit the actual state portal in real time. State portals vary in response speed. Some respond in under ten seconds. Others take over a minute and occasionally time out. Asynchronous callback patterns manage this cleanly but do not eliminate the underlying portal variability.
Thin public data in some jurisdictions. New Jersey exposes minimal public entity information. Delaware charges fees for status lookups. Vermont and a handful of other small states have thin data coverage, not because the API is incomplete, but because the state portal itself publishes little. Small business compliance research confirms that state-level data transparency varies widely and is unlikely to converge in the short term.[8] This is a state-policy limitation, not a vendor one, and every provider in the market faces the same constraint.
EIN search limited to Florida. Florida is the only state that allows EIN-based entity lookup. For every other state, the primary search key is legal business name plus jurisdiction. This is why intake processes should always collect the exact legal name, not a DBA.
City-level licensing not covered. SOS APIs cover state-level entity registration. City-level licensing (New York City licensing, Los Angeles permits, Chicago business licenses) lives in separate municipal databases and is not part of a standard SOS API. Coverage of municipal licenses is a different product category altogether.
Foreign entity data delays. When a business expands into a new state, the foreign entity registration paperwork often lags actual operations by weeks to months. During that window, the SOS data will not reflect the expansion, regardless of which provider you use. Cross-referencing with bank account geography, customer address data, or field verification covers this gap.
State portal changes also happen. A state redesigns its search interface, adds a CAPTCHA, or restructures its data format. Every vendor in this space deals with these changes as maintenance events, with varying speed of response. Ask any vendor how many portal outages they saw in the last 90 days and what their average time-to-fix looked like. That is the single best proxy for long-term reliability.












.png)