# Secretary of State Business Entity Search & New LLC Filings (`wantmannu/us-state-business-registry`) Actor

Secretary of State business entity search and KYB lookup by name or ID, plus a feed of new business filings (new LLCs and corporations) from official open data in Colorado, Connecticut, New York, Oregon and Pennsylvania. Filter by type, city, ZIP. Delta alerts. No API key. $0.003 per business.

- **URL**: https://apify.com/wantmannu/us-state-business-registry.md
- **Developed by:** [Manohar Mukidi](https://apify.com/wantmannu) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### Secretary of State Business Search: new LLC filings and US business registry data

**Who it's for:** banks, accountants, insurers, payroll and SaaS sellers, web and marketing agencies, sign and printing shops, and anyone who wants **new US businesses** the week they are formed, or needs to **look up a business** in a state registry.

**What you get:** **new LLC filings**, new corporations, nonprofits and partnerships from the official **Secretary of State business registry** open data of **Colorado, Connecticut, New York, Oregon and Pennsylvania**. Each business is a clean row with name, state ID, entity type, domestic or foreign, status, formation date, address, city and ZIP, county (NY and PA), NAICS industry (CT), a link to the official registry page where there is one, and the source and licence. You can add the **registered agent and principals** and a **one-line plain-English summary**. **Business search** by name or ID number is included. **No API key, no signup, no browser.** Schedule it daily with **delta mode** for a "new businesses in my area" alert that costs **$3 per 1,000 businesses**.

Together these five states register about 3,000 new businesses on a typical working day. A new LLC needs a bank account, insurance, an accountant, a website, a phone system and software in its first weeks, so a fresh formation list is one of the earliest B2B lead sources there is.

### Quick start

1. Click **Try for free**. The default input returns the 100 newest filings from the last 7 days across all five states.
2. Pick your **states**, then narrow down by **entity kind** (LLC, corporation, nonprofit, partnership), **cities**, **ZIP code prefixes** or **name contains** (e.g. "dental", "roofing").
3. Turn on **Domestic entities only** to skip out-of-state companies that are only registering to do business here.
4. Optional extras: **Add registered agent & principals**, **Add one-line summary**.
5. Click **Start**, then export to CSV, Excel or JSON, or send rows to Google Sheets, HubSpot, Slack or a webhook.
6. For alerts, turn on **Delta mode** and add a daily **schedule**.

To look up businesses instead, set **Mode** to "Look up businesses by ID or name":

```json
{
  "mode": "lookup",
  "entityIds": ["CO:20268275237", "NY:8047933", "OR:263936297"],
  "names": ["Blue Bottle Coffee"],
  "maxResultsPerName": 5
}
```

### Example run

New domestic businesses in **Denver** from the last 7 days, with one-line summaries. This is the exact input from a fresh run on the Apify platform on 18 October 2026 (run `ucZLwbGtUJnyJKgVb`):

```json
{
  "states": [
    "CO"
  ],
  "cities": [
    "Denver"
  ],
  "lastNDays": 7,
  "domesticOnly": true,
  "addSummary": true,
  "maxResults": 5
}
```

Output excerpt: 2 of the 5 rows, selected fields only:

```json
[
  {
    "state": "CO",
    "entityId": "20268275597",
    "entityName": "BATHYSOPH LIMITED",
    "entityType": "Domestic Corporation",
    "entityKind": "corporation",
    "isDomestic": true,
    "status": "Good Standing",
    "formationDate": "2026-10-17",
    "addressCity": "DENVER",
    "addressState": "CO",
    "addressZip": "80203",
    "registryUrl": "https://www.coloradosos.gov/biz/BusinessEntityDetail.do?masterFileId=20268275597",
    "summary": "BATHYSOPH LIMITED: Colorado domestic corporation formed 17 Oct 2026 in Denver, CO; status: Good Standing."
  },
  {
    "state": "CO",
    "entityId": "20268275560",
    "entityName": "PURL LLC",
    "entityType": "Domestic Limited Liability Company",
    "entityKind": "llc",
    "isDomestic": true,
    "status": "Good Standing",
    "formationDate": "2026-10-17",
    "addressCity": "Denver",
    "addressState": "CO",
    "addressZip": "80220",
    "registryUrl": "https://www.coloradosos.gov/biz/BusinessEntityDetail.do?masterFileId=20268275560",
    "summary": "PURL LLC: Colorado domestic LLC formed 17 Oct 2026 in Denver, CO; status: Good Standing."
  }
]
```

The run made 1 request to the Colorado open-data portal and was charged 5 × $0.003 plus the $0.00005 start fee, about **1.5 cents**. Street addresses are left out of this excerpt.

### Why this business registry scraper?

- **Official sources only.** Every row comes straight from the state's own open-data portal (Socrata API) and links back to the exact source record (`sourceRecordUrl`). There's no scraping of search pages, no CAPTCHAs and no third-party database in between.
- **Built for new-business leads, not just search.** Date-window feed, newest first, with delta mode so a daily schedule only delivers businesses you haven't seen.
- **One schema for five states.** The same columns for every state, plus a normalized `entityKind` and an `isDomestic` flag, so you can filter and merge without per-state clean-up.
- **Cheap and predictable.** $0.003 per business, no monthly fee, and the extras are free. A full day of new filings in all five states costs roughly $9.
- **Honest about freshness.** The run summary records the latest filing date found in each state, so you can see when a state hasn't updated yet.

### Which states, and how fresh?

| State | Official dataset | Publisher | Contents | Updates | Licence |
|---|---|---|---|---|---|
| Colorado | [Business Entities in Colorado](https://data.colorado.gov/d/4ykn-tg5h) | Colorado Department of State | All entities, any status | Daily | Public Domain |
| Connecticut | [Business Registry – Business Master](https://data.ct.gov/d/n7gp-d28j) | Office of the Secretary of the State | All entities, any status | Daily | Public Domain |
| New York | [Active Corporations: Beginning 1800](https://data.ny.gov/d/n9v6-gdp6) | Department of State, Division of Corporations | Active entities only | About daily | OPEN-NY Terms of Use |
| Oregon | [Active Businesses – ALL](https://data.oregon.gov/d/tckn-sxa6) | Secretary of State, Corporation Division | Active entities and assumed names | Weekly | Public domain (ORS 276A.368) |
| Pennsylvania | [Registered Businesses in PA Current](https://data.pa.gov/d/xvd7-5r2c) | Department of State | Current entities only | Monthly (2–3 weeks behind) | Public Domain |

More states will be added where the state publishes an official open dataset. Tell us which one you need.

### What data do you get?

| Field | Description |
|---|---|
| `state`, `stateName` | Registry state |
| `entityId` | State ID number (CO entity ID, CT account number, NY DOS ID, OR registry number, PA filing number) |
| `entityName` | Business name as registered |
| `entityType` | Entity type as filed, e.g. "Domestic Limited Liability Company" |
| `entityKind` | Normalized: `llc`, `corporation`, `nonprofit`, `partnership`, `nameFiling`, `other` |
| `isDomestic`, `jurisdictionOfFormation` | Formed in this state, or a foreign entity registering here |
| `status` | Registry status (e.g. "Good Standing", "Active", "Current") |
| `formationDate` | Formation or registration date |
| `addressType`, `addressStreet`, `addressCity`, `addressState`, `addressZip`, `addressCountry` | Address as published, with its type (principal office, business address, registered office, service of process address) |
| `county` | County (NY, PA) |
| `naicsCode`, `naicsDescription` | Industry, where the state collects it (CT) |
| `registryUrl`, `registrySearchUrl` | Official registry page (CO, OR) and the state's business search |
| `sourceRecordUrl`, `dataSource`, `licence` | The exact open-data record, the publisher and the licence |
| `registeredAgentName`, `registeredAgentRole`, `registeredAgentAddress` *(opt-in)* | Registered agent (CO, NY, OR) |
| `principals`, `principalNames` *(opt-in)* | Officers or organizers (CT, PA), authorized representatives (OR), chairman/CEO (NY) |
| `summary` *(opt-in)* | One-line plain-English summary |

### Sample output

Real rows from runs on 18 October 2026, one each from Connecticut, New York and Oregon (selected fields; street addresses left out):

```json
[
  {
    "state": "CT",
    "stateName": "Connecticut",
    "entityId": "3535501",
    "entityName": "Modern Edge Home Pros LLC",
    "entityType": "Domestic Limited Liability Company",
    "entityKind": "llc",
    "isDomestic": true,
    "jurisdictionOfFormation": "Connecticut",
    "status": "Active",
    "formationDate": "2026-10-17",
    "addressType": "business address",
    "addressCity": "Enfield",
    "addressState": "CT",
    "addressZip": "06082-1939",
    "county": null,
    "naicsCode": "236118",
    "naicsDescription": "Residential Remodelers",
    "registryUrl": null,
    "registrySearchUrl": "https://service.ct.gov/business/s/onlinebusinesssearch",
    "sourceRecordUrl": "https://data.ct.gov/resource/n7gp-d28j.json?accountnumber=3535501",
    "dataSource": "Connecticut Office of the Secretary of the State via data.ct.gov (Connecticut Business Registry - Business Master)",
    "licence": "Public Domain (dataset licence on data.ct.gov)",
    "scrapedAt": "2026-10-18T16:06:03+00:00"
  },
  {
    "state": "NY",
    "stateName": "New York",
    "entityId": "8047933",
    "entityName": "SHURIKEN NEIN STUDIOS LLC",
    "entityType": "Domestic Limited Liability Company",
    "entityKind": "llc",
    "isDomestic": true,
    "jurisdictionOfFormation": "New York",
    "status": "Active",
    "formationDate": "2026-10-16",
    "addressType": "service of process address",
    "addressCity": "NEW YORK",
    "addressState": "NY",
    "addressZip": "10002",
    "county": "New York",
    "naicsCode": null,
    "naicsDescription": null,
    "registryUrl": null,
    "registrySearchUrl": "https://apps.dos.ny.gov/publicInquiry/",
    "sourceRecordUrl": "https://data.ny.gov/resource/n9v6-gdp6.json?dos_id=8047933",
    "dataSource": "New York State Department of State, Division of Corporations via data.ny.gov (Active Corporations: Beginning 1800)",
    "licence": "OPEN-NY Terms of Use (free public reuse; no warranty; do not imply State endorsement)",
    "scrapedAt": "2026-10-18T16:06:03+00:00"
  },
  {
    "state": "OR",
    "stateName": "Oregon",
    "entityId": "263936297",
    "entityName": "JINK LABO LLC",
    "entityType": "Domestic Limited Liability Company",
    "entityKind": "llc",
    "isDomestic": true,
    "jurisdictionOfFormation": "OR",
    "status": "Active",
    "formationDate": "2026-10-13",
    "addressType": "principal place of business",
    "addressCity": "PORTLAND",
    "addressState": "OR",
    "addressZip": "97239",
    "county": null,
    "naicsCode": null,
    "naicsDescription": null,
    "registryUrl": "https://egov.sos.state.or.us/br/pkg_web_name_srch_inq.do_name_srch?p_name=&p_regist_nbr=263936297&p_srch=PHASE1&p_print=FALSE&p_entity_status=ACTINA",
    "registrySearchUrl": "https://sos.oregon.gov/business/pages/find.aspx",
    "sourceRecordUrl": "https://data.oregon.gov/resource/tckn-sxa6.json?registry_number=263936297",
    "dataSource": "Oregon Secretary of State, Corporation Division via data.oregon.gov (Active Businesses - ALL)",
    "licence": "Public domain under Oregon law (ORS 276A.368)",
    "scrapedAt": "2026-10-18T16:06:03+00:00"
  }
]
```

With **Add registered agent & principals** on, a record also carries (Oregon example):

```json
{
  "state": "OR",
  "entityId": "263936297",
  "entityName": "JINK LABO LLC",
  "registeredAgentName": "REGISTERED AGENTS INC",
  "registeredAgentRole": "Registered agent",
  "registeredAgentAddress": "5441 S MACADAM AVE STE R, PORTLAND, OR, 97239",
  "principals": [],
  "principalNames": null
}
```

### How much does it cost?

You pay only for results: **$0.003 per business record** saved to the dataset, plus a tiny $0.00005 start fee per run. The registered agent, principals and summary options are free. Your Apify plan's normal platform usage applies.

| What you run | Records | Cost |
|---|---|---|
| Daily alert for one city, new domestic LLCs | ~10 a day | about $0.03 a day, ~$0.90 a month |
| Daily feed for one state (e.g. Colorado) | ~550 a day | about $1.65 a day |
| One week of new filings, all five states | ~14,000 | about $42 |
| Look up 100 businesses by ID | 100 | $0.30 |

Set **Max results** to cap the cost of any run. The free Apify plan's monthly credits cover over 1,500 records.

### Integrations

Export to **CSV, Excel, JSON, XML or HTML**, or connect the dataset to **Google Sheets, HubSpot, Salesforce, Airtable, Slack, Zapier, Make, n8n** or a **webhook** via Apify integrations. You can also call it from the **Apify API** or Python and JavaScript clients, or from AI agents through the **Apify MCP server**.

### Tips

- **Big states fill the quota fast.** New York files 1,000+ entities a day. Use **Max results per state** to get a mix from every state.
- **Oregon and Pennsylvania lag.** Oregon updates weekly and Pennsylvania monthly, so use a 14–45 day window for them, or keep delta mode on so you get each business once when it appears.
- **New York addresses.** Most new New York entities publish only a *service of process* address, which is often their registered agent's office. Use `county` for location in New York.
- **Name lookups are slower** (up to a minute) because the state portals search names without an index. ID lookups take about a second.

### FAQ

#### Where does the data come from?

Only from each state's official open-data portal, published by the state's Secretary of State or Department of State (see the table above). Every record carries `sourceRecordUrl`, so you can check it against the source.

#### Is it legal to reuse this data?

Business registrations are public records, and these datasets are published for reuse: Colorado, Connecticut and Pennsylvania mark them Public Domain, Oregon law makes its open data public domain (ORS 276A.368), and New York publishes under the OPEN-NY Terms of Use. The states make no warranty about accuracy or completeness. Please keep the source attribution (`dataSource`) when you republish, and don't suggest the states endorse your product.

#### Can I use the agent and principal names for marketing?

Registered agents and principals are often private individuals. You're responsible for using them lawfully: follow CAN-SPAM for email, the TCPA and Do-Not-Call rules for calls and texts, and state privacy laws. This Actor never collects principals' residential addresses or the email addresses some states hold, and contacts are off by default.

#### Why is a business I expected missing?

New York, Oregon and Pennsylvania publish active entities only, Pennsylvania updates monthly, and Oregon weekly. Check `latestFilingByState` in the run summary to see how current each state is.

#### Do you cover all 50 states?

Not yet. We only use states that publish an official open dataset, which is what keeps this fast, cheap and reliable. More are being added.

#### Support

Open an issue on the Actor's **Issues** tab and we'll respond quickly. Feature requests (new states, new fields) are welcome.

# Changelog

This Actor's version history is a separate document: https://apify.com/wantmannu/us-state-business-registry/changelog.md

# Actor input Schema

## `mode` (type: `string`):

"New business filings" lists LLCs, corporations and other entities formed or registered in the date window (lead lists, market monitoring). "Look up" finds specific entities by state ID number or by name.

## `states` (type: `array`):

Which state registries to search. Leave empty for all five. Colorado, Connecticut and New York update daily, Oregon weekly, Pennsylvania monthly.

## `lastNDays` (type: `integer`):

Window ending today (US Eastern time). Ignored if "Formed from" is set. Oregon updates weekly and Pennsylvania monthly, so use 14–45 days for those.

## `dateFrom` (type: `string`):

Start of the formation/registration date range (YYYY-MM-DD). Overrides "last N days".

## `dateTo` (type: `string`):

End of the date range (YYYY-MM-DD). Defaults to today.

## `entityKinds` (type: `array`):

Keep only these kinds of entity. Leave empty for all.

## `domesticOnly` (type: `boolean`):

Skip foreign entities, i.e. companies formed in another state that registered to do business here. Turn on to get truly new local businesses.

## `activeOnly` (type: `boolean`):

Skip dissolved, withdrawn and rejected filings (relevant for Colorado and Connecticut; the New York, Oregon and Pennsylvania datasets list active entities only).

## `cities` (type: `array`):

Keep only businesses whose address is in one of these cities, e.g. "Denver", "Brooklyn", "Portland". Case-insensitive exact match.

## `zipPrefixes` (type: `array`):

Keep only businesses whose ZIP code starts with one of these, e.g. "802" (Denver area) or "10001".

## `nameIncludes` (type: `array`):

Keep only businesses whose name contains any of these words, e.g. "dental", "roofing", "capital". Case-insensitive.

## `nameExcludes` (type: `array`):

Drop businesses whose name contains any of these words, e.g. "holdings", "trust".

## `includeNameFilings` (type: `boolean`):

Oregon also lists assumed business names (DBAs). They are not new legal entities, so they're skipped unless you turn this on.

## `entityIds` (type: `array`):

State ID numbers, ideally with a state prefix: "CO:20261234567", "NY:8047933", "OR:263936297", "CT:3535333" (account number), "PA:0006901395" (filing number). Without a prefix every selected state is searched.

## `names` (type: `array`):

Find businesses whose name contains this text, in every selected state, newest first. At least 3 characters.

## `maxResultsPerName` (type: `integer`):

Lookup mode: how many matches to keep for each name in each state.

## `includeContacts` (type: `boolean`):

Add the registered agent (name, role, address) and the principals listed on the public record: officers in Connecticut and Pennsylvania, authorized representatives in Oregon, chairman/CEO in New York. Colorado publishes the agent only. These are often private individuals: use them lawfully (e.g. CAN-SPAM, TCPA, state privacy laws) and don't use them for unsolicited calls or texts. Residential addresses of principals are never collected.

## `maxPrincipals` (type: `integer`):

Upper limit on principals per record when contacts are on.

## `addSummary` (type: `boolean`):

Adds a short plain-English sentence per business, e.g. "ACME LLC: Colorado domestic LLC formed 18 Oct 2026 in Denver, CO; status: Good Standing." Built by fixed rules, not an AI model, so there's no extra cost.

## `maxResults` (type: `integer`):

Maximum number of business records to save (you pay per record). Newest filings across all selected states come first.

## `maxResultsPerState` (type: `integer`):

Optional cap per state so a big state (New York files 1,000+ a day) doesn't fill the whole quota. 0 = no cap.

## `deltaMode` (type: `boolean`):

Remember which businesses were already delivered for these filters and skip them next time. Use it with a daily schedule for a new-business alert.

## `deltaStoreName` (type: `string`):

Named key-value store that keeps delta state. Use a different name per alert if you want separate histories.

## `socrataAppToken` (type: `string`):

Not needed. A free app token from any of the state portals raises rate limits for very large runs.

## Actor input object example

```json
{
  "mode": "newFilings",
  "states": [
    "CO",
    "CT",
    "NY",
    "OR",
    "PA"
  ],
  "lastNDays": 7,
  "domesticOnly": false,
  "activeOnly": true,
  "includeNameFilings": false,
  "maxResultsPerName": 10,
  "includeContacts": false,
  "maxPrincipals": 10,
  "addSummary": false,
  "maxResults": 100,
  "maxResultsPerState": 0,
  "deltaMode": false,
  "deltaStoreName": "us-business-registry-delta"
}
```

# Actor output Schema

## `dataset` (type: `string`):

Dataset with one row per business entity

## `runSummary` (type: `string`):

Scanned and saved per state, sources and licences

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "states": [
        "CO",
        "CT",
        "NY",
        "OR",
        "PA"
    ],
    "lastNDays": 7,
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("wantmannu/us-state-business-registry").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "states": [
        "CO",
        "CT",
        "NY",
        "OR",
        "PA",
    ],
    "lastNDays": 7,
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("wantmannu/us-state-business-registry").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "states": [
    "CO",
    "CT",
    "NY",
    "OR",
    "PA"
  ],
  "lastNDays": 7,
  "maxResults": 100
}' |
apify call wantmannu/us-state-business-registry --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,wantmannu/us-state-business-registry"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/z39onKyI61gKMf1NI/builds/bsf6Qswx0hkdh7Fb3/openapi.json
