# New Business Registrations Monitor — 5 States, No Login (`flamboyant_liner/new-business-registrations-monitor`) Actor

Get only NEW company registrations since the last run from NY, CO, CT, OR and FL Secretary of State feeds, filtered by entity type, name keyword or city, with addresses, registered agent and officers where published. Weekly or daily schedule. No login. MCP-ready. $10 per 1,000 leads.

- **URL**: https://apify.com/flamboyant\_liner/new-business-registrations-monitor.md
- **Developed by:** [Khrystyna Skotte](https://apify.com/flamboyant_liner) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 registrations

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

## New Business Registrations Monitor

Get the businesses that were **just registered** in a state, and only the ones you have not seen before. Schedule this actor weekly (or daily) and each run returns the new LLCs, corporations, nonprofits and partnerships filed since the last run, with the formation date, principal address, registered agent and officers where the state publishes them. Filter by entity type, name keyword and city. No login, no API key, no browser.

Newly formed companies are the classic B2B lead source: they need bank accounts, insurance, payroll, bookkeeping, websites, signage, phone systems and office space in their first weeks. This actor turns five state registries into one deduplicated feed.

### Coverage

| State | Feed | Refresh | Lag (filing to feed) | Addresses | Agent | Officers / principals |
|-------|------|---------|----------------------|-----------|-------|-----------------------|
| **NY** | NY Department of State, *Active Corporations* open-data feed | Daily | 1 day | Service-of-process address; location address when filed | When filed | CEO when filed (rare for new LLCs) |
| **CO** | Colorado Secretary of State, *Business Entities* open-data feed | Daily | 1 to 2 days | Principal and mailing | Yes | Not published |
| **CT** | Connecticut Business Registry (master, principals and agents feeds) | Daily | 1 day | Business and mailing | Yes | Yes, plus NAICS code and business email |
| **OR** | Oregon Secretary of State, *Active Businesses* extract | Weekly | 7 to 14 days | Principal place of business and mailing | Yes | Authorized representatives |
| **FL** | Florida Division of Corporations daily corporate data files (public SFTP) | Daily (business days) | 2 to 7 days | Principal and mailing | Yes | Up to 6 officers with titles, plus FEI/EIN when filed |

Volume in a typical week: about 3,900 NY, 2,500 CO, 900 CT, 3,900 OR and 12,000 FL registrations.

**Not covered and why:** Washington (the CCFS API answers every request with a bot-verification block), Utah (no open-data registry feed), Vermont (search app only, no feed), Texas (paid bulk data only), Delaware (publishes business licenses, not entity formations), Massachusetts (search app only).

### How it works

1. Each run scans every registration in the last `lookbackDays` days for the states you selected (Oregon's window is widened by 14 days because its extract lags).
2. Registrations already recorded in this monitor's memory are skipped. New ones are emitted, up to `maxNewPerState` per state and `maxItems` in total.
3. Everything matched in the window is recorded as seen, so the next run returns only registrations filed after this one. If more registrations matched than the caps allowed, the run log tells you how many were left out; raise the caps to receive them all.
4. If `webhookUrl` is set, the run summary plus the first 50 registrations is POSTed as JSON once per run.

Memory is stored in a named key-value store per `monitorId`, so you can run several monitors with different filters side by side.

#### First run and baseline

- `firstRunMode = emitAll` (default): the first run emits everything in the window (subject to the caps).
- `firstRunMode = baseline`: the first run records what exists and emits nothing. Use it when you only want registrations filed after you set the schedule up.

#### Recommended schedule

Weekly with `lookbackDays = 7` (or daily with `lookbackDays = 3`) and `maxNewPerState` / `maxItems` set high enough for your volume. With all five states at the default 7-day window, expect roughly 23,000 registrations per week before filters. The seen-memory holds 50,000 entries, so keep the window at or below 10 days when monitoring all five states unfiltered.

### Input

| Field | Default | Description |
|-------|---------|-------------|
| `states` | `["NY","CO"]` | Any of NY, CO, CT, OR, FL |
| `entityTypes` | `[]` | e.g. `LLC`, `Corporation`, `Nonprofit`, `Professional LLC`, `Professional Corporation`, `Benefit Corporation`, `Limited Partnership`, `LLP`, `Cooperative`, `Assumed Business Name` (Oregon DBAs). Empty = all |
| `nameKeywords` | `[]` | Emit only names containing any keyword (case-insensitive) |
| `cities` | `[]` | Emit only entities whose principal city matches (case-insensitive) |
| `lookbackDays` | `7` | Window scanned each run |
| `maxNewPerState` | `5` | Cap per state per run |
| `maxItems` | `10` | Cap per run |
| `firstRunMode` | `emitAll` | `emitAll` or `baseline` |
| `webhookUrl` | `""` | Optional JSON POST target |
| `monitorId` | `default` | Separate memory per ID |

### Output

One record per new registration:

```json
{
  "state": "FL",
  "entityId": "P26000046350",
  "entityName": "TUNED INSURANCE PARTNERS INC.",
  "entityType": "Corporation",
  "entityTypeRaw": "DOMP",
  "status": "Active",
  "formationDate": "2026-09-21",
  "jurisdiction": "domestic",
  "homeJurisdiction": "FL",
  "principalAddress": "2405 GULF GATE DR, SARASOTA, FL 34231",
  "city": "SARASOTA",
  "zip": "34231",
  "mailingAddress": "2405 GULF GATE DR, SARASOTA, FL 34231",
  "registeredAgent": { "name": "LEGALZOOM USCA, INC.", "address": "1 EAST BROWARD BOULEVARD, FORT LAUDERDALE, FL 33301" },
  "officers": [ { "name": "JOSEPH J SPADAFINO", "title": "President, Secretary, Treasurer, Director", "address": "2405 GULF GATE DR, SARASOTA, FL 34231" } ],
  "publishedDate": "2026-09-25",
  "sourceUrl": "https://search.sunbiz.org/Inquiry/CorporationSearch/SearchResults?InquiryType=DocumentNumber&SearchTerm=P26000046350",
  "changeType": "new_registration",
  "firstSeenAt": "2026-09-29T00:16:59.849Z",
  "monitorId": "default"
}
```

`entityType` is normalised across states (`LLC`, `Corporation`, `Nonprofit Corporation`, ...); `entityTypeRaw` keeps the state's own code or label. `jurisdiction` is `domestic` or `foreign` relative to the filing state and `homeJurisdiction` names the home state or country. Fields a state does not publish are `null` (for example `officers` is empty for Colorado and most New York filings, `registeredAgent` is `null` for most New York LLCs, `naicsCode` and `email` exist only for Connecticut, `feinNumber` and `publishedDate` only for Florida).

#### A note on addresses

Every covered state publishes a principal, business or service-of-process address. New York publishes the address for service of process on new LLCs, which is often the organiser's or a filing service's address rather than the business location; Colorado, Connecticut, Oregon and Florida publish the principal place of business. Colorado includes filings with a delayed effective date, so a formation date a few weeks in the future is a company that has filed but not yet gone live.

### Use cases

- Weekly lead lists for banks, insurance agencies, payroll and bookkeeping firms, web and signage vendors
- Territory alerts: `cities: ["Brooklyn"]` or `["Denver"]` with `entityTypes: ["LLC"]`
- Vertical prospecting: `nameKeywords: ["dental", "roofing", "consulting"]`
- Registered-agent competitive tracking (agent names are published in CO, CT, OR and FL)
- Push each run to a CRM or Slack through `webhookUrl`

### Pricing

$0.005 per run plus $0.01 per registration emitted. You are charged only for records returned, never for the registrations scanned and skipped.

# Actor input Schema

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

Two-letter state codes to monitor. Supported: NY, CO, CT, OR, FL.

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

Only emit these entity types. Use LLC, Corporation, Nonprofit, Professional LLC, Professional Corporation, Benefit Corporation, Limited Partnership, LLP, Cooperative, Assumed Business Name. Empty = all types.

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

Only emit entities whose name contains any of these words (case-insensitive), e.g. "roofing", "dental", "holdings". Empty = all names.

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

Only emit entities whose principal address city matches one of these (case-insensitive exact match), e.g. "Brooklyn", "Denver". Empty = all cities.

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

How many days back to scan for registrations. Registrations older than this are ignored even if never seen.

## `maxNewPerState` (type: `integer`):

Cap on registrations emitted per state per run. Unemitted ones are picked up on the next run while still inside the lookback window.

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

Cap on registrations emitted per run across all states.

## `firstRunMode` (type: `string`):

emitAll: the first run emits everything in the lookback window. baseline: the first run only records what exists (0 results) so later runs emit only registrations filed after it.

## `webhookUrl` (type: `string`):

Optional. POSTed once per run with the run summary and up to 50 new registrations (JSON).

## `monitorId` (type: `string`):

Name of this monitor. Each ID keeps its own memory of seen registrations, so you can run several filter sets side by side.

## Actor input object example

```json
{
  "states": [
    "NY",
    "CO"
  ],
  "entityTypes": [],
  "nameKeywords": [],
  "cities": [],
  "lookbackDays": 7,
  "maxNewPerState": 5,
  "maxItems": 10,
  "firstRunMode": "emitAll",
  "webhookUrl": "",
  "monitorId": "default"
}
```

# Actor output Schema

## `records` (type: `string`):

Dataset of new business registrations (JSON).

# 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",
        "CO"
    ],
    "entityTypes": [],
    "nameKeywords": [],
    "cities": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("flamboyant_liner/new-business-registrations-monitor").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",
        "CO",
    ],
    "entityTypes": [],
    "nameKeywords": [],
    "cities": [],
}

# Run the Actor and wait for it to finish
run = client.actor("flamboyant_liner/new-business-registrations-monitor").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",
    "CO"
  ],
  "entityTypes": [],
  "nameKeywords": [],
  "cities": []
}' |
apify call flamboyant_liner/new-business-registrations-monitor --silent --output-dataset

```

## MCP server setup

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

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/kb9FsWSLY3nzinnKa/builds/OfNJ1F78P8gB4wt7X/openapi.json
