REST API · v1 · OpenAPI 3.0

One call. SOS + USDOT + OFAC + UCC + licenses. $0.05.

Every /api/v1/lookup returns the Secretary of State entity record, USDOT/FMCSA carrier data, OFAC SDN screening, UCC central-filing search for secured creditors, and state contractor / professional-license registry — bundled into a single JSON response. Built for commercial-finance underwriting, fraud teams, and developers building KYB flows.

Quick start

# Get your API key at /account/api-key
KEY="vfs_your_key_here"

curl -X POST https://verifysos.com/api/v1/lookup \
  -H "x-api-key: $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "entity_name": "JNG Trucking LLC",
    "state": "CA",
    "include_safer": true
  }'

Sample response (200)

{
  "success": true,
  "data": {
    "state": "CA",
    "entityName": "JNG TRUCKING LLC",
    "entityId": "202359218946",
    "status": "ACTIVE",
    "entityType": "Limited Liability Company - CA",
    "formationDate": "2023-10-03",
    "yearsInBusiness": 2,
    "registeredAgent": {
      "name": "JUAN NAVARRO GONZALEZ",
      "address": "18126 10TH ST, BLOOMINGTON, CA 92316"
    },
    "principalAddress": "18126 10TH ST, BLOOMINGTON, CA 92316",
    "officers": [
      {"name": "JUAN NAVARRO GONZALEZ", "title": "MANAGER"}
    ],
    "sosUrl": "https://bizfileonline.sos.ca.gov/search/business/...",
    "usdot": {
      "dotNumber": "4142050",
      "mcNumber": "MC-1588327",
      "status": "ACTIVE",
      "legalName": "JNG TRUCKING LLC",
      "physicalAddress": "BLOOMINGTON, CA",
      "fleetSize": 1
    },
    "ofac": { "clear": true, "hits": [] },
    "ucc": {
      "state": "CA",
      "source": "CA Secretary of State UCC (Kepler)",
      "searchUrl": "https://uccconnect.sos.ca.gov/search/debtor",
      "activeCount": 0,
      "totalCount": 0,
      "filings": []
    },
    "licenses": {
      "state": "CA",
      "board": "CA CSLB",
      "searchUrl": "https://www.cslb.ca.gov/onlineservices/CheckLicenseII/...",
      "count": 0,
      "licenses": []
    }
  },
  "cost": 0.05,
  "scraped_at": "2026-05-28T16:42:11Z"
}

Rate limits

Each API key is rate-limited to 60 requests per minute by default. Need more throughput? Contact us — we'll bump your limit once you cross 1,000 lookups/day.

Every API response includes the standard X-RateLimit-* headers so your client can throttle gracefully:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 47
X-RateLimit-Reset: 1748470823
Retry-After: 18   (only on 429)

A 429 Too Many Requests response includes Retry-After in seconds — wait that long, then retry.

Endpoints

POST /api/v1/lookup

Look up a business entity by name + state. Bundles USDOT/OFAC.

FieldTypeRequiredNotes
entity_namestringyes2-200 chars
statestringyes2-letter US state code
include_saferbooleanno (default true)Set false for non-trucking deals to skip the USDOT lookup
include_ofacbooleanno (default true)Always runs — flag retained for compatibility

200 — Entity found (charged $0.05). 404 — Not found (no charge). 400 — Bad request. 401 — Missing or invalid x-api-key. 500 — Scraper error (no charge).

GET /api/v1/states

Returns every supported state + automation status. No auth required.

{
  "success": true,
  "count": 51,
  "states": [
    {"code": "AK", "name": "Alaska", "status": "active",
     "landingUrl": "https://verifysos.com/states/alaska"},
    ...
  ]
}

GET /api/v1/health

Lightweight health check. Returns version + commit SHA. No auth.

Pricing

  • $0.05 per successful lookup — covers SOS + USDOT + OFAC + DBA county routing in one call
  • 404 not-found is free — typo queries don't cost
  • No subscription, no monthly minimum — pay only for successful lookups
  • Volume discounts — contact us when you cross 10K/month

Other SOS APIs make you pay per call AND give you raw JSON only — no USDOT, no OFAC, no UCC, no contractor licenses, no merged PDF packet. We bundle all of it into the same response for one flat monthly rate — purpose-built for credit underwriting on trucking + construction + transportation deals.

ProviderPer callWhat's bundled
VerifySOS$0.05SOS + USDOT + OFAC + UCC + contractor licenses
OpenCorporates$0.10–$0.50SOS only
Cobalt Intelligence$0.50–$2.00SOS + officers
Middesk$1.00+SOS + KYB orchestration

Coverage

Currently supported states (51):

Ready to integrate?

Sign up for an account, generate an API key, start making calls.

Create an account →

Report a bug — straight to our team

See something broken or weird? Tell us. Your report submits directly to our team — no email client needed. Each report gets a unique ticket ID so we can track and respond.

v0.8-beta · a1887ac