Kentucky Secretary of State Business Search Scraper avatar

Kentucky Secretary of State Business Search Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Kentucky Secretary of State Business Search Scraper

Kentucky Secretary of State Business Search Scraper

Search Kentucky's free public business entity database by business name, organization number, city, zip code, or registered agent name. Get entity type, status, formation/authority dates, addresses, registered agent, industry, and county.

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 Kentucky Secretary of State's free public business entity database (sosbes.sos.ky.gov). Look up a business by name, organization number, city, zip code, or registered agent name, and get entity type, status, formation/authority dates, principal office address, registered agent details, industry, and county. HTTP-only via the public search form — no login required.

Data Source & Usage Notes

Read this before running a large job.

  • No login, no CAPTCHA. The source is a classic ASP.NET WebForms search form. No Cloudflare, AWS WAF, or CAPTCHA challenge was observed on the search or detail pages.
  • Single-page results (50 per search). Kentucky's results grids paginate server-side; this actor returns the first page of up to 50 matches. For very broad queries there may be more matches on the source site than the 50 returned here — narrow your search (fuller name, specific city/zip, specific agent) to get a complete result set.
  • activeOnly is optional. Kentucky's own search form defaults to showing both active and inactive entities; check activeOnly to restrict to active entities only.
  • Conservative by design. maxItems is capped at 50. The actor only ever uses Apify's free datacenter (AUTO) proxy group — never a paid residential proxy — to get a fresh IP if a request is ever blocked.
  • Not affiliated with the Commonwealth of Kentucky. This is an independent third-party tool using the source's own public, no-login search form.

Why Kentucky instead of North Carolina?

This actor was originally scoped as a North Carolina SOS (www.sosnc.gov/online_services/search/by_title/_Business_Registration) business entity search. Live verification confirmed every page of NC's search flow sits behind a Cloudflare Turnstile "Just a moment..." managed challenge on every request: plain HTTP, a real browser-grade user agent, and TLS-impersonated HTTP (curl_cffi, Chrome131 impersonation) all received the identical challenge page instead of the search form — a full JS-challenge wall that defeats every zero-cost datacenter-IP strategy this project allows.

Several other candidate states were evaluated and found blocked or unsuitable before Kentucky was confirmed live: West Virginia was independently claimed by a separate, concurrently-running build task for a different actor slot. Georgia, Idaho, Maryland, Oklahoma (Cloudflare Turnstile), Kansas, Nebraska, South Dakota, Iowa, Utah, Connecticut (CAPTCHA/reCAPTCHA-gated), Mississippi, Missouri, Ohio, Illinois, Indiana, Michigan, New Mexico (403/WAF-blocked datacenter IPs), Wyoming, Alabama, Wisconsin, Tennessee, South Carolina, Arizona (unreachable/timed out from datacenter IPs), New Jersey and Vermont (search functionality requires a logged-in account) were all ruled out. The target was replaced with Kentucky's SOS Business Search — a real, free, no-login, no-CAPTCHA government business registry confirmed live and returning real data over plain HTTP.

What this actor does

  • 5 search modes, matching the reliable axes Kentucky's own search forms (and detail-page URLs) expose:
    • byNameOrNumber — business name or exact organization number (substring/exact match)
    • byCity — city name of principal office
    • byZip — zip code of principal office
    • byRegisteredAgent — registered agent name
    • byRecordId — one or more known record IDs or Profile.aspx?ctr= URLs, fetched directly with no search step
  • Active-only filter, combinable with every mode
  • Full entity detail — automatically follows through from search results to each entity's detail page for organization number, entity type, industry, county, status, standing, dates, addresses, and registered agent
  • Empty fields are omitted

What's NOT included (and why)

  • Current/initial officers — the source's detail page exposes officer lists only behind a separate AJAX "Show Current Officers" / "Show Initial Officers" button using ASP.NET UpdatePanel partial-postback plumbing this actor does not replicate; the entity's own core record (name, type, status, agent, addresses) is unaffected.
  • Former names, activity history, and filed-document images — same reason: each sits behind its own "Show ..." AJAX button on the detail page, not part of the initial page load.
  • Industry/county browse-only search — Kentucky's advanced search page exposes Industry and County dropdowns, but live testing showed submitting these without an accompanying name/text query does not reliably return the browse-all-matching-entities result set this actor's other modes rely on; they are out of scope for this version.

Output per entity

  • entityName
  • organizationNumber — Kentucky's public organization number (matches the search grid's "Company ID")
  • recordId — Kentucky's internal numeric database ID (matches the Profile.aspx?ctr=<id> URL)
  • entityType — e.g. FLC - Foreign Limited Liability Company
  • entityTypeCode, entityTypeDescription — split from entityType
  • profitStatusProfit or Non-Profit
  • industry — e.g. Miscellaneous Retail
  • numberOfEmployees — self-reported employee-count bracket, when on file
  • primaryCounty
  • statusActive or Inactive
  • standing — e.g. Good
  • stateOfIncorporation — two-letter state/jurisdiction code
  • formationDateYYYY-MM-DD (source's "File Date")
  • authorityDateYYYY-MM-DD, when on file
  • lastAnnualReportYYYY-MM-DD, when on file
  • principalOfficeAddress
  • registeredAgentName, registeredAgentAddress
  • sourceUrl
  • recordType: "entity", scrapedAt

Input

FieldTypeDefaultDescription
modestringbyNameOrNumberbyNameOrNumber / byCity / byZip / byRegisteredAgent / byRecordId
searchTextstringAMAZONmode=byNameOrNumber / byCity / byZip
agentNamestringmode=byRegisteredAgent
recordIdsstringmode=byRecordId; one or more record IDs / Profile.aspx?ctr= URLs, one per line or comma-separated
activeOnlybooleanfalseRestrict to active entities only
proxyConfigurationobjectAUTO proxyApify proxy config; always datacenter (AUTO), never residential
maxItemsint25Hard cap (1–50)

Example: search by business name

{
"mode": "byNameOrNumber",
"searchText": "TESLA",
"maxItems": 10
}

Example: search by exact organization number

{
"mode": "byNameOrNumber",
"searchText": "0763853",
"maxItems": 5
}

Example: search by city, active only

{
"mode": "byCity",
"searchText": "LEXINGTON",
"activeOnly": true,
"maxItems": 25
}

Example: search by registered agent

{
"mode": "byRegisteredAgent",
"agentName": "Corporation Service Company",
"activeOnly": true,
"maxItems": 25
}

Example: direct lookup by record ID / profile URL

{
"mode": "byRecordId",
"recordIds": "1071824\nhttps://sosbes.sos.ky.gov/BusSearchNProfile/Profile.aspx?ctr=1036030"
}

Use cases

  • Due diligence — confirm a counterparty's Kentucky formation date, entity type, and registered agent before contracting
  • Compliance & KYC — cross-check a business's legal entity name and organization number
  • Registered agent research — find every entity a specific agent represents
  • Local market research — pull every entity in a specific Kentucky city or zip code
  • Company name availability checks — see what similarly-named entities already exist before choosing a new name

FAQ

What's the data source? The Kentucky Secretary of State's own free public Business Search at sosbes.sos.ky.gov. This actor is an independent third-party tool and is not affiliated with the Commonwealth of Kentucky.

Is this data official / legally binding? No. For an official Certificate of Existence/Authorization or certified copies, use the state's paid ordering channels (see the source site). This actor returns the same free-tier informational data the public search page shows.

Why did my run return 0 results? Either the query genuinely has no match, or activeOnly is excluding the entity you're looking for (try unchecking it). Try a broader name too.

Why is maxItems capped at 50? The source's own results grid returns 50 matches per page and this actor does not currently paginate beyond that page (see Data Source & Usage Notes above).

How fresh is the data? Real-time — the search reflects the Secretary of State's database as of the moment of the search.