Connecticut State Licenses & Credentials avatar

Connecticut State Licenses & Credentials

Pricing

from $0.03 / 1,000 connecticut credential records

Go to Apify Store
Connecticut State Licenses & Credentials

Connecticut State Licenses & Credentials

All 2.67M Connecticut state credentials (public open data): every professional licence, business registration and brand registration the State issues. Holder name, credential type and number, issuing board, status, dates and address. Search by name, type, status, city or ZIP.

Pricing

from $0.03 / 1,000 connecticut credential records

Rating

0.0

(0)

Developer

Wenhao Yang

Wenhao Yang

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Connecticut keeps one register of every credential it issues - professional licences, business and LLC registrations, brand registrations - and it is open data. This actor turns that register into a charged-per-record search, filter and aggregate tool over all ~2.67M credentials (~2,665,748 as of 2026-09-27; the register updates daily).

Built for: licence verification and screening, renewal and lapsed-licence sweeps, market-sizing a trade by city or ZIP, entity and business-name diligence, and anyone who needs the State's own credential record rather than one board's search box at a time.

What it covers

Each record carries:

  • the holder - name, business name and DBA where the State has them
  • the credential - id, number, the full credential code, the type and subcategory code, and the plain-English credential name (e.g. CERTIFIED GENERAL REAL ESTATE APPRAISER)
  • the credential type code - the State's code for the credential. It is not always a board mnemonic: 28.8% of rows carry a numeric code (10, 70, 1, 20)
  • the status - the State's own status word, plus its reason where the State records one (80.7% of rows)
  • the dates - issue, effective and expiration
  • the address - street, city, state and ZIP
  • the refresh stamp - when the State last touched the row

The fine print that matters

This is a statewide register, not a professional-licence list. Read type before anything else: INDIVIDUAL alone is 1,877,222 rows, but the register also holds 224,188 BUSINESS rows, 120,545 LIMITED LIABILITY COMPANY, 109,366 CORPORATION and 239,648 brand registrations (the type values are the State's own spellings). Filtering by type is how you reach the population you actually want; without it you are reading the whole state.

status must be matched exactly, and that is not a technicality. The State publishes 19 statuses - ACTIVE, INACTIVE, ACTIVE IN RENEWAL, PENDING, QUALIFIED, LAPSED, EXPIRED APPLICATION, APPROVED, CLOSED, DENIED, RETIRED, ACTIVE UNDER REVIEW and more. ACTIVE is 751,075 rows and ACTIVE IN RENEWAL is a further 65,819, but INACTIVE is 1,648,157. A substring match on "ACTIVE" returns INACTIVE too - a 3x over-count on the single most common question asked of this register. This actor matches status exactly, and rejects the query rather than quietly widening it.

active is a separate flag from status and does not mean the same thing. It is a State-maintained boolean: 866,941 rows true, 1,798,807 false. Use it when you want the State's own live/not-live call; use status when you need to know why.

The register is mostly individuals, so company fields are thin. businessName is populated on 27.8% of rows and dba on 7.5%. The subcategory is filled on 9.9%. They are returned as fields, but nothing in this listing rests on them.

The dates carry sentinels at both ends, and future expiration is real. issueDate reaches back to 1800-11-09 on one row; expirationDate runs out to 3004-06-30. The actor drops values outside 1900-2036 rather than presenting them as dates. Note that a licence expiring in 2028 is a live licence, not an error - so the ceiling is deliberately wide and a "future" expiration is passed through; only the floor is fenced, and every date filter applies that fence so a range can never sweep the 1800 placeholder in.

credentialType has 518 distinct values and city runs past the source's 1,000-group cap. Neither is offered as an aggregate dimension - that would return hundreds to thousands of billed rows for one query. Both remain searchable.

Typical questions

  • "Is licensed, and is the licence current?"
  • "Every business or LLC credential in a city."
  • "Licences expiring in the next 90 days - a renewal sweep. Use expiringFrom and expiringBefore together: expiringBefore on its own also matches every credential that has already lapsed (1.62M of the 1.69M it matches; a single run delivers at most 10,000 rows)."
  • "Lapsed and expired credentials in a trade."
  • "How many active credentials sit in each state."
  • "All credentials at an address or ZIP."
  • "Aggregate by status, type or state."

Inputs

InputWhat it does
moderows (default) / aggregate
credentialId / credentialNumber / fullCredentialCodeexact credential identity
name / businessName / dbaholder / business / trade name substring
typeINDIVIDUAL / BUSINESS / LIMITED LIABILITY COMPANY / CORPORATION / LBD BRAND and more
credentialTypeexact code, e.g. RCG, PEN, HIC (518 in all)
subcategorysubcategory substring (9.9% filled)
statusexact State status - 19 values
activeOnlythe State's own active flag
city / state / zipaddress filters; zip matches as a prefix
issuedFrom / issuedToissue-date range (inclusive)
expiringFrom / expiringBeforeexpiration window - both ends, so a renewal sweep does not sweep in everything already lapsed
groupByaggregate over status / type / state
maxResultscap records (default 50)

Default run = 50 credentials, most recently added first - a plain read of the register, fast enough for the daily auto-test. Note the newest rows are usually pending applications, which have no dates yet; filter by status or issuedFrom when you want completed credentials. For a broad view use aggregate.

Example inputs

One credential by id

{ "credentialId": "5" }

Licences held by a name

{ "name": "SMITH", "maxResults": 5 }

Active Connecticut real-estate appraisers

{ "type": "INDIVIDUAL", "credentialType": "RCG", "activeOnly": "true", "state": "CT", "maxResults": 5 }

Business credentials in a city

{ "type": "BUSINESS", "city": "NEW HAVEN", "maxResults": 5 }

How the register splits by status

{ "mode": "aggregate", "groupBy": "status" }

Low cost

From $0.00005 per record, down to $0.00003 at Gold Pay-per-event: you are charged per record delivered, and nothing for the query. Cost scales with what you pull, not with the size of the register, and each record is metered individually - one name's credentials cost a fraction of a cent.

Example output

One credential - credentialId=5 returns the holder, the credential, its status and dates:

{
"platform": "ct-licenses",
"source": "connecticut-licenses",
"mode": "rows",
"groupKey": "",
"groupCount": "",
"groupBy": "",
"credentialId": "5",
"credentialNumber": "194",
"fullCredentialCode": "RCG.0000194",
"credentialCode": "CERTIFIED GENERAL REAL ESTATE APPRAISER",
"name": "MICHAEL FAZIO",
"businessName": "",
"dba": "",
"type": "INDIVIDUAL",
"credentialType": "RCG",
"credentialSubcategory": "",
"status": "ACTIVE",
"statusReason": "CURRENT",
"active": "true",
"issueDate": "1997-05-01",
"effectiveDate": "2026-05-01",
"expirationDate": "2027-04-30",
"address": "23 SHERMAN ST STE 201",
"city": "FAIRFIELD",
"state": "CT",
"zip": "068245868",
"recordRefreshedOn": "2026-03-12",
"sourceUpdatedAt": "2026-09-26"
}

An aggregate row - {"mode": "aggregate", "groupBy": "status"} returns one row per status, with the record fields blank:

{
"platform": "ct-licenses",
"source": "connecticut-licenses",
"mode": "aggregate",
"groupKey": "INACTIVE",
"groupCount": "1648157",
"groupBy": "status",
"credentialId": "",
"name": "",
"status": "",
"city": "",
"sourceUpdatedAt": "2026-09-26"
}

Notes

  • Source: State of Connecticut, published on data.ct.gov as public open data. No login, no key.
  • Freshness: every record carries sourceUpdatedAt - the newest refresh stamp in the register (measured: the day before the probe).
  • Coverage: all Connecticut credentials. Holders are not all in Connecticut - the address state has 190 distinct values (CT 1,995,593, then NY 146,407, MA 89,750) plus 14,571 rows with none - 191 groups in the aggregate.