Provider-specific requirements
US Secretary of State business entity lookup across currently active OpenSOSData jurisdictions.When to use
Useopensosdata_business_lookup to find the registered officer name for a business entity.
This is the bridge between “I have a restaurant name” and “I have an owner name to skip-trace.”
Typical flow:
opensosdata_business_lookup→ get officer name from SOSenformion_contact_enrich→ get mobile phone from officer name + city/state
State-by-state officer data coverage
Critical gotchas
1. FL officer name format — ALWAYS reverse
FL SOS returns"LASTNAME, FIRSTNAME MIDDLE". Use reverseOfficerName() from opensosdata-shared.ts:
"SMITH, JOHN EDWARD"→"John Smith""DE LA CRUZ, MARIA"→"Maria De La Cruz"
2. Async states (CA, MA, NV, OR, WA)
These states return HTTP 202 with ajobId. The action automatically polls every 3 seconds
until complete (up to 90s). No special handling needed by the caller.
Native bulk jobs
opensosdata_bulk_lookup submits up to 1,000 entities in one provider request.
It waits at most 30 seconds, then returns the provider-issued job_id for
opensosdata_get_bulk_result. Calls to opensosdata_business_lookup inside a
dataset map compile into native jobs of up to 256 entities. Keep using the
scalar tool for row-wise play code. call the bulk operation directly only when
you already have an entity array.
After OpenSOSData accepts a bulk job, Deepline never retries the POST. Polling
timeouts and transport failures return that job_id. The result cache never
stores or resumes the job. callers can make the explicit status/result call.
Billing separately tracks accepted provider work until terminal usage is known.
3. Skip registered agent services
Filter officer names containing: “Corporation Service”, “CT Corporation”, “Incorp”, “Northwest Registered”, “Statutory Agent”. These are professional RA services, not people. UseisRegisteredAgentService() from opensosdata-shared.ts.
4. Balance monitoring
Each lookup costs Deepline credits. Check remaining balance before large batch runs. Check balance:GET /v1/account/balance → lookupsRemaining.
Topup URL: https://app.opensosdata.com#billing
Response structure
Synchronous (most states):reverseOfficerName("SWANSON, KIRK ALAN") = "Kirk Swanson"
Async (CA/MA/NV/OR/WA) — handled automatically, caller receives final result.
Not found (no charge):
Credentials
Single API key passed asx-api-key header.
Set via Deepline dashboard → Integrations → OpenSOSData, or OPENSOSDATA_API_KEY env var.
API endpoint: https://api.opensosdata.com/v1/lookup
Find an applicable action
Confirm your effective workspace, then search the live catalog:Inspect the selected contract
Replace<returned-tool-id> with the identifier returned by discovery:
Prepare one reviewed input
Use one authorized record that matches the inspected schema. Preserve its source identity and define the result you will accept. Open the action reference for its payload and response shape. Provider-backed execution can incur usage or external effects. For reusable logic, follow Write Plays. For direct-call recovery, use Tool execution recovery.Continue only when the workspace, provider, required fields, acceptance rule, and applicable price are understood. Keep unavailable access separate from no-result evidence.