How-to
How to run US Business Entity Search (Secretary of State)
Step-by-step: export newly formed LLCs or look up a company in the Colorado, Connecticut, New York and Oregon business registries, and read the rows that come back.
You want one of two things from a Secretary of State registry. Either a list: every LLC formed
since last month, every active company in a city, every business with “roofing” in its name. Or an
answer: is this company registered, is it in good standing, who is its registered agent. Each
state publishes its registry its own way: Colorado says Good Standing and DLLC, Connecticut says
Active and LLC and keeps agents and officers in separate datasets, and Oregon lists each business
as several role rows (principal office, mailing address, agent, representative). This actor reads
each state’s official open-data registry live and returns the same columns from every state.
Be plain about the scope before you spend anything: four states today, Colorado, Connecticut, New York and Oregon. More are being added one at a time; the States field always lists exactly what is available.
What you’ll need
An Apify account. No API key, no proxy: the registries are open data (data.colorado.gov,
data.ct.gov, data.ny.gov, data.oregon.gov) and the actor queries them directly.
Step 1: Open the actor
Open US Business Entity Search & Leads Scraper (Secretary of State) on the Apify Store and press Try for free. This site’s actor page shows its health and pricing.
Step 2: Pick a mode
Export returns every business in the picked states that matches your filters. Lookup finds the companies you name. Leave Mode on Auto and it picks lookup when you fill Business names or entity IDs, export otherwise.
| Field | What it does |
|---|---|
mode | export, lookup or auto |
states | CO, CT, NY, OR; empty = all |
queries | Lookup: company names (matched anywhere in the name) or the state’s entity ID |
entityTypes | LLC, Corporation, Nonprofit, Limited Partnership, LLP, General Partnership, Cooperative, Trust: one list mapped onto each state’s own types |
statuses | Active means in business in every state (Colorado: Good Standing or Exists); other words match the state’s own statuses |
formedAfter / formedBefore | Formation date window: the newly-formed-companies filter |
cities | Principal office city |
nameKeywords | Name contains any of these words |
minYearsInBusiness / maxYearsInBusiness | Active companies formed in that state at least / at most N years ago |
annualReportDueAfter / annualReportDueBefore | Connecticut only |
naicsCodes | NAICS prefixes, Connecticut only |
ownedBy | Woman / minority / veteran / LGBTQI / disability-owned, from Connecticut’s survey |
includeOfficers | Add officers or representatives with a business address (CT, OR) |
maxResults | Rows per state, up to 100,000 |
Every filter runs at the state’s own database, so maxResults: 100 means 100 matching rows per
state, not 100 rows filtered down to a handful. A filter a state cannot answer (NAICS in Colorado, a
status Oregon does not publish) is never silently ignored: that state returns a free notice row
saying so, and the other states run normally.
A working export, active LLCs formed since October 6:
{
"mode": "export",
"states": ["CO", "CT", "OR"],
"entityTypes": ["LLC"],
"statuses": ["Active"],
"formedAfter": "2026-10-06",
"maxResults": 100
}
A working lookup, by name and by Connecticut business ID:
{
"mode": "lookup",
"states": ["CT"],
"queries": ["Serve & Sip Cafe", "3545105"],
"maxResults": 10
}
Step 3: Run it
Press Start. Each state is a few live queries, so a run of a few hundred rows takes seconds. The registered agent (and officers, when asked) are joined only for the rows you receive.
A lookup that finds nothing in a state returns a free no_match notice for that state. If a state’s
portal refuses or times out, you get a free blocked notice for it and the other states still
return; nothing is charged for notice rows.
Step 4: Read the output
A real Connecticut row, with includeOfficers on:
{
"state": "CT",
"entity_id": "3545105",
"entity_name": "Serve & Sip Cafe L.L.C.",
"entity_type": "Limited Liability Company",
"status": "Active",
"formation_date": "2026-11-04",
"years_in_business": 0,
"jurisdiction": "Connecticut",
"principal_street": "61 E Industrial Rd",
"principal_city": "Branford",
"principal_zip": "06405-6509",
"agent_name": "Brian Gallagher",
"agent_street": "61 E Industrial Rd",
"annual_report_due": "2027-03-31",
"officers": [{"name": "Brian Gallagher", "city": "Branford"}],
"source_url": "https://data.ct.gov/resource/n7gp-d28j.json?id=001eq00001hDPvNAAW"
}
The core columns are the same in every state and null where a state does not publish them:
- Colorado (every status, 3.1 million entities): status, formation date, principal and mailing address, registered agent. No officers.
- Connecticut (1.3 million): adds NAICS industry, annual report due date, business email, the
ownership survey flags, agent email and phone, and officers with
includeOfficers. - New York (4.3 million active entities): active only. Corporations that filed a biennial
statement have a principal office and their CEO’s name; every other entity, including every new
LLC, has only the address the Department of State mails legal papers to, often a registered-agent
or formation-service office. That address fills the principal columns with
address_is_mailing: true, andprocess_namesays who receives the mail. Adds county. - Oregon (570,000 active businesses): active businesses only, so every Oregon row is
Active. Adds county,annual_report_anniversaryand authorized representatives withincludeOfficers.
formation_date is filled only for a company formed in that state. A company formed elsewhere and
registered to do business there gets registered_in_state_since instead, so a Delaware corporation’s
Colorado registration date is never passed off as its age. years_in_business is whole years since
the formation date, for active companies only. Addresses are business addresses: the actor never
returns an agent’s or officer’s home address, even where the state publishes one.
Step 5: Export it
Open the Dataset tab and export to CSV, JSON or Excel, or read the same rows from the API. For a
new-business feed, schedule the export daily and move formedAfter forward with it: the actor keeps
no memory between runs, so an unchanged date returns (and charges for) the same rows again.
What it costs
$0.0015 per business entity returned: 1,000 rows is $1.50. Notice rows are free, and a lookup that finds nothing costs nothing. Apify platform usage is billed separately, and this is plain JSON with no browser, so that part is small.
Where the data comes from
The Colorado, Connecticut and Oregon Secretary of State registries and the New York Department of State’s active corporations, published on each state’s Socrata open-data portal and refreshed daily (Oregon: about weekly). Every run reads them live.
See it used
- New LLCs formed in Colorado, Connecticut & Oregon
- Search business entities by name
- Pull Colorado business entity registrations
For businesses licensed by a city rather than registered with a state, see the HdL Municipal Business License Lookup.
Last updated 2026-11-05