# New Business Filings Feed: NY, CO, CT (Unofficial) (`saiberops/new-business-filings-feed`) Actor

New LLCs, corporations and nonprofits from official state open-data feeds (New York, Colorado, Connecticut): legal name, ID, type, status, filing date, county or city and ZIP. No agent or organizer names. New-since-last-run mode. Unofficial.

- **URL**: https://apify.com/saiberops/new-business-filings-feed.md
- **Developed by:** [Saiber Operations](https://apify.com/saiberops) (community)
- **Categories:** Lead generation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.60 / 1,000 new entity returneds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## New Business Filings Feed (Unofficial): New LLCs and Corporations in NY, CO and CT

Reach new businesses in their first week. This Actor returns **newly formed LLCs, corporations, nonprofits and partnerships** from the official open-data feeds of state business registries: **New York**, **Colorado** and **Connecticut**. Each row is one new entity: legal name, state entity ID, entity type, status, filing date and location (county in New York, city and ZIP in Colorado and Connecticut). Run it on a schedule with **New since last run** and each run returns only companies you haven't seen.

**Entity-only, privacy-safe:** ZIP-level location, no agent or organizer names. The Actor never outputs registered agents, organizers, filers or officers, street addresses, phone numbers or email addresses.

**Built for:**

- **Businesses that sell to new companies:** business insurance, banking and merchant services, payroll, bookkeeping and tax, web design and marketing agencies, sign makers, office and equipment suppliers. A company that just formed needs all of these in its first months.
- **Local market watchers** tracking new restaurants, contractors, clinics or real-estate LLCs in a county or ZIP area.
- **Data teams and AI agents** who want a clean, normalized daily feed across states without scraping state search sites.

**What you get for each new entity:**

- **Entity:** legal name as published, state entity ID (New York DOS ID, Colorado entity ID, Connecticut account number)
- **Type:** entity type as published, plus a normalized kind (LLC, corporation, nonprofit, partnership, other), domestic or foreign (out-of-state company newly registered here), and state of formation
- **Status:** as published (Colorado and Connecticut)
- **Filing:** filing or formation date; for New York also the filing type (articles of organization, certificate of incorporation, application of authority and similar) and effective date
- **Location:** New York: county of the principal office. Colorado and Connecticut: principal office city, state and 5-digit ZIP (no ZIP when the office is outside the U.S.)
- **Source:** the publishing agency, dataset name and dataset page, and when the run read it

### Sample output

```json
{
  "state": "NY",
  "entityId": "8054922",
  "entityName": "CATSKILL EXCAVATION & LANDSCAPING LLC",
  "entityType": "DOMESTIC LIMITED LIABILITY COMPANY",
  "entityKind": "llc",
  "domesticOrForeign": "domestic",
  "jurisdiction": "NY",
  "status": null,
  "filingType": "ARTICLES OF ORGANIZATION",
  "filingDate": "2026-10-22",
  "effectiveDate": "2026-10-22",
  "county": "Sullivan",
  "city": null,
  "principalState": null,
  "zip": null,
  "sourceDataset": "New York State Department of State: Daily Corporation and Other Entity Filing Data (data.ny.gov, k4vb-judh)",
  "fetchedAt": "2026-10-24T12:00:00+00:00"
}
```

```json
{
  "state": "CO",
  "entityId": "20261901234",
  "entityName": "MILE HIGH ROOFING LLC",
  "entityType": "Domestic Limited Liability Company",
  "entityKind": "llc",
  "domesticOrForeign": "domestic",
  "jurisdiction": "CO",
  "status": "Good Standing",
  "filingType": null,
  "filingDate": "2026-10-23",
  "effectiveDate": null,
  "county": null,
  "city": "Denver",
  "principalState": "CO",
  "zip": "80205",
  "sourceDataset": "Colorado Department of State: Business Entities in Colorado (data.colorado.gov, 4ykn-tg5h)",
  "fetchedAt": "2026-10-24T12:00:00+00:00"
}
```

(Illustrative examples; every row also carries `sourceUrl`, the dataset's page on the state portal.)

### Inputs

- **States:** New York (default), Colorado, Connecticut, any combination. With several states, **Max entities** is shared fairly between them.
- **What to fetch:** the last N days (default 14), **New since last run** for a schedule, or a fixed date range.
- **Entity types:** LLC, corporation, nonprofit, partnership, other. **Include out-of-state (foreign) entities** is on by default; turn it off for brand-new local companies only.
- **Name keywords** (any of them must appear; up to 50) and **exclude name keywords**, for example `dental`, `roofing`, `cafe`, or exclude `holdings`, `realty`.
- **Counties** (New York) and **ZIP codes or prefixes** (Colorado, Connecticut), for example `Kings` or `802`.
- **Max entities** (default 100), and under Advanced settings a **cursor name** to keep separate scheduled feeds apart and **max pages per state**.

**Quick start:** keep the defaults (New York, filed in the last 14 days, up to 100 entities) and click **Start**. For a recurring lead list, pick your states and filters, choose **New since last run**, keep **Days to look back** at 14 and schedule the Actor daily or weekly. Results appear in the **New entities** tab, newest first; a per-state summary is saved as `SUMMARY` in the run's key-value store.

### Pricing

Pay per event: you pay only for entities returned.

| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
| New entity returned | $0.0024 | $0.002 | $0.0018 | $0.0016 |

That's $1.60–$2.40 per 1,000 new businesses, plus Apify's standard Actor start fee. Entities removed by your filters, entities already returned (in "New since last run"), non-formation filings and runs that fail are **not charged**. Set **Max cost per run** to cap spending; the Actor stops cleanly at the cap.

### Integrations and API

Schedule it in Apify and send new businesses to Google Sheets, Slack, HubSpot, Salesforce, Make, Zapier or n8n through Apify's integrations, or call it from the Apify API. AI agents can use it through Apify's MCP server.

### Limits

- **States:** New York, Colorado and Connecticut only, because they publish official, regularly updated open-data feeds of their business registries. Other states are not scraped from their search websites.
- **Posting lag:** filings reach the open-data feeds one to a few business days after the state files them, and weekend or holiday filings appear on the next business day. New York rows have been arriving about 4 days after filing, so the default 14-day window always covers several business days of postings.
- **New York:** the feed is refreshed daily and holds only filings processed in the **last 30 days**, so date ranges further back return nothing for New York. It publishes the principal office **county only** (no city or ZIP) and no status in this feed.
- **Colorado and Connecticut:** the full registries are refreshed daily (Colorado) and nightly (Connecticut); new entities are picked by formation or registration date. They publish no county.
- **Location detail:** ZIP-level at most. Street addresses are never output.
- A run reads at most **Max pages per state** pages of 1,000 rows per state. Narrow the filters or raise the limit if the status message says it stopped at the page limit.
- If a state's portal throttles or refuses requests, the Actor stops reading that state for the run, still returns the other states, and says so in the status message and the `SUMMARY` record.

### FAQ

**Why no registered agent, organizer or owner names?** They are very often private individuals. This Actor is built for entity-level prospecting: you get the company, its type, date and area, not people's names or home addresses.

**Can a legal name contain a person's name?** Yes. Some businesses are named after their founders, and legal names are returned exactly as the state publishes them. No other person-related field is added.

**Why is New York county-only?** New York's daily filing feed publishes the county of the office but no office street, city or ZIP. The only other addresses in that feed belong to filers and process agents, which are not the business's office and are often private individuals, so they are never used.

**What does "foreign" mean?** A company formed in another state or country that just registered to do business in this one, for example a Delaware LLC opening in New York.

**Does "New since last run" miss anything?** It remembers each entity it returned, per state and per cursor name, for the length of your look-back window, so filings that are posted late still come through once.

**Do I need an API key?** No.

### Data source and responsible use

Data comes from the official open-data portals of the **New York State Department of State** (Daily Corporation and Other Entity Filing Data), the **Colorado Department of State** (Business Entities in Colorado) and the **Connecticut Secretary of the State** (Connecticut Business Registry - Business Master), read through each portal's public API. The Actor identifies itself with a company name and contact email, keeps to about two requests per second, asks each portal only for the entity columns it outputs, and stops reading a state if its portal signals throttling. Output is limited to business-entity facts: legal names as published, IDs, types, statuses, dates and location at county or ZIP level, with no agent, organizer, filer or officer names, street addresses, phone numbers or email addresses. This is an **unofficial** tool, **not affiliated with** or endorsed by the New York State Department of State, the Colorado Department of State, the Connecticut Secretary of the State or any government agency. The states rely on information filers provide and do not guarantee its accuracy or completeness.

### Support

Found a bug or need a state or field? Open an issue on this Actor's **Issues** tab and we'll respond there.

*Maintained by Saiber Operations LLC.*

# Changelog

This Actor's version history is a separate document: https://apify.com/saiberops/new-business-filings-feed/changelog.md

# Actor input Schema

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

Registries to read. NY: New York Department of State daily filings (county only, no city or ZIP). CO: Colorado business entities (city and ZIP). CT: Connecticut business registry (city and ZIP).

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

latest: entities filed in the last N days. newSinceLastRun: only entities your previous runs didn't return (use it on a schedule). dateRange: a fixed start and end date (up to 366 days; New York keeps only the last 30 days).

## `lookbackDays` (type: `integer`):

For 'latest' and 'newSinceLastRun'. Calendar days including today. Registries post filings one to a few business days late (New York about 4 days), so 14 catches late postings; 'newSinceLastRun' never repeats an entity.

## `startDate` (type: `string`):

First filing date to include, YYYY-MM-DD.

## `endDate` (type: `string`):

Last filing date to include, YYYY-MM-DD. Defaults to today.

## `entityTypes` (type: `array`):

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

## `includeForeign` (type: `boolean`):

Also return companies formed elsewhere that just registered to do business in the state. Turn off for brand-new local companies only.

## `nameKeywords` (type: `array`):

Keep entities whose legal name contains any of these words, for example dental, roofing, cafe. Letters, digits, spaces, & . and - are used. Up to 50 keywords of up to 40 characters.

## `excludeNameKeywords` (type: `array`):

Drop entities whose legal name contains any of these words, for example holdings, realty, trust.

## `counties` (type: `array`):

County of the principal office, for example Kings, Monroe, Erie. Only New York publishes a county, so this filter drops Colorado and Connecticut rows.

## `zipCodes` (type: `array`):

5-digit ZIP codes or 3- to 4-digit prefixes of the principal office, for example 80205 or 802. New York publishes no office ZIP, so this filter drops New York rows.

## `maxItems` (type: `integer`):

The run stops after this many entities in total (shared fairly across the selected states). Each returned entity is one charged event.

## `cursorName` (type: `string`):

Keeps a separate 'new since last run' position per name, so different scheduled feeds (for example Denver restaurants vs. Brooklyn LLCs) don't share one. Letters, numbers and dashes.

## `maxPagesPerState` (type: `integer`):

Upper limit on 1,000-row pages read per state per run. Raise it for long date ranges with narrow filters.

## Actor input object example

```json
{
  "states": [
    "NY"
  ],
  "mode": "latest",
  "lookbackDays": 14,
  "entityTypes": [],
  "includeForeign": true,
  "nameKeywords": [],
  "excludeNameKeywords": [],
  "counties": [],
  "zipCodes": [],
  "maxItems": 100,
  "cursorName": "",
  "maxPagesPerState": 20
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# 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": [
        "NY"
    ],
    "lookbackDays": 14,
    "nameKeywords": [],
    "excludeNameKeywords": [],
    "counties": [],
    "zipCodes": [],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("saiberops/new-business-filings-feed").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": ["NY"],
    "lookbackDays": 14,
    "nameKeywords": [],
    "excludeNameKeywords": [],
    "counties": [],
    "zipCodes": [],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("saiberops/new-business-filings-feed").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": [
    "NY"
  ],
  "lookbackDays": 14,
  "nameKeywords": [],
  "excludeNameKeywords": [],
  "counties": [],
  "zipCodes": [],
  "maxItems": 100
}' |
apify call saiberops/new-business-filings-feed --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,saiberops/new-business-filings-feed"
        }
    }
}
```

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/LHFbMNRskc1PfJwdJ/builds/eNyOju3cr4h8eACbZ/openapi.json
