# Florida Federal Tax Liens — Daily New-Filing Feed (`jobito/florida-lien-daily-feed`) Actor

Daily feed of new federal tax lien filings in Florida: debtor business name and address, secured party, filing date, assessment and expiration dates, document number. Built for MCA brokers, equipment lenders, and factoring companies who treat new lien filings as buying signals.

- **URL**: https://apify.com/jobito/florida-lien-daily-feed.md
- **Developed by:** [Joseph Ellis](https://apify.com/jobito) (community)
- **Categories:** Lead generation, Automation, Open source
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 lien filing delivereds

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/platform/actors/running/actors-in-store#pay-per-event

## 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

## Florida Federal Tax Liens — Daily New-Filing Feed

A daily feed of **new federal tax lien filings recorded in Florida**, normalized into a
clean schema: debtor business name and address, secured party, filing date, assessment
date, expiration date, document number.

A new federal tax lien means a business has unpaid federal taxes and the IRS has
publicly staked a claim on its assets. For merchant cash advance brokers, equipment-finance
lenders, factoring companies, and turnaround advisors, that is a high-intent distress
signal: the business has an urgent, quantified liability and limited conventional credit
options. Run this actor on a daily schedule and get only the filings you haven't seen
before, filtered to the debtor states and name patterns you care about.

### Why a feed instead of a search tool

Most lien actors are lookup tools: give a name, get filings. This actor is built for the
lead-gen workflow instead:

- **Dedupe across runs** — document numbers already delivered are remembered in a
  key-value store, so a daily scheduled run behaves like an alert subscription.
- **Automatic catch-up** — with no date given it scans the last `lookbackDays` days and
  picks up any business day it missed (Florida publishes irregularly, business days only).
- **Debtor filters** — by state, or by name substring to watch an industry
  (e.g. `TRUCKING`) or a specific business.

### Input

| Field | Description |
|---|---|
| `fileDate` | One specific business day, `YYYYMMDD`. Optional. |
| `lookbackDays` | Days back to scan when no `fileDate` is given (default 7). |
| `onlyNew` | Dedupe against previous runs (default true). |
| `debtorStateFilter` | Two-letter states for the debtor address. |
| `debtorNameContains` | Case-insensitive substrings to match debtor names. |
| `securedPartyContains` | Case-insensitive substrings to match secured party names. |
| `filingStatuses` | `A` active, `L` lapsed, `T` terminated. Empty = all. |
| `maxRecords` | Cap output (0 = unlimited). |

No input is required — the defaults produce the last week of new filings.

### Output

One item per lien filing, with nested `debtors[]` and `secured_parties[]` arrays (a
filing can name several of each). Dates are normalized to `YYYY-MM-DD`; the state's
all-zero placeholder dates become empty strings. Counts are integers.

```json
{
  "document_number": "26FLR0002760",
  "filing_date": "2026-07-29",
  "filing_status": "A",
  "filing_type": "F",
  "assessment_date": "2026-06-22",
  "expiration_date": "2036-07-22",
  "debtors": [
    {
      "name": "NAPLES HOME HEALTH INC",
      "name_format": "C",
      "address_1": "501 GOODLETTE RD N STE C200",
      "city": "NAPLES", "state": "FL", "zip_code": "341025666"
    }
  ],
  "secured_parties": [{ "name": "IRS JACKSONVILLE", "city": "JACKSONVILLE", "state": "FL" }]
}
```

Note that on federal tax liens the secured party is always the IRS, so the lead signal is
the **debtor**. `securedPartyContains` is retained for the registry's non-FLR lien records
(`filing_type` `U`).

### Data source & access

Florida's Division of Corporations publishes federal tax lien data as four fixed-length
ASCII files per business day (filings, debtors, secured parties, events) via its public
data-downloads host. The actor reads the filings, debtors and secured-party files over
HTTPS using the state's own published anonymous credentials and joins them on the
document number.

- Files: `https://sftp.floridados.gov/Public/doc/FLR/{FILINGS,DEBTORS,SECURED}/YYYYMMDDflr{f,d,s}.txt`
- Record layout: <https://dos.sunbiz.org/data-definitions/lien.html>
- Portal: [Florida data downloads](https://dos.fl.gov/sunbiz/other-services/data-downloads/)

Parsing is **positional** against the published layout — these files carry no header row
and no delimiter, so header-name matching does not apply. If the state changes a record
length, the actor logs a warning naming the file and line rather than silently
misaligning columns.

Lien filings are public records.

#### Why not UCC?

This actor originally targeted Florida UCC-1 financing statements. Florida does not
publish UCC data in bulk: UCC filing was privatized to Image API, LLC in 2001, and the
[Florida Secured Transaction Registry](https://floridaucc.com/) is an authenticated
pay-per-search portal with no bulk download. The Division of Corporations' public file
host carries corporate, fictitious name, general partnership, trademark and federal tax
lien data — no UCC. Federal tax liens are the closest freely-available equivalent signal
for the same audience.

### Pre-launch checklist

- \[x] Pull a real daily file and run locally (`apify run`) — verified against
  `20260729` (78 filings, 87 debtors, 78 secured parties) and `20260805`
  (66 filings, 75 debtors, 66 secured parties), all joining cleanly on
  document number, dates ISO-normalized, dedupe store working across runs.
- \[x] Verify every field offset against the state's published record layout.
- \[x] Fixed-width positional parser (the files are not delimited).
- \[x] Automatic daily-file URL construction from the date, so no input is required.
- \[ ] Register the PPE event: `lien-filing` — "One lien filing delivered" —
  suggested $0.002-0.005/filing.

### Roadmap

Same pattern, next states with free public lien/UCC bulk files: Illinois, Ohio, Georgia.
Texas is behind paid SOSDirect — skipped deliberately.

# Actor input Schema

## `fileDate` (type: `string`):

Pull one specific business day, e.g. 20260729. Leave empty to scan the last few days automatically (see 'Lookback days'). Florida publishes on business days only.

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

How many days back from today to check for published files when no specific date is given. Combined with dedupe, a daily scheduled run will catch up on any days it missed. Ignored if 'fileDate' is set.

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

Remember document numbers already delivered in previous runs (stored in a named key-value store) and push only filings not seen before. This is what makes scheduled runs behave like an alert feed.

## `debtorStateFilter` (type: `array`):

Only include filings with at least one debtor whose address is in one of these two-letter states. Florida filings do include out-of-state debtors. Empty = all.

## `debtorNameContains` (type: `array`):

Only include filings whose debtor name contains one of these strings (case-insensitive). Useful for monitoring specific businesses or name patterns such as LLC or TRUCKING. Empty = all.

## `securedPartyContains` (type: `array`):

Only include filings whose secured party name contains one of these strings (case-insensitive). Note: on federal tax liens the secured party is the IRS, so this is mainly useful for the state's non-FLR lien records.

## `filingStatuses` (type: `array`):

Filter by filing status code: A = active, L = lapsed, T = terminated. Empty = all. New daily filings are normally active.

## `maxRecords` (type: `integer`):

Stop after this many records. 0 = unlimited.

## Actor input object example

```json
{
  "lookbackDays": 7,
  "onlyNew": true,
  "maxRecords": 0
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("jobito/florida-lien-daily-feed").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("jobito/florida-lien-daily-feed").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 '{}' |
apify call jobito/florida-lien-daily-feed --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,jobito/florida-lien-daily-feed"
        }
    }
}

```

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/HdBMJsXNgZH0Kf8DV/builds/QzmbTkPN8LVGbRyTx/openapi.json
