# US New Business Leads + Contact Checks (`lergassy/us-business-filings`) Actor

Extract newly registered US businesses from official open data: 5 state registries, 9 city license feeds and SEC EDGAR funding filings (Form D, C, 1-A). One row per business with lead score, address, industry, owner or agent, plus phone and email checked for deliverability.

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

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

**US New Business Leads** delivers **new business leads** — newly registered US companies and newly licensed local businesses — straight from **official open-data sources**: state Secretary-of-State registries and major-city business-license feeds, with no scraping of protected sites, no login, and no API key. Schedule it daily and get a de-duplicated **new business leads list**: one row per business with company name, normalized address, registration date, entity type, NAICS-based industry tag, a **lead score**, and a contact person — with a **phone number or email** wherever the registry publishes it (nearly every new Connecticut company comes with an email).

Every phone number and e-mail in the feed is then **checked before you get it**: the number against the North American numbering plan, the e-mail domain against a live MX lookup, a throwaway-domain list and a role-address list — so bounces and dead numbers are labelled instead of sold to you as leads.

A third layer adds **funding signals**: companies that just raised private capital, from **SEC EDGAR Form D** filings — amount raised, date of first sale, investors, executive officers and a phone number.

Built for B2B sales: reach a business the week it registers — before it has a bank, an accountant, insurance, a website, or a marketing agency — or the week it closes a round, when it hires, buys software and outsources. Export scraped data, run the monitor via API, schedule runs, or push new leads straight into your CRM.

### What is US New Business Leads?

US New Business Leads is a **newly registered businesses** feed that reads government open-data portals (Socrata) and SEC EDGAR — sources built for programmatic use. Pick a quick-start preset or your own states and cities, set a date, optionally filter by industry, city, ZIP or radius, and turn on **monitor mode** to receive only businesses you have not seen before.

#### Quick start — three lead feeds, one click

| Preset | What you get | Measured volume (last 7 days) |
|---|---|---|
| **New local businesses with a phone or email** | Newly licensed businesses in 9 cities, only records with a phone | ~190 businesses, 100% with phone, ~30% with owner name |
| **New companies with a business email (Connecticut)** | Every new Connecticut LLC and corporation with the email the founder gave the state | ~860 companies, 100% with email, NAICS code and address |
| **Funded startups** | Companies that filed a funding notice with the SEC (Form D, C, 1-A) | ~250 companies, 94% with the company phone, 100% with an executive's name |

Pick a preset in the **🎯 Quick start** field and click **Start**; add **Monitor mode** and a daily schedule to turn it into a feed.

- **Three layers of coverage**: state registries (new LLCs and corporations), municipal business licenses in the largest metros (newly opened businesses with owner contacts), and SEC EDGAR Form D funding rounds (startups and growth companies that just raised money).
- **Monitor mode, not just a scraper**: remembers delivered records and returns only new ones next run — a clean daily lead feed.
- **Only real new businesses**: formation filings in New York, newly issued licenses in Chicago; biennial statements, renewals, amendments, and dissolutions are dropped. Future-dated and mistyped records are filtered out.
- **One row per business**: a company that shows up twice — two licenses, or a state filing plus a city license — is merged into one record with combined contact details and every source listed.
- **Clean, CRM-ready fields**: phones in E.164 (`+14079058827`), lowercase validated emails, 5-digit ZIPs, one-line addresses split into street / city / state.
- **Contact checks included**: numbering-plan validation with state and time zone for every phone, MX-based deliverability plus throwaway, role-address and free-mailbox flags for every e-mail — then filter the feed on what the checks found.
- **Lead score 0–100** on every record: freshness, phone, email, contact name, address, and entity type — sort by it or set a minimum.
- **Industry tags out of the box**: exact NAICS sector where the registry publishes a code (Connecticut, Los Angeles, Seattle, Baton Rouge), the registry's own category elsewhere, name-based inference as a fallback — Real Estate, Construction & Trades, Healthcare, Food & Beverage, Technology, Legal, Finance, Transportation, Beauty, and more.
- **Contact person**: registered agent, process agent, officer, or owner; business email for Connecticut and Orlando, phone for New York City, Seattle, Orlando, and New Orleans.
- **Geo targeting** by city or ZIP prefix.
- **Official, legal source** and pure HTTP — no browser, no proxies, low cost.

### Supported sources

#### State registries (new company formations)

| State | Contact | Phone / email | Fresh data | Notes |
|---|---|---|---|---|
| Connecticut (CT) | — | ✅ business email (≈95%) | Daily | ~200 new companies a day; entity type, NAICS code, full address, woman / veteran / minority-owned flags |
| New York (NY) | ✅ process agent | — | Daily | Formation filings only, county, filing type |
| Colorado (CO) | ✅ registered agent | — | Daily | 3M+ entities, agent name and address |
| Pennsylvania (PA) | ✅ officer name + role | — | Monthly | 4M+ entities, county |
| Oregon (OR) | — | — | Daily | Entity type and principal address |

#### City business licenses (newly opened businesses)

| City | Contact | Phone / email | Fresh data | Notes |
|---|---|---|---|---|
| Chicago, IL (CHI) | — | — | Daily | 1.2M licenses, new issues only, business activity |
| New York City, NY (NYC) | — | ✅ phone | Weekly | Business category, borough |
| Los Angeles, CA (LA) | — | — | Weekly | NAICS code and description |
| San Francisco, CA (SF) | ✅ owner | — | Daily | DBA and owner name |
| Seattle, WA (SEA) | — | ✅ phone | Daily | NAICS, ownership type |
| Orlando, FL (ORL) | ✅ owner | ✅ phone + email | Daily | License category, employees |
| Norfolk, VA (NFK) | ✅ owner | — | Daily | NAICS description |
| New Orleans, LA (NOLA) | ✅ owner | ✅ phone | Daily | Business type |
| Baton Rouge, LA (BTR) | ✅ contact person | — | Daily | NAICS, ownership type |

#### Funding signals (companies that just raised capital)

| Signal | Contact | Phone / website | Volume | What you get |
|---|---|---|---|---|
| SEC Form D — private funding rounds (`EDGAR_FORM_D`) | ✅ executive officer / director | ✅ issuer phone (≈100%) | ~40–60 companies per business day | Amount raised and round size, date of first sale, number of investors, security type, industry group, year of incorporation, all related persons, link to the filing |
| SEC Form C — equity crowdfunding campaigns (`EDGAR_FORM_C`) | ✅ CEO / founder (signatory) | ✅ company website | ~2–5 per business day | Target and maximum raise, deadline, security type (SAFE, equity, notes), funding platform (Wefunder, StartEngine, Republic…), employees, last-year revenue and net income |
| SEC Form 1-A — Regulation A+ offerings (`EDGAR_FORM_1A`) | ✅ named contact | ✅ phone | ~1 per business day | Offering size (up to $75M), tier, price per share, industry, employees, revenue, total assets, auditor |

Every US company that sells private securities — a seed round, a Series A, a real-estate syndication, a private placement — must file **Form D** with the SEC within 15 days of the first sale (investment funds and SPVs are filtered out by default). Companies raising from the crowd file **Form C** before the campaign opens — with their website and financials. Larger public-style offerings file **Form 1-A**. These are the most expensive leads in the feed: companies raising money hire, buy software, spend on marketing and switch vendors right after the round.

More states and cities are added on request — open an issue in the **Issues** tab.

### What data does it extract?

| Field | Example |
|---|---|
| `companyName` / `tradeName` | KLR PROPERTY HOLDINGS LLC |
| `leadScore` | 65 — freshness + phone + email + contact name + address + entity type |
| `sourceType` / `sourceName` | state\_registry / Connecticut · city\_license / Orlando, FL |
| `sources` / `sourceCount` | Every registry record merged into this row (source, registry number, license type) |
| `entityCategory` | LLC / CORPORATION / LP / LLP / NONPROFIT / SOLE\_PROPRIETORSHIP |
| `industryTags` / `industrySource` | \["Technology & Software"] / naics · category · name |
| `industry` / `naics` | Software Publishers / 513210 |
| `formationDate` | 2026-08-31 |
| `address`, `city`, `region`, `postalCode` | 660 Willow Wood Ln, Denver, CO, 80202 (ZIP always 5 digits) |
| `contactName` / `contactRole` | Esmeralda Mendez Sanchez / Registered agent |
| `contactPhone` / `contactEmail` | +14079058827 (E.164) / owner@example.com (where published) |
| `phoneStatus` / `phoneType` | valid · invalid / geographic · toll\_free · premium |
| `phoneState` / `phoneTimezone` / `phoneMatchesState` | WA / America/Los\_Angeles / true — call inside business hours, spot out-of-state answering services |
| `phoneTimezoneOptions` | \["America/Denver", "America/Los\_Angeles"] — both zones for the 22 area codes that straddle a boundary, instead of a confident wrong answer |
| `emailStatus` / `emailReason` | deliverable · risky · undeliverable · unknown / disposable\_domain · domain\_not\_found · domain\_accepts\_no\_mail · possible\_typo |
| `emailIsRole` / `emailIsFree` / `emailIsDisposable` | false / true / false — info@ vs a person, Gmail vs a company domain, throwaway inbox |
| `emailProvider` / `emailSuggestion` | google · microsoft · zoho · godaddy · proofpoint / gmail.com when the domain looks mistyped |
| `filingType`, `registryNumber`, `sourceUrl` | ARTICLES OF ORGANIZATION, registry ID, record link |
| `summary` | "New LLC (Food & Beverage) in Brooklyn, NY: …, registered 2 days ago (New York City, NY), phone available." — one line for AI agents, Slack and spreadsheets |
| `contactType` / `addressType` | owner · officer · registered\_agent · filer · contact / principal · mailing · agent — know who you are calling and whose address it is |
| `latitude` / `longitude` / `distanceMiles` | 40.7580 / -73.9855 / 1.2 (where the portal geocodes; distance when `near` is set) |
| `type` / `signal` | filing · signal / FUNDING\_ROUND · CROWDFUNDING\_CAMPAIGN · REG\_A\_OFFERING |
| `website` / `platform` | https://oravanti.com / Wefunder Portal LLC (crowdfunding signals) |
| `employees`, `revenueLastFiscalYear`, `netIncomeLastFiscalYear` | 2, 75000, -521469 (crowdfunding and Reg A+ signals) |
| `fundingAmountSold` / `fundingOfferingAmount` | 3767680 / 5000000 (USD, funding signals only) |
| `dateOfFirstSale`, `investorCount`, `securityTypes` | 2026-08-20, 32, \["Equity"] |
| `relatedPersons` | \[{ "name": "Kristopher Kessler", "roles": \["Director"], "title": "CEO" }] |
| `yearOfIncorporation`, `jurisdictionOfInc`, `cik` | 2026, DELAWARE, 2146969 |

### Phone and e-mail checks built into the feed

Registries publish contacts exactly as the filer typed them. In a real sample of
1,189 fresh records this Actor found **6 throwaway addresses** (`yopmail.com`),
**3 domains that do not exist**, **1 domain that accepts no mail at all**, and a
phone number that breaks the North American numbering plan. Every one of those
would have been a bounce or a wasted dial.

Leave **Check phone numbers and e-mail domains** on and each record arrives already checked:

**Phone.** Validated against the numbering plan — area codes and exchanges are
checked against the rules and against the fourteen exchange codes that are never
assigned to subscribers — then formatted for humans and tagged with the state and
time zone of its area code, and with whether the number is toll-free, premium rate
or non-geographic. The area-code table comes from NANPA's own public database, so
new codes appear as they enter service. Twenty-two area codes straddle a time-zone
boundary; for those the Actor lists both zones rather than picking one.
`phoneMatchesState` tells you whether the number belongs to the state the business
is registered in — a mismatch usually means an answering service or a virtual office.

**E-mail.** Syntax, then a live MX lookup: does the domain actually accept mail?
Plus the mailbox provider (Google Workspace, Microsoft 365, Zoho, GoDaddy…),
whether the address is a role account (`info@`, `sales@`), whether it is a free
consumer mailbox rather than a company domain, whether the domain is a known
throwaway service, and a suggested correction when it looks mistyped.

**What these checks are not.** They are deliverability signals about the *domain*,
not proof that one specific mailbox exists. Mailbox-level probing needs an SMTP
conversation on port 25, which cloud platforms block outright — any tool claiming
per-mailbox certainty from a serverless run is guessing. Nothing here is sent to a
third-party service: it is DNS plus open reference data, so the checks cost nothing
and leak nothing.

Then filter the feed on what the checks found with **Keep only leads with**:
everything, a phone or an e-mail, a valid phone or a deliverable e-mail, a
deliverable e-mail, or a deliverable e-mail addressed to a person rather than to
`info@`. The lead score follows the same evidence, so a record whose only contact
turned out to be undeliverable no longer outranks one you can actually reach.

### How much does it cost to get new business leads?

Pricing is **pay per result**: you are charged only for the records actually returned, with no subscription. Free monthly usage included with every Apify account covers a first territory list. Because every source is an open JSON API with no browser or proxies, platform compute is negligible — thousands of records cost cents. See the **Pricing** tab for the current price per 1,000 records.

### New business leads: this Actor vs. subscription list services

| | Subscription list services and data brokers | US New Business Leads |
|---|---|---|
| Pricing | Monthly subscription, often with per-state or per-record tiers, annual contracts | Pay per result, no subscription — pay only for the records you pull |
| Freshness | Weekly or monthly batches | Daily, straight from the registry the day it publishes |
| Source | Resold registry data, provenance rarely shown | Official open-data portals and SEC EDGAR, with a link back to the record |
| Contact transparency | "Contact name" without saying who it is | `contactType` tells you owner vs. registered agent; `addressType` tells whose address it is |
| Funding signals | Separate product | Included: Form D, C and 1-A |
| Integration | CSV download, sometimes an API | API, webhooks, n8n / Make / Zapier / Google Sheets / HubSpot, MCP for AI agents |
| Territory tools | State-level lists | City, ZIP prefix, radius from a point, industry, entity type, lead score, blocklist |

Same public records, without the middleman markup — the Actor reads what the state and the SEC publish, so the platform cost is cents per thousand records.

### How to set up a daily new-business lead feed

1. Pick **states** and/or **cities** (or `ALL`), turn on **Monitor mode (onlyNew)**, and optionally set **industries**, **city**, or **ZIP starts with**.
2. Click **Start** once to seed the memory; the first run returns everything since `registeredSince`.
3. Add a **Schedule** (e.g. every morning) and a **webhook** or integration — HubSpot, Google Sheets, Slack, n8n, Make, Zapier.
4. Every scheduled run delivers only businesses registered since the last run — no duplicates.

### ⬇️ Input

[![US New Business Leads input form on Apify: quick-start presets, states, cities, funding signals, radius](https://raw.githubusercontent.com/lergassy/apify-actor-assets/main/us-business-filings/us-business-filings-input-form.png)](https://console.apify.com/sign-up)

```json
{
    "states": ["NY", "CO"],
    "cities": ["NYC", "CHI", "ORL"],
    "onlyNew": true,
    "industries": ["Real Estate", "Construction", "Food"],
    "maxResultsPerState": 2000
}
```

| Field | Required | Description |
|---|---|---|
| `preset` | no | `local_leads_with_phones`, `connecticut_email_leads`, `funded_startups` or `custom` (default) — presets set sources and contact filters |
| `requireContact` | no | Only records with a phone or email |
| `states` | no | State codes, or `ALL` |
| `cities` | no | City codes, or `ALL` |
| `signals` | no | `["EDGAR_FORM_D", "EDGAR_FORM_C", "EDGAR_FORM_1A"]` — add companies raising capital |
| `near` / `radiusMiles` | no | `"40.7580,-73.9855"` + `5` — only businesses within a radius of a point |
| `excludeNames` | no | Your existing customers or a blocklist; matched ignoring case, punctuation and LLC/Inc. |
| `includeFunds` | no | Also return investment funds and SPVs from EDGAR (default off) |
| `onlyNew` | no | Monitor mode — only records not delivered before |
| `registeredSince` | no | `YYYY-MM-DD`, on or after; set automatically in monitor mode |
| `newFormationsOnly` | no | Drop renewals/non-formation filings (default on) |
| `minLeadScore` | no | Keep only records scoring at least this (e.g. `50` ≈ has real contact details) |
| `mergeDuplicates` | no | One row per business across sources (default on) |
| `industries` | no | Keep only these industry tags |
| `entityTypeContains` | no | `LLC`, `CORP`, `LP`, `NONPROFIT` |
| `cityContains` / `zipPrefix` | no | Geo targeting |
| `nameContains` | no | Full-text search on company name |
| `maxResultsPerState` | no | Per-source cap (default 1000) |
| `monitorStoreName` | no | Separate memories for separate feeds (one per client) |

#### Build a territory list for one vertical

Set `cities` to `["NYC"]`, `industries` to `["Food"]` and `zipPrefix` to `"112"` to get every newly licensed food business in Brooklyn — with phone numbers.

#### Get only freshly funded companies

Set `states` and `cities` to `[]`, `signals` to `["EDGAR_FORM_D", "EDGAR_FORM_C", "EDGAR_FORM_1A"]` and `onlyNew` to `true`. Every scheduled run returns the companies that filed a funding notice since the last run — with the amount, the executive officer, the phone number or the website.

#### Everything within 5 miles of your office

Set `cities` to `["NYC"]`, `near` to `"40.7580,-73.9855"` and `radiusMiles` to `5`. Each record gets a `distanceMiles` field. Add `excludeNames` with your current customers so they never come back as leads.

### ⬆️ Output

[![New business filings dataset preview: state, company, type, industry, filed date, city, contact](https://raw.githubusercontent.com/lergassy/apify-actor-assets/main/us-business-filings/us-business-filings-output-table.png)](https://console.apify.com/sign-up)

One business per dataset item.

```json
{
    "type": "filing",
    "leadScore": 70,
    "sourceType": "city_license",
    "source": "ORL",
    "sourceName": "Orlando, FL",
    "companyName": "ATTUNED CHILD CENTER",
    "entityCategory": "UNKNOWN",
    "industry": "Child Care Services",
    "industryTags": ["Childcare"],
    "industrySource": "category",
    "formationDate": "2026-09-01",
    "address": "2849 S ORANGE AVE STE 350",
    "city": "Orlando",
    "region": "FL",
    "contactName": "Aimee Miller",
    "contactRole": "Owner",
    "contactPhone": "+14079058827",
    "contactEmail": "owner@example.com",
    "registryNumber": "BUS-1104045",
    "sourceCount": 2,
    "sources": [
        { "source": "ORL", "registryNumber": "BUS-1104045", "licenseType": "Business Tax Receipt" },
        { "source": "ORL", "registryNumber": "BUS-1104112", "licenseType": "Business Tax Receipt" }
    ]
}
```

#### Funding signal (SEC EDGAR Form D)

[![Funded startups feed from SEC EDGAR Form D: company, amount raised, first sale, industry, executive officer, phone](https://raw.githubusercontent.com/lergassy/apify-actor-assets/main/us-business-filings/us-business-filings-funding-signals.png)](https://console.apify.com/sign-up)

```json
{
    "type": "signal",
    "signal": "FUNDING_ROUND",
    "leadScore": 85,
    "sourceName": "SEC EDGAR Form D",
    "companyName": "D5Cash Inc.",
    "entityCategory": "CORPORATION",
    "yearOfIncorporation": "2024",
    "jurisdictionOfInc": "DELAWARE",
    "industry": "Other Technology",
    "industryTags": ["Technology & Software"],
    "formationDate": "2026-08-31",
    "dateOfFirstSale": "2026-07-27",
    "fundingAmountSold": 4000000,
    "fundingOfferingAmount": 4000000,
    "investorCount": 5,
    "securityTypes": ["Debt", "Option / warrant"],
    "revenueRange": "$1 - $1,000,000",
    "city": "NEWARK",
    "region": "DE",
    "postalCode": "19713",
    "contactName": "Aryn Chadha",
    "contactRole": "Executive Officer",
    "contactPhone": "+14083868873",
    "relatedPersons": [{ "name": "Aryn Chadha", "roles": ["Executive Officer"], "title": null }],
    "cik": "2075147",
    "sourceUrl": "https://www.sec.gov/Archives/edgar/data/2075147/000207514726000001/xslFormDX01/primary_doc.xml"
}
```

### Use cases for new business data

#### SDR and sales teams

New companies need banking, insurance, payroll, accounting, software, and marketing. Be the first vendor they hear from — and call the owner directly where a phone is published.

#### Local agencies and vendors

Build territory lists by city or ZIP, filtered to your vertical.

#### SaaS, recruiters and service providers selling to funded startups

Turn on the EDGAR funding signal: companies that closed a round in the last two weeks, with the executive officer's name and the company phone — before the news hits Crunchbase.

#### Investors and researchers

Track business formation trends by state, city, and industry in near real time, and see who is raising private capital where.

#### CRM pipelines

A daily, de-duplicated sync into HubSpot or Google Sheets via webhook.

### Integrations and new business leads API

Use the monitor as a new-business-leads API through the [Apify API](https://docs.apify.com/api/v2) and the JavaScript or Python client, or connect it without code to HubSpot, Google Sheets, Slack, n8n, Make, Zapier, and webhooks. It also works with the Apify MCP server for AI sales agents.

#### n8n template: daily new business leads → Google Sheets + Slack

Ready-made workflow: a schedule trigger runs the Actor every morning in monitor mode, appends the new leads to a Google Sheet (one column per field, including the plain-English `summary`) and posts a digest to Slack. [Download the workflow JSON](https://raw.githubusercontent.com/lergassy/apify-actor-assets/main/us-business-filings/n8n-new-business-leads-to-google-sheets.json), import it in n8n (**Workflows → Import from file**), add your Apify API token as a *Header Auth* credential (`Authorization: Bearer <token>`), pick a spreadsheet, and switch the preset if you want Connecticut email leads or funded startups instead of local businesses with phones. The same call works from Make and Zapier through the Apify module, or from any tool with the `run-sync-get-dataset-items` endpoint shown in the **API** tab.

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("lergassy/us-business-filings").call(run_input={
    "states": ["NY"], "cities": ["NYC", "CHI"], "onlyNew": True, "industries": ["Real Estate"],
})
for lead in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(lead["companyName"], lead["city"], lead.get("contactPhone"))
```

### 🤖 For AI Agents & LLM Apps

Compact reference for agents calling this Actor through the [Apify MCP server](https://mcp.apify.com) or the Apify API (`lergassy/us-business-filings`).

**Purpose:** returns businesses registered in the United States in the last few
days — from five state registries, nine city licence feeds and SEC EDGAR funding
filings — as one de-duplicated row per business, with the phone and e-mail already
checked. Use it to answer "who just opened a business here", "which companies in
this industry registered this week" and "who just raised money".

**Minimal input:**

```json
{ "preset": "local_leads_with_phones", "registeredSince": "2026-08-27", "maxResultsPerState": 200 }
```

**Output:** one dataset row per business — `companyName`, `tradeName`,
`formationDate`, `entityCategory`, `sourceName`, `sourceType`, `sources[]`,
`address`, `city`, `region`, `postalCode`, `latitude`, `longitude`,
`contactName`, `contactRole`, `contactType`, `contactPhone`, `phoneStatus`,
`phoneType`, `phoneState`, `phoneTimezone`, `phoneTimezoneOptions`, `phoneMatchesState`, `contactEmail`,
`emailStatus`, `emailReason`, `emailIsRole`, `emailIsFree`, `emailIsDisposable`,
`emailProvider`, `industryTags`, `naics`, `registryNumber`, `sourceUrl`,
`leadScore` (0–100) and `summary` (a ready sentence to quote back to a user).
Funding records arrive in the same dataset with `type: "signal"` and add
`fundingAmountSold`, `fundingOfferingAmount`, `website`, `investorCount` and `cik`.

**Behaviors an agent should know:**

- `preset` overrides `states`, `cities`, `signals` and `requireContact`. To control
  sources yourself, leave `preset` at `custom`.
- Always set `maxResultsPerState` (default 1000, per source). Runs stay well under
  five minutes at a few thousand rows.
- `registeredSince` is an ISO date and defaults to the last seven days under a preset.
  Registries publish with a lag of one to three days, so "today" is often empty.
- `emailStatus` is a signal about the **domain**, not proof that a mailbox exists:
  cloud platforms block outbound port 25, so no serverless tool can prove otherwise.
  Treat `deliverable` as "worth sending", `risky` as "check first", `undeliverable`
  as "do not send".
- To hand a user only reachable leads, set `contactQuality` to `valid_contact` or
  `deliverable_email_person` rather than filtering rows yourself.
- `onlyNew: true` remembers what was already returned in a named key-value store,
  so a scheduled agent never repeats a lead.
- Billing is pay per event: one event per returned lead, plus one per contact check
  when checks are on. No charge for rows filtered out before output.
- Every field is flat except `sources[]` and `relatedPersons[]`. Rows never contain
  HTML, so they can go straight into a prompt.

### ❓ FAQ

#### Where does the data come from?

Official US open-data portals — state registries (data.ny.gov, data.colorado.gov, data.pa.gov, data.oregon.gov, data.ct.gov) and city license feeds (data.cityofchicago.org, data.cityofnewyork.us, data.lacity.org, data.sfgov.org, cos-data.seattle.gov, data.cityoforlando.net, data.norfolk.gov, data.nola.gov, data.brla.gov). These are public datasets published for programmatic use; the Actor does not bypass any access controls.

#### Is it legal to use new business filing data?

It is public government open data intended for reuse. Review each portal's terms and consult a lawyer for your use case, especially for outreach compliance (e.g. TCPA for phone calls).

#### How fresh is the data?

Most sources update daily; New York City and Los Angeles weekly; Pennsylvania monthly. Monitor mode returns only what is new.

#### How does monitor mode avoid duplicates?

Delivered records and business keys are stored in a named key-value store and skipped next run, with a 2-day overlap window so late-published records are not missed. A business that gets a second license later is not delivered again.

#### Why is one company shown once when it has several filings?

The Actor merges records that describe the same business — same name (legal suffixes ignored), same state, same ZIP — into one row. Contact details are combined and every underlying record is listed in `sources`. Turn `mergeDuplicates` off to get every raw record.

#### What is the lead score?

A 0–100 number that says how actionable the record is: up to 30 points for freshness (registered this week), 25 for a phone, 15 for an email, 10 for a named contact, 10 for an LLC or corporation, 5 each for a street address and an industry tag. Set `minLeadScore` to 50 to keep only businesses you can actually reach.

#### Can I get emails or phone numbers?

Yes where the registry publishes them: email for almost every new Connecticut company and in Orlando; phone in New York City, Seattle, Orlando, and New Orleans. Other state registries publish an address and a contact person. Phones are normalized to E.164 and emails validated, so they drop straight into a dialer or CRM.

#### How accurate are industry tags?

Where the source publishes a NAICS code the tag is the exact sector (`industrySource: "naics"`); a registry category gives a keyword-based tag (`"category"`); otherwise the tag is inferred from the company name (`"name"`), and about half of such companies receive one. Untagged businesses are still returned unless you filter by industry.

#### Can I use it with the Apify API or an MCP server?

Yes — see the **API** tab for snippets, and connect the Apify MCP server for AI agents.

#### What is a funding signal and where does it come from?

SEC EDGAR filings: Form D — the notice every US issuer files within 15 days of selling private securities (Regulation D); Form C — the offering statement for equity crowdfunding campaigns (Regulation CF); Form 1-A — the offering statement for Regulation A+ raises. The Actor reads the daily EDGAR index and each filing's XML from sec.gov (official, free, no key, within the SEC's 10-requests-per-second rule). Investment funds, VC/PE vehicles and SPVs are dropped unless `includeFunds` is on; amendments are not returned as new rounds.

#### Is the contact the owner or a registered agent?

Check `contactType`: `owner` (city licenses, San Francisco, Orlando, Norfolk, New Orleans), `officer` (Pennsylvania, EDGAR signals), `registered_agent` (New York, Colorado — a law firm or agent service, not the founder), `filer`, or `contact`. `addressType` says whether the address is the business's own (`principal`), a `mailing` address, or the `agent`'s. The lead score counts a named contact regardless of type, so filter on `contactType` when you need the owner.

#### Can I filter by distance from a point?

Yes — set `near` to `"latitude,longitude"` and `radiusMiles`. Coordinates come from the portals that geocode their records (Chicago, New York City, Los Angeles, San Francisco, Norfolk, New Orleans, Pennsylvania); records without coordinates are skipped when `near` is set.

#### Which states or cities will you add next?

Any with an open-data registry or license feed — tell us which one you need in the Issues tab.

### Your feedback

Need another state, city, or field? Open an issue in the **Issues** tab. If the feed brought you a client, a review helps other sales teams find it.

### You might also like

| Actor | What it does |
|---|---|
| [Airbnb Scraper](https://apify.com/lergassy/airbnb-scraper) | Airbnb listings for any place and dates: nightly price, rating, beds, amenities, host |
| [Agoda Reviews Scraper](https://apify.com/lergassy/agoda-reviews-scraper) | Hotel reviews from Agoda, including the Booking.com reviews shown on Agoda |
| [Tokopedia Reviews Scraper](https://apify.com/lergassy/tokopedia-reviews-scraper) | Product reviews from any shop on Indonesia's largest marketplace |
| [Google Flights Scraper](https://apify.com/lergassy/google-flights-scraper) | Flight prices, airlines, stops and times by route and dates |
| [Email & Phone Verifier](https://apify.com/lergassy/email-phone-verifier) | Checks e-mails and phone numbers in bulk: deliverability, throwaway and role flags, numbering plan, US state and time zone |

# Actor input Schema

## `preset` (type: `string`):

Pick a ready-made lead feed and click Start — the preset sets sources and filters for you. Choose <b>Custom</b> to use the fields below exactly as you set them.

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

State registries (new company formations). Supported: <code>NY</code>, <code>CO</code>, <code>PA</code>, <code>OR</code>, <code>CT</code>. Use <code>ALL</code> for every supported state, or leave empty to use cities only.

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

Municipal business-license feeds (newly opened businesses, often with owner name and phone). Supported: <code>CHI</code> Chicago, <code>NYC</code> New York City, <code>LA</code> Los Angeles, <code>SF</code> San Francisco, <code>SEA</code> Seattle, <code>ORL</code> Orlando, <code>NFK</code> Norfolk, <code>NOLA</code> New Orleans, <code>BTR</code> Baton Rouge. Use <code>ALL</code> for every city.

## `signals` (type: `array`):

Add companies that are raising money, from official SEC EDGAR filings (free, no key). <b>Form D</b>: private rounds (seed, VC, private placements) — amount sold, investors, executive officers, phone. <b>Form C</b>: equity crowdfunding campaigns (Wefunder, StartEngine, Republic) — target, platform, website, revenue, employees. <b>Form 1-A</b>: Regulation A+ offerings up to $75M — contact name, phone, financials. Investment funds and SPVs are excluded unless you turn on <b>Include investment funds</b> below.

## `registeredSince` (type: `string`):

Only businesses registered or licensed on or after this date. Leave empty for the newest records. In monitor mode this is set automatically from the last run.

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

Limit records pulled per state or city

## `requireContact` (type: `boolean`):

Drop businesses that come without a phone number or email address.

## `verifyContacts` (type: `boolean`):

Validate every phone number against the North American numbering plan and check whether each e-mail domain can receive mail (MX lookup), then add the result to each record. Adds a few seconds per run.

## `contactQuality` (type: `string`):

Filter the feed by what the contact checks found. The stricter options need <b>Check phone numbers and e-mail domains</b> switched on.

## `minLeadScore` (type: `integer`):

Every business gets a <code>leadScore</code>: fresh registration, phone, email, contact name, street address and a company entity type (LLC/Corp) add points. Set e.g. <code>50</code> to keep only records with real contact details.

## `industries` (type: `array`):

Keep only businesses tagged with these industries, e.g. <code>Real Estate</code>, <code>Construction</code>, <code>Healthcare</code>, <code>Food</code>, <code>Technology</code>, <code>Legal</code>, <code>Finance</code>, <code>Transportation</code>, <code>Beauty</code>. Tags come from the registry's own category or NAICS where available, otherwise from the company name.

## `newFormationsOnly` (type: `boolean`):

Keep only records that create a business: new formations in New York (drops biennial statements, amendments, dissolutions) and newly issued licenses in Chicago (drops renewals).

## `onlyNew` (type: `boolean`):

Remembers every record already delivered and returns only new ones next time. Schedule this Actor daily and get a clean feed of fresh businesses without duplicates.

## `entityTypeContains` (type: `string`):

Filter by type keyword: <code>LLC</code>, <code>CORP</code>, <code>LP</code>, <code>NONPROFIT</code>

## `cityContains` (type: `string`):

Only businesses whose city matches, e.g. <code>Brooklyn</code>

## `zipPrefix` (type: `string`):

Only businesses whose ZIP starts with this, e.g. <code>112</code> for Brooklyn

## `nameContains` (type: `string`):

Full-text search on company name

## `near` (type: `string`):

Only businesses within <b>Radius</b> of this point, e.g. <code>40.7128,-74.0060</code> for Manhattan. Uses the coordinates the portal publishes (Chicago, New York City, Los Angeles, San Francisco, Norfolk, New Orleans, Pennsylvania); records without coordinates are skipped.

## `radiusMiles` (type: `integer`):

Distance from the <b>Near</b> point

## `excludeNames` (type: `array`):

Company names to skip — paste your existing customers or blocklist. Matched ignoring case, punctuation and legal suffixes (LLC, Inc.).

## `mergeDuplicates` (type: `boolean`):

One business per row: the same company appearing twice (two licenses, a registry record and a city license) is merged, contact details are combined and every source is listed in <code>sources</code>.

## `includeFunds` (type: `boolean`):

Also return Form D filings by pooled investment funds, venture-capital and private-equity vehicles and SPVs. Off by default: these are not operating businesses.

## `monitorStoreName` (type: `string`):

Name of the key-value store that remembers delivered records in monitor mode. Use different names to run several independent feeds (e.g. one per client).

## `appToken` (type: `string`):

Optional Socrata app token for higher rate limits

## `proxyConfiguration` (type: `object`):

Optional. Not required — this Actor uses public open-data APIs.

## Actor input object example

```json
{
  "preset": "custom",
  "states": [
    "NY",
    "CO",
    "PA",
    "OR",
    "CT"
  ],
  "cities": [],
  "signals": [
    "EDGAR_FORM_D",
    "EDGAR_FORM_C",
    "EDGAR_FORM_1A"
  ],
  "registeredSince": "2026-08-01",
  "maxResultsPerState": 1000,
  "requireContact": false,
  "verifyContacts": true,
  "contactQuality": "any",
  "minLeadScore": 0,
  "newFormationsOnly": true,
  "onlyNew": false,
  "radiusMiles": 25,
  "mergeDuplicates": true,
  "includeFunds": false,
  "monitorStoreName": "us-business-filings-monitor",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `filings` (type: `string`):

One row per business: company name, registration date, address, industry, contact person, phone and e-mail with their check results, and a 0-100 lead score. Funding signals from SEC EDGAR appear in the same dataset with type = signal.

# 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",
        "PA",
        "OR",
        "CT"
    ],
    "cities": [],
    "signals": [
        "EDGAR_FORM_D",
        "EDGAR_FORM_C",
        "EDGAR_FORM_1A"
    ],
    "registeredSince": "2026-08-01"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lergassy/us-business-filings").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",
        "PA",
        "OR",
        "CT",
    ],
    "cities": [],
    "signals": [
        "EDGAR_FORM_D",
        "EDGAR_FORM_C",
        "EDGAR_FORM_1A",
    ],
    "registeredSince": "2026-08-01",
}

# Run the Actor and wait for it to finish
run = client.actor("lergassy/us-business-filings").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",
    "PA",
    "OR",
    "CT"
  ],
  "cities": [],
  "signals": [
    "EDGAR_FORM_D",
    "EDGAR_FORM_C",
    "EDGAR_FORM_1A"
  ],
  "registeredSince": "2026-08-01"
}' |
apify call lergassy/us-business-filings --silent --output-dataset

```

## MCP server setup

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

```

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/ijeMFGnK7H4W2kf3c/builds/umu7n9XgkMEOSzdh9/openapi.json
