# Florida UCC Lien Filing Index Scraper (`jungle_synthesizer/floridaucc-lien-filing-index-scraper`) Actor

Florida UCC lien filings: debtor, secured party (lender), filing and lapse dates, amendment history, and the scanned form link. Walk the whole state index or look up names.

- **URL**: https://apify.com/jungle_synthesizer/floridaucc-lien-filing-index-scraper.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Lead generation, Business, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 record scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Florida UCC Lien Filing Index Scraper

Pull Florida UCC lien filings from the state's Secured Transaction Registry: who owes, who lent, when the filing was made, when it lapses, and the full amendment trail. Read the whole statewide index or look up specific debtors by name.

***

### Florida UCC Lien Filing Index Scraper Features

- Covers the full registry: business debtors and individual debtors, active (Filed) and Lapsed filings
- Returns the secured party (the lender) with its own address, not just the debtor
- Filing lifecycle in every record: file date, expiration date, number of amendments, continuations and terminations
- Optional amendment history with each change, its date and the parties it touched
- Link to the scanned filing PDF when the state holds one
- Look up debtors by name prefix or exact name, or walk the whole index from any position
- Every record carries the date through which the state registry is current

***

### Who Uses Florida UCC Lien Data?

- **Asset-based and equipment lenders** — See who is financing whom, and on what terms, before quoting
- **Commercial credit and risk teams** — Check a counterparty's secured debt and lien priority
- **M\&A and lending due diligence** — Pull every lien on a Florida target in one run
- **Judgment-enforcement and litigation finance desks** — Run lien searches before funding or collecting
- **B2B lead generation** — A fresh UCC1 is a public signal that a company has just taken secured financing

***

### How Florida UCC Lien Filing Index Scraper Works

1. Reads the Florida debtor-name index you choose: businesses, individuals or both, active filings, lapsed filings or both.
2. Starts from a name prefix, an exact name, or a position in the index, and moves forward in alphabetical order.
3. For each debtor entry, opens the filing to add the secured party, dates, parties and scan link.
4. Optionally adds the amendment chain for filings that have been amended, continued or terminated.

***

### Input

```json
{
    "debtorTypes": ["Organization"],
    "filingStatuses": ["Filed"],
    "namePrefixes": ["FLORIDA POWER"],
    "includeFilingDetails": true,
    "maxItems": 100
}
```

| Field                  | Type    | Default            | Description |
|------------------------|---------|--------------------|-------------|
| `debtorTypes`          | array   | `["Organization"]` | `Organization` (businesses), `Individual` (people). Empty reads both. |
| `filingStatuses`       | array   | `["Filed"]`        | `Filed` (active) and/or `Lapsed`. Empty reads both. |
| `namePrefixes`         | array   | `[]`               | Return every debtor whose name starts with one of these. |
| `debtorNames`          | array   | `[]`               | Look up debtors by exact registered name. |
| `nameForm`             | string  | `Compact`          | `Compact` merges spelling variants; `Actual` lists names exactly as filed. Exact name lookups always use Compact. |
| `startRowNumber`       | integer | `1`                | Whole-index reads only: start at this position instead of the beginning. |
| `includeFilingDetails` | boolean | `true`             | Add secured party, dates, parties and scan link. |
| `includeFilingHistory` | boolean | `false`            | Add the amendment chain. Needs filing details. |
| `maxItems`             | integer | `25`               | Maximum filings to return. |

With no prefixes and no names, the run reads the index from `startRowNumber` onward. Positions are alphabetical by debtor name, and each list (Filed, Lapsed, Compact, Actual) has its own numbering, so use a position only with the same settings that produced it. A position past the end of the list stops the run with an error.

When both prefixes and names are given, each is read separately. With both debtor types selected, every read runs once per type.

***

### Output

```json
{
    "id": "201803870166|001073977, ET AL|410 CAPITAL AVE",
    "ucc_number": "201803870166",
    "ucc1_number": "201803870166",
    "row_number": 3,
    "filing_status": "Filed",
    "document_type": "UCC1",
    "file_date": "2018-01-18T05:00:00Z",
    "expiration_date": null,
    "filing_events": 2,
    "debtor_name": "001073977, ET AL",
    "debtor_type": "Organization",
    "debtor_address": "410 CAPITAL AVE",
    "debtor_city": "HARTFORD",
    "debtor_state": "CT",
    "debtor_zip": "06134",
    "debtor_count": 15,
    "secured_party_name": "TIMOTHY FRANCIS MCTIGUE TRUST",
    "secured_party_address": "130 NE 4TH AVE",
    "secured_party_city": "BOYNTON BEACH",
    "secured_party_state": "FL",
    "secured_party_zip": "33435",
    "secured_party_count": 3,
    "is_trans_util": true,
    "file_image_exists": true,
    "document_pages_count": 4,
    "filing_image_url": "https://publicsearchapi.floridaucc.com/filing-image?uccNumber=201803870166",
    "filings_completed_through": "2026-10-19T04:00:00Z",
    "source_url": "https://floridaucc.com/"
}
```

| Field                                     | Description |
|-------------------------------------------|-------------|
| `ucc_number`                              | UCC filing number for this debtor entry |
| `ucc1_number`                             | Original UCC1 financing statement the filing belongs to |
| `filing_status`                           | `Filed` (active) or `Lapsed` |
| `document_type`                           | Filing document type, for example `UCC1` |
| `file_date` / `expiration_date`           | When the filing was recorded and when it lapses unless continued. Transmitting-utility filings do not lapse, so `expiration_date` is empty for them |
| `filing_events`                           | Amendments, continuations and terminations recorded against the filing |
| `debtor_*`                                | Name, type, street, city, state and ZIP of the debtor entry |
| `debtors` / `debtor_count`                | Every debtor on the filing with addresses |
| `secured_party_*`                         | First secured party, normally the lender, with its address |
| `secured_parties` / `secured_party_count` | Every secured party on the filing with addresses |
| `is_trans_util`                           | True for a transmitting-utility filing |
| `file_image_exists` / `filing_image_url`  | Whether a scanned copy exists, and a link to it |
| `filing_history`                          | Amendments with date, document type, and the actions taken (only with `includeFilingHistory`) |
| `filings_completed_through`               | Date through which the state registry is current |

The same filing can appear more than once, once for each debtor name it lists. Fields marked as filing details are absent when `includeFilingDetails` is off.

***

### Data Source and Coverage

Records come from the Florida Secured Transaction Registry, the state's public UCC index at [floridaucc.com](https://floridaucc.com/). It holds every UCC1 financing statement filed in Florida together with its amendments, current and lapsed. The registry is published with a stated currency date, returned in `filings_completed_through`.

***

### FAQ

**Can I get every filing in the state?**
Yes. Leave the name fields empty, set a high `maxItems` (or `0` for no limit) and the run walks the index from start to end.

**Can I find who lent to a company?**
Look the company up by exact name or name prefix with filing details on. `secured_party_name` is the lender on each filing.

**Why is `expiration_date` empty on some filings?**
Transmitting-utility filings, which carry `is_trans_util: true`, have no lapse date.

**Does it include lapsed filings?**
Yes. Add `Lapsed` to `filingStatuses`. Lapsed filings stay in the registry as history.

**How fresh is the data?**
Every record states the date the registry is complete through in `filings_completed_through`.

# Actor input Schema

## `sp_intended_usage` (type: `string`):

What will this data feed? E.g. lead lists, KYB checks, price tracking.

## `sp_improvement_suggestions` (type: `string`):

Provide any feedback or suggestions for improvements.

## `sp_contact` (type: `string`):

We'll personally help with your use case. No spam.

## `debtorTypes` (type: `array`):

Which debtor index to read: businesses (Organization) and/or people (Individual). Empty reads both.

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

Filed = active liens, Lapsed = expired or terminated. Pick both for the full history. Empty reads both.

## `namePrefixes` (type: `array`):

Return every debtor whose name starts with one of these (e.g. 'SMITH', 'FLORIDA POWER'). Leave empty and give no exact names to read the index from the beginning.

## `debtorNames` (type: `array`):

Look up debtors by their exact registered name, one entry per name.

## `nameForm` (type: `string`):

Compact merges spelling variants of the same debtor; Actual lists every name exactly as it was filed. Exact name lookups always use Compact.

## `startRowNumber` (type: `integer`):

Whole-index reads only: begin at this position in the debtor list instead of the beginning. Positions are ordered alphabetically by debtor name.

## `includeFilingDetails` (type: `boolean`):

Add the secured party (lender) with address, document type, file and expiration dates, amendment count, all parties and the scanned form link.

## `includeFilingHistory` (type: `boolean`):

Add the chain of amendments, continuations and terminations for each filing. Needs filing details.

## `maxItems` (type: `integer`):

Maximum number of filings to return

## Actor input object example

```json
{
  "sp_contact": "Share your email here...",
  "debtorTypes": [
    "Organization"
  ],
  "filingStatuses": [
    "Filed"
  ],
  "namePrefixes": [],
  "debtorNames": [],
  "nameForm": "Compact",
  "startRowNumber": 1,
  "includeFilingDetails": true,
  "includeFilingHistory": false,
  "maxItems": 25
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "sp_contact": "Share your email here...",
    "debtorTypes": [
        "Organization"
    ],
    "filingStatuses": [
        "Filed"
    ],
    "namePrefixes": [],
    "debtorNames": [],
    "nameForm": "Compact",
    "startRowNumber": 1,
    "includeFilingDetails": true,
    "includeFilingHistory": false,
    "maxItems": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/floridaucc-lien-filing-index-scraper").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 = {
    "sp_contact": "Share your email here...",
    "debtorTypes": ["Organization"],
    "filingStatuses": ["Filed"],
    "namePrefixes": [],
    "debtorNames": [],
    "nameForm": "Compact",
    "startRowNumber": 1,
    "includeFilingDetails": True,
    "includeFilingHistory": False,
    "maxItems": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/floridaucc-lien-filing-index-scraper").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 '{
  "sp_contact": "Share your email here...",
  "debtorTypes": [
    "Organization"
  ],
  "filingStatuses": [
    "Filed"
  ],
  "namePrefixes": [],
  "debtorNames": [],
  "nameForm": "Compact",
  "startRowNumber": 1,
  "includeFilingDetails": true,
  "includeFilingHistory": false,
  "maxItems": 25
}' |
apify call jungle_synthesizer/floridaucc-lien-filing-index-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,jungle_synthesizer/floridaucc-lien-filing-index-scraper"
        }
    }
}
```

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/UN2BoZrbMtLmu2Oos/builds/hsgkOUWnp5vnoiHNl/openapi.json
