Iowa SOS Business Entity Search Scraper avatar

Iowa SOS Business Entity Search Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Iowa SOS Business Entity Search Scraper

Iowa SOS Business Entity Search Scraper

Search the Iowa Secretary of State's free public business entity database by name or business number. Get business number, legal/DBA name, status, filing type, formation/effective/expiration dates, registered agent, and principal office address.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Search the Iowa Secretary of State's free public business entity database. Look up a business by name (contains match) or exact business number and get status, filing type, formation/effective/expiration dates, registered agent name and address, and principal office address. HTTP-only via the public sos.iowa.gov/search/business search — no login required.

Data Source & Usage Notes

  • Free, public, no login. sos.iowa.gov/search/business is Iowa's own free entity search; no account, API key, or paywall stands between a user and this data.
  • Originally scoped as a Maryland SDAT (egov.maryland.gov/BusinessExpress) scraper. Maryland's own search form embeds a Cloudflare Turnstile CAPTCHA widget directly in the submit flow — confirmed live via browser automation (the Search button never returns a result after entering a query and clicking Search; the token is required before the form will submit). Per this project's zero-cost-cloud-reliability policy, CAPTCHA-gated sources are replaced rather than fought with a paid solving service. This actor is the replacement: same category (state business-entity registry), no login/CAPTCHA/paid proxy required, and a richer free field set than Maryland's own search (formation/effective/expiration dates, registered agent, principal office address — all confirmed live and populated).
  • Result cap. A name search returns at most 25 rows per query on the source's own results page (confirmed live: a 35-hit query for "Amazon" returned exactly 25 rows). This is a genuine source-side limit, not an actor bug — narrow the query for more precise results.
  • byName detail fetch is capped at 10 items regardless of maxItems. Each results-page row links to its detail page via a q token that is bound to a short server-side TTL on the source (confirmed live: fetching detail pages for a 15-row batch reliably returns HTTP 404 from roughly the 11th row onward, regardless of how the actor paces or parallelizes those requests — 10-row batches never failed across repeated live runs). mode=byNumber is not affected (each lookup is fully independent with its own token) and supports the full 1-25 range.
  • Not affiliated with the State of Iowa. This is an independent third-party tool using the source's own public, no-login search form.

What this actor does

  • Two modes: byName (contains match, up to 25 results), byNumber (exact business-number lookup, one or more numbers per run)
  • Full entity detail — automatically follows through from search results to each entity's summary detail page
  • Registered agent info — name and full address when on file
  • Principal office address — when on file
  • Status and filing-type filters — narrow byName results to Active/Inactive and/or Legal entity / Fictitious name (DBA) / Foreign fictitious name (DBA) / Reserved name
  • Empty fields are omitted

What's NOT included (and why)

  • Officers, members, or filing documents. Iowa's free entity search exposes entity-level facts (status, dates, agent, principal address) but not officer/member rosters or scanned filing documents — those require the paid "Fast Track Filing" system, which is out of scope for a free, no-login actor.
  • More than 25 results per name search. This is the source's own hard cap on its free results page (confirmed live), not a pagination bug in the actor.

Output per entity

  • businessNumber — Iowa business number
  • legalName — the underlying registered legal entity's name
  • filedName — the specific filed/DBA name actually matched, when it differs from legalName (present for Fictitious name rows; omitted for Legal rows, where it would just repeat legalName)
  • status — e.g. Active, Inactive (of the specific filed name matched, not necessarily the parent legal entity)
  • entityType — filing type of the specific filed name matched: Legal (a registered legal entity), Fictitious name (a DBA/trade name filed against an Iowa legal entity), Foreign fictitious (a DBA/trade name filed against an out-of-state entity), or Reserved (a name reservation with no entity formed yet)
  • stateOfIncorporation — 2-letter state/jurisdiction code
  • chapter — Iowa Code chapter/entity-kind description, e.g. CODE 490 FOREIGN PROFIT
  • expirationDateYYYY-MM-DD, or the literal PERPETUAL when the entity has no expiration
  • effectiveDate, filingDateYYYY-MM-DD
  • nameHistory — array of every name (current and prior) ever filed under this business number, each as {type, status, modified, name}, taken from the source's own "Names" table (confirmed live: some business numbers carry both an Active current name and one or more Inactive prior names)
  • registeredAgentName
  • registeredAgentAddress, registeredAgentAddress2, registeredAgentCity, registeredAgentState, registeredAgentZip
  • principalOfficeName — name on file for the principal office contact, when present (usually omitted -- most entities have no separate principal-office name on file)
  • principalOfficeAddress, principalOfficeAddress2, principalOfficeCity, principalOfficeState, principalOfficeZip
  • sourceUrl — the entity's own bookmarkable summary.aspx?q=... detail page when resolved, otherwise the search page
  • recordType: "entity", scrapedAt

Input

FieldTypeDefaultDescription
modestringbyNamebyName / byNumber
businessNamestringAmazonContains-match on business name (mode=byName)
businessNumbersarrayExact business numbers to look up (mode=byNumber)
statusFilterstringanyany / Active / Inactive (mode=byName)
entityTypeFilterstringanyany / Legal / Fictitious name / Foreign fictitious / Reserved (mode=byName)
proxyConfigurationobjectAUTO proxyApify proxy config; always datacenter (AUTO), never residential
maxItemsint10Hard cap (1–25)

Example: search by business name

{
"mode": "byName",
"businessName": "Pizza",
"statusFilter": "Active",
"maxItems": 10
}

Example: lookup by exact business number(s)

{
"mode": "byNumber",
"businessNumbers": ["637709", "699474"]
}

Use cases

  • Vendor/customer due diligence — confirm a business is Active before signing a contract
  • Compliance monitoring — track registered agent and status changes for entities you track
  • Lead generation — build lists of Iowa-registered businesses by name pattern or filing type
  • Legal & title research — verify formation/effective/expiration dates and registered agent of record
  • Company registry enrichment — bulk-append Iowa entity status to an existing business dataset

FAQ

Is this an official State of Iowa product? No. This is an independent tool that uses the Iowa Secretary of State's own free, public, no-login business entity search.

Why does businessName use a "contains" match instead of "starts with"? That's how the source's own search behaves — confirmed live.

Why is expirationDate sometimes the text PERPETUAL instead of a date? Iowa's own detail page literally renders PERPETUAL for entities with no expiration date. This is preserved as-is rather than treated as missing data.

Can I look up officers or members? No — Iowa's free entity search does not expose that data; see "What's NOT included" above.