A business that registered this week needs almost everything: a bank account, insurance, an accountant, payroll, a website, a logo and signage. If you sell any of those, the people who just filed an LLC are some of your warmest prospects, and they're easiest to win in their first few days.
This guide shows how to get those new filings from official state records using the New LLC and Business Registrations Actor on Apify.
The problem
New business filings are public, but each state publishes them differently. Some states offer open-data portals and others only have a search box. Every portal uses different field names, and most aren't set up to show "everything filed this week."
The manual way (and why it hurts)
You could go to each Secretary of State website and search by date, if the site even allows it, then copy the results into a spreadsheet. Some states sell bulk data files, which cost money and still need cleanup. Either way you're standardizing columns from different states by hand, and repeating the whole thing every week.
The sources
The Actor currently covers three states with daily-updated open data:
| State | Dataset | Extras |
|---|---|---|
| New York | data.ny.gov Active Corporations | county, registered agent |
| Colorado | data.colorado.gov Business Entities | registered agent, link to the SOS record |
| Connecticut | data.ct.gov Business Registry | business email, NAICS industry, ownership flags |
Everything is normalized into one schema, so a filing from Connecticut looks the same as one from New York.
Step 1: Configure the input
Open the Actor page and click Try for free. The default input:
{
"states": [
"NY",
"CO",
"CT"
],
"daysBack": 7,
"onlyWithEmail": false,
"maxItemsPerState": 20
}
Other options:
-
dateFrom/dateTo: an exact filing-date range inYYYY-MM-DDformat. -
entityCategories:LLC,Corporation,Nonprofit,PartnershiporOther. -
nameKeyword: only names containing a word, for exampleTRUCKINGorCLEANING. This is a quick way to target an industry. -
onlyWithEmail: Connecticut only, since it's the only state that publishes email. Other states are skipped when this is on.
Step 2: Read the output
| state | name | entityType | filingDate | city | county |
|---|---|---|---|---|---|
| NY | 1 WORLD VIEW HOLDING LLC | Domestic Limited Liability Company | 2026-10-28 | New York | New York |
| NY | 100 BRYANT WOODS SOUTH LLC | Domestic Limited Liability Company | 2026-10-28 | Amherst | Erie |
| NY | 100 LOVEJOY LLC | Domestic Limited Liability Company | 2026-10-28 | Pleasantville | Westchester |
Full records also include category, entity ID, status, jurisdiction of formation, address, ZIP, registered agent, and a link to the state record where available. Connecticut rows add email, naics and ownership flags such as woman-, veteran- or minority-owned.
Registries usually post filings one to two days after they're made, so the newest dates will lag slightly.
Step 3: Schedule it
A one-off export is useful, but the real value is getting new records on a timetable without thinking about it.
- In Apify Console, open Schedules and click Create new.
- Set the cron expression. For example,
0 8 * * 1-5runs it at 8:00 every weekday. - Add the Actor (New LLC and Business Registrations) and paste the same input JSON you used above.
- Optional: under the Actor's Integrations tab, connect Google Sheets, Slack, Zapier, Make or a webhook so each finished run lands where your team already works.
Set daysBack to cover the gap between runs (for example 3 for a run that also catches the weekend) and de-duplicate on entityId.
Step 4: Run it from Python with apify-client
If you'd rather pull the data into your own scripts or CRM, use the official apify-client package (pip install apify-client). Grab your API token from Settings > API & Integrations in Apify Console and keep it in an environment variable rather than in code.
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
"states": [
"NY",
"CO",
"CT"
],
"daysBack": 3,
"onlyWithEmail": False,
"maxItemsPerState": 20,
"nameKeyword": "CONSTRUCTION"
}
run = client.actor("perskekits/new-business-registrations").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("state"), item.get("name"), item.get("filingDate"), item.get("city"))
Filtering by nameKeyword plus a short daysBack gives you a small, focused list you can review by hand each morning.
What it costs
The Actor uses Apify's pay-per-event pricing, so you pay for results, not for server time:
- $0.005 per run start
- $0.005 per business returned
For example, 100 businesses cost about $0.505, and 1,000 businesses cost about $5.01. Apify's free plan includes a small amount of monthly platform credit, which is enough to try small runs. Check the Actor's pricing tab for the current rates before you run anything large.
FAQ
Which states are covered?
New York, Colorado and Connecticut. Requests for other states are welcome on the Actor's Issues tab.
Do the records include emails?
Only Connecticut publishes a business email. The other states give you a name, address and registered agent.
How quickly do new filings appear?
Usually one to two days after filing, depending on the registry.
Is it legal to use these leads?
The data comes from official public registries. You're responsible for following CAN-SPAM, TCPA and other applicable rules in your outreach. Keep in mind that a registered agent address isn't always the business's own address.
Wrapping up
New businesses are actively shopping for vendors, and state records tell you exactly who they are. Set up a schedule and get a clean list every day. Try the New Business Registrations Actor.
Top comments (0)