US Business Entity Filings — New LLC & Corp Registrations Daily avatar

US Business Entity Filings — New LLC & Corp Registrations Daily

Pricing

Pay per usage

Go to Apify Store
US Business Entity Filings — New LLC & Corp Registrations Daily

US Business Entity Filings — New LLC & Corp Registrations Daily

Scrape fresh LLC, Corp, and LP filings from US Secretary of State portals daily. NY, FL, CO, CT today — all 50 states coming. Filter by filing date to get new businesses the moment they register. For sales leads, KYC, compliance, and due diligence.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

PaxIQ

PaxIQ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Get fresh business filings (LLC, Corp, LP, LLP, etc.) from US Secretary of State portals the moment they're registered — ideal for sales prospecting, KYC, compliance monitoring, and competitive intelligence.

Why this actor? Every new business is a warm lead. Solar installers, insurance agents, accountants, lawyers, and SaaS companies all use new LLC registrations to find prospects before the competition does. Filter by filing date to pull only today's new registrations.

Coverage today: NY, FL, CO, CT (4 states, ~4,000+ new entities/day). All 50 states in progress.

Phase 1 States

StateSourcePlatformNotes
NYdata.ny.govSocrata SODADaily filing data
CTdata.ct.govSocrata SODABusiness registry
COsos.state.co.usHTML form scrapeDate-filter POST
FLdos.fl.gov/sunbizJSON APIsunbiz.org

Output Schema (14 fields)

FieldDescription
entity_nameBusiness name
entity_typeLLC, Corporation, LP, LLP, etc.
state2-letter state code
state_entity_idState's internal ID/entity number
filing_dateYYYY-MM-DD formation/filing date
statusActive, Inactive, Dissolved, etc.
registered_agentRegistered agent name
principal_addressPrincipal business address
agent_addressRegistered agent address
ownersComma-separated officer/member names
countyCounty if available
source_platformsocrata / portal_scrape / fl_sunbiz
source_urlPortal URL
scraped_atISO UTC timestamp

Apify Input

{
"states": ["NY", "FL"],
"startDate": "2025-01-01",
"endDate": "2025-01-31",
"maxResults": 10000,
"socrataAppToken": "optional-token"
}
FieldTypeDefaultDescription
statesarrayall2-letter state codes to scrape
startDatestringyesterdayYYYY-MM-DD start date
endDatestringyesterdayYYYY-MM-DD end date
maxResultsinteger10000Max records per state
socrataAppTokenstringSocrata app token (boosts rate limits for NY/CT)

Local Development

# Install deps
pip install -r requirements.txt
# Run all configured states (yesterday's filings)
python src/main.py
# Run specific states
python src/main.py --states NY CT --start 2025-01-01 --end 2025-01-31
# Test individual scrapers
python src/socrata_scraper.py --state NY --start 2025-01-01 --end 2025-01-02 --max 5
python src/colorado_scraper.py --start 2025-01-01 --end 2025-01-02 --max 10
python src/florida_scraper.py --start 2025-01-01 --end 2025-01-02 --max 10

File Structure

biz-filings/
├── .actor/
│ ├── actor.json Apify actor metadata + dataset schema
│ └── input_schema.json Apify UI input form
├── src/
│ ├── main.py Async Apify entry point
│ ├── router.py STATE_REGISTRY + scraper dispatch
│ ├── normalize.py Raw → 14-field normalized schema
│ ├── socrata_scraper.py NY + CT (Socrata SODA API)
│ ├── colorado_scraper.py CO (HTML form POST + table parse)
│ └── florida_scraper.py FL (sunbiz.org JSON API)
├── Dockerfile apify/actor-python:3.11 base
├── requirements.txt httpx, beautifulsoup4, apify
└── README.md

Architecture

main.py
└─ router.py (STATE_REGISTRY dispatch)
├─ socrata_scraper.py → NY, CT
├─ colorado_scraper.py → CO
└─ florida_scraper.py → FL
▼ raw dicts
normalize.py → 14-field standard record
Apify dataset / output/XX_filings.json

Rate Limiting

  • Between pages: 0.5s delay
  • Between states: 2.0s delay
  • Colorado detail pages: 0.3s delay per entity (fetch_details=True)

Adding New States (Phase 2)

  1. Add entry to STATE_REGISTRY in router.py
  2. Add a fetch_filings() function in a new <state>_scraper.py
  3. Add field aliases to normalize.py's pick() chains
  4. Test with python src/<state>_scraper.py --start ... --end ...