Find newly registered Florida businesses by ZIP code

Every business day the State of Florida publishes the companies formed that day. This guide turns that file into a list of brand-new LLCs (or corporations) in the ZIP codes you sell to: company name, State document number, filing date, principal address and city, mailing city, a company registered agent where there is one, and how many officers are listed. It is for anyone who sells to new businesses in an area: insurance, accounting and payroll, banking, signage, web design, office fit-out.

What you get

From a run on 1 October 2026 with the default settings (Florida LLCs, ZIP codes 33401 and 33480, State daily file of 30 September 2026). Street addresses are delivered too; they are left out of this page.

document_number entity_name file_date principal_city principal_zip officers_listed
L26000497280 DUBBYA, HAMMER & KEY, LLC 2026-09-23 PALM BEACH 33480 1
L26000496223 CMG BARINGTON MANAGEMENT LLC 2026-10-01 WEST PALM BEACH 33401 1
L26000496475 RPSTOPCO LLC 2026-09-23 PALM BEACH 33480 2

The CSV or sheet gets 19 columns: document_number (the State's ID, used to avoid duplicates), entity_name, filing_type_label, status, file_date, posted_date, state_or_country_of_formation, principal address (principal_address_1, principal_address_2, principal_city, principal_state, principal_zip), mailing_city, mailing_state, registered_agent_company_name, fei_number, officers_listed, source_file and last_seen. A second tab, Run log, gets one row per run: when, the run ID, the outcome, records received, records charged and the run's own status message.

Get it in one click

Open the Actor, New Florida Businesses Daily — Sunbiz New LLC & Corp Filings, open it in Apify Console, paste this input into the JSON view of the input and press Start (10 companies, $0.50 on Apify's Free plan):

{"days": 5, "filingTypes": ["FLAL"], "zipPrefixes": ["33401", "33480"], "maxRecords": 10}

FLAL is a Florida LLC; add DOMP for Florida corporations. A ZIP entry can be a full ZIP or its first digits.

Get it from code

The same call from any language (returns the records as JSON; replace the token):

curl -X POST "https://api.apify.com/v2/acts/nexgensignal~florida-new-business-filing-records/run-sync-get-dataset-items?maxTotalChargeUsd=1" \
  -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
  -d '{"days": 5, "filingTypes": ["FLAL"], "zipPrefixes": ["33401", "33480"], "maxRecords": 10}'

For a daily list, use the ready-made Python script under Downloads. It keeps a CSV that Excel or Google Sheets opens, remembers the last daily file it read, and never repeats a paid run start on its own:

export APIFY_TOKEN=your_apify_token          # Windows: set APIFY_TOKEN=your_apify_token
python florida_new_llcs_to_csv.py --zip 33401 --zip 33480

It writes new_florida_llcs.csv (one row per company, matched on document_number), new_florida_llcs.csv.runlog.csv and a small .state.json file holding the last daily file read. Schedule it with cron or Windows Task Scheduler.

Put it in a Google Sheet every weekday (n8n)

  1. Get the workflow. In n8n choose Import from URL and paste the workflow link under Downloads (or download the file and use Import from File).
  2. Add your Apify token. In Apify Console, copy your API token (Settings → API & Integrations). In n8n create a credential of type Header Auth named Apify API token: Name Authorization, Value Bearer followed by your token. Select it in the five HTTP Request nodes (Get saved run, Start Apify run, Check run, Get run receipt, Get records).
  3. Make the sheet. Create a Google Sheet with two tabs, New Florida LLCs and Run log, and paste the header rows from the two header files under Downloads into row 1 of each tab.
  4. Point the workflow at it. Paste the sheet's URL into the two Google Sheets nodes and choose your Google credential.
  5. Choose your area. Open Settings (edit me): ZIP code starts (zipPrefixes), filing types (FLAL = Florida LLC, DOMP = Florida corporation), the most records per run and a spending cap per run.
  6. Run it once with Execute workflow, check the sheet, then switch the workflow to Active. It runs Monday to Friday at 11:00 (New York time); change the schedule node if you like.

The workflow remembers the newest State daily file it has read in full, so a normal scheduled run asks only for newer files and does not buy the same companies again; if the State has not posted a new file yet, the run reads nothing and costs nothing. A run that stops at its maximum or spending cap does not move that mark: the same day is read again next time, and the companies already saved are charged again (their rows are only updated).

Google Sheets delivery: not yet verified

The workflow's Google Sheets nodes follow n8n 2.41.4's own Google Sheets node definition (append-or-update on document_number; values are written as plain text so numbers such as 00445790 keep their leading zeros), and the file imports into n8n. They have not yet been run against a real Google Sheet. Everything before the sheet has been tested in n8n, including scheduled runs, with a local stand-in that applies the same append-or-update rule. Try it on a copy of your sheet first.

If something is interrupted

What it costs

Prices are the Actor's existing pay-per-record prices. There is no start fee for this Actor: a run that finds nothing costs nothing.

Apify plan Per company One run at the default maximum (25) Illustration only: a month at 5 a day
Free $0.05 up to $1.25 about $5.25
Bronze $0.045 up to $1.13 about $4.73
Silver $0.04 up to $1.00 about $4.20
Gold / Platinum / Diamond $0.0335 up to $0.84 about $3.52

The last column is an illustration from three observed days, not a forecast: we counted 7, 5 and 3 new LLCs in ZIPs 33401 and 33480 on 28, 29 and 30 September 2026, about 5 a day, times 21 business days. Real months will differ, and so will your ZIPs: all of Miami's 331 ZIPs had over 200 new LLCs on 30 September alone. Each run also stops at the spending cap in Settings.

De-duplicated rows are not de-duplicated charges. Every company a run delivers is charged, even if it is already in your sheet. That happens when a run stopped at its maximum or cap (that day is read again), when you collect results with the script after the workflow already did, or when the workflow's memory is reset.

When things don't go to plan

What the run log says What it means What the workflow does
complete New companies were added or updated Nothing else to do
no_match The State's file was read in full and nothing matched your ZIPs and types Nothing charged
no_new_daily_file_yet The State has not posted a newer daily file since the last run Nothing charged; the next run tries again
partial The run stopped at your spending cap or maximum, so that day may have more companies The rows received are saved; the same day is read again next time (saved rows are updated, but charged again). Raise the maximum or narrow the ZIPs
source_unavailable The State's server did not answer after retries Nothing charged; the workflow stops with an error so n8n can alert you
failed The run itself failed (for example an invalid date range) Stops with an error message that names the run

Know before you rely on it

Downloads

Published by NexGen Signal (official-source data products on Apify). Prices are the Actors' existing pay-per-record prices on 1 October 2026; check the Actor page for current prices.