OpenSOSData ← API Docs

API Changelog

September 11, 2026
Change Reliability metric now measures source availability
The reliability and passRate7d fields in GET /v1/states now measure source availability: the percentage of lookups where the state portal was reachable. Previously, these fields counted only billed lookups as successes, which meant a lookup that correctly determined an entity does not exist counted as a failure. A lookup that reaches the portal and returns not-found is now counted as a success. Only source_unavailable (portal unreachable or timed out) counts as a failure. This change more accurately reflects scraper infrastructure health.
September 10, 2026
New searchedName field in all responses
Every lookup response now includes a searchedName field containing your original search input. Compare it against data.entityName to verify the returned entity matches your query. This is an additive field and does not change existing response fields.
September 10, 2026
Fix Improved cache matching accuracy
Cached data lookups now use exact name matching instead of substring matching. Previously, a search could return a similarly-named but different entity (for example, searching "Airbnb Inc" could return "Nos Center Airbnb Inc." from cache). This no longer happens. Some lookups that previously returned a cached match will now return no match and fall through to a live lookup. This is the correct behavior: the cache only returns your exact entity, not a partial name match.
September 6, 2026
Change Cache freshness threshold reduced to 30 days
The default maximum age for cached data was reduced from 60 days to 30 days. Cached results older than 30 days now fall through to a live lookup instead of being served from cache. This ensures fresher data for cache-first and cache-only requests. If you have a custom maxCacheAgeMonths setting, it is unchanged.
September 2026
Change Verified not-found billing for Texas and Illinois
Lookups in Texas and Illinois that return a verified not-found result (the entity does not exist in the state registry) are now billed at your standard lookup rate. Previously these were not charged. This applies only when the state portal confirms the entity does not exist, not when the portal is unavailable or the lookup times out. Failed lookups are never charged.
September 2026
Fix California cache-only lookups bypass circuit breaker
Lookups with cache_preference: "cache_only" for California now return cached data even when the live scraper circuit breaker is open. Previously, a cache-only request would return SOURCE_UNAVAILABLE during scraper outages despite cached data being available.
September 11, 2026
New dataCompleteness field for partial responses
When a lookup reaches the portal but cannot retrieve all data sections (detail page, filing history), the response now includes a dataCompleteness object indicating which sections are incomplete. For example: "dataCompleteness": { "detail": false } means entity detail (registered agent, address) could not be retrieved. The field is absent when all data is complete. This is additive and does not change any existing fields.