# Florida Lis Pendens, Pre-Foreclosure & Deed Leads (`finaldynamics/florida-pre-foreclosure-leads`) Actor

Florida pre-foreclosure leads: lis pendens, deed transfers and liens from the Hillsborough, Collier, Seminole, Duval and Pasco County clerks, by recording date.

- **URL**: https://apify.com/finaldynamics/florida-pre-foreclosure-leads.md
- **Developed by:** [Final Dynamics](https://apify.com/finaldynamics) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.00 / 1,000 recorded documents

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/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 Lis Pendens, Pre-Foreclosure & Deed Leads

Florida pre-foreclosure leads come from lis pendens filings. A lis pendens is the notice a lender or
homeowners association records when it files a foreclosure suit. It is the earliest public sign that
a property is in trouble, usually months before any auction or bank listing. This actor pulls lis
pendens, deeds, tax deeds, liens, probate filings and any other supported recorded document type
straight from the Clerk's Official Records in Hillsborough, Collier, Seminole, Duval or Pasco County
for the date range you choose. You get one row per document with both parties, the legal
description, the recording date, the sale price on deeds and a reference to the record on the
Clerk's site.

Built for real estate investors and wholesalers working pre-foreclosure and probate leads, agents
and lenders tracking who just bought or sold, title and surplus-funds researchers, and anyone who
wants the county record itself rather than a list resold from Zillow or a data broker.

### What you get

One row per recorded document. Every field is flat, so the dataset drops straight into Google
Sheets, Airtable or a CRM.

| Field                                          | Example                                                                                                                      |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `instrumentNumber`                             | `2026342874` (the Clerk's file number)                                                                                       |
| `documentType`, `documentCode`, `documentName` | `(LP) LIS PENDENS`, `LP`, `LIS PENDENS`                                                                                      |
| `recordedDate`, `recordedAt`                   | `2026-09-01`, `2026-09-01T12:05:27.000Z` (`recordedAt` is null on Duval)                                                     |
| `party1`, `party1Count`                        | `RAIN CITY MORTGAGE TRUST 2024 RTL1; US BANK TRUST COMPANY NA TRU`, `2` (the filer, lender or seller)                        |
| `party2`, `party2Count`                        | `CITY OF TAMPA; GONZALEZ SISSI; HERNANDEZ ERLY ARGENTEL; SISSI GONZALEZ INVESTMENTS GROUP 1988 LLC`, `4` (the other side)    |
| `legalDescription`                             | `L 4 B 34 BAYRIDGE REVISED` (lot, block and subdivision; added by the Clerk a few days after recording)                      |
| `salesPriceUsd`                                | `415000` on deeds; `null` on other documents                                                                                 |
| `pageCount`                                    | `2`                                                                                                                          |
| `caseNumber`, `amountUsd`                      | `26CA2130`, `null` (Collier, with `includeDetails`: the court case number and the amount the Clerk recorded)                 |
| `detailFetchFailed`                            | `true` when a requested record page could not be read after retries; the row is still delivered and not charged for the page |
| `bookType`, `bookNumber`, `pageNumber`         | `OR`, `6626`, `2039` on Collier; usually `null` on Hillsborough, which files recent documents by instrument number only      |
| `recordUrl`                                    | Link to the document on the Clerk's site; in Seminole, look up the instrument number on the site                             |
| `county`, `state`                              | `Hillsborough`, `Collier`, `Seminole`, `Duval` or `Pasco`, `FL`                                                              |
| `isNewSinceLastRun`                            | `true` in the "new only" mode, otherwise `null`                                                                              |
| `clerkReleasedThrough`                         | `2026-09-02`: the date through which the Clerk has finished verifying its index                                              |
| `scrapedAt`                                    | UTC timestamp                                                                                                                |

Who is who: on a lis pendens, `party1` is the plaintiff (the lender or association suing) and
`party2` lists the defendants, which is the owner and anyone else with an interest. On a deed,
`party1` is the seller (grantor) and `party2` the buyer (grantee). Several names are joined with a
semicolon. Anything the Clerk does not publish is `null`.

### How to use it

Pick the document types and either a recording-date range or `lastDays`, then run. The default is
the last 7 days of lis pendens.

```json
{
  "documentTypes": ["(LP) LIS PENDENS"],
  "dateFrom": "2026-09-01",
  "dateTo": "2026-09-07",
  "maxResults": 500
}
```

Both dates are inclusive. `maxResults` caps the rows you pay for. Document types take the Clerk's
label, or just the code in brackets: `["LP"]`, `["D", "TAXDEED"]`.

**Pre-foreclosure leads every week:** set `lastDays: 30`, `newOnly: true` and
`waitForLegalDescription: true`, pick a key-value store as `stateStoreId`, and schedule the task
weekly. The window moves automatically on every run, overriding `dateFrom` and `dateTo`. The actor
remembers every instrument number it has delivered, so the wide window never repeats a row, and it
holds back documents the Clerk has not finished indexing so each one arrives once, with its legal
description. New documents show up in the Clerk's search on the day they are recorded, but the legal
description that identifies the property is added a few days later; the wide window is what lets
held-back documents come through on a later run.

**Only documents you have not seen before:** `newOnly: true` with a `stateStoreId` (a key-value
store you create in Apify Console). Only complete successful runs advance the saved state. A run
that stops at `maxResults`, reaches a spending cap or fails leaves state unchanged, so it may
deliver the same instruments again. State is separate for each county and uses the published
instrument number as its stable key.

**Everything, right now:** leave `waitForLegalDescription` off. Documents recorded in the last few
days then arrive with `legalDescription` empty; open `recordUrl` to see the document itself (in
Seminole, search the instrument number on the Clerk's site).

**Collier County, with case numbers:** set `"county": "collier"`. Collier's search gives the same
parties, dates, legal descriptions and book and page; set `includeDetails: true` to also read each
record page for the recording time, the court case number on a lis pendens (`caseNumber`) and the
amount the Clerk recorded. Document codes differ between counties; the actor accepts either county's
code for the same kind of document (`D` or `DEED`, `LN` or `LIEN`, `PRO` or `PROBATE`).

**Seminole County:** set `"county": "seminole"`. Rows include the recording time, the legal
description and the first party on each side. `includeDetails: true` adds every party and, on deeds,
the property value the Clerk recorded (`amountUsd`). Seminole's search does not show case numbers.
The Clerk's site asks automated visitors to wait 15 seconds between requests, and the actor does, so
each detail adds about 15 seconds to the run. Very busy date ranges are split into smaller ones
automatically.

**Duval County:** set `"county": "duval"`. Rows include the first party on each side, the legal
description and the consideration on deeds. `includeDetails: true` adds every party and the court
case number. Duval publishes the recording date but not the time, so `recordedAt` is `null`.

**Pasco County:** set `"county": "pasco"`. The Clerk requires a name to search, so the actor
searches Party 1 names starting with A–Z and 0–9 and combines matching instruments. A Pasco week
takes a few minutes because it needs about 36 searches per document type per date window, with at
least 3 seconds between requests. Busy searches are split into shorter date windows. A document is
found only if at least one Party 1 name starts with a letter or digit. Without details, `party1`
contains the names seen in the Name column and `party2` the Cross-Party Name column across searches;
these are Party 1 and Party 2 names respectively. `partiesTruncated` is `true` and both counts are
`null`: Party 1 names starting with other characters and Party 2 names beyond those shown as
cross-party can be missing. `includeDetails: true` replaces these with the full labeled Party 1 and
Party 2 lists and adds legal description. Search rows supply `recordedAt` from the recording date
and time in America/New\_York; it is `null` when the time is missing or malformed. Pasco has no case
number or sale price; those fields stay `null`. `recordUrl` opens the instrument detail. Searches
cost nothing extra; rows and successful details are charged only at delivery.

Without details, Seminole and Duval rows carry only the first party on each side, so
`partiesTruncated` is `true` and the party counts are `null`. `minSalesPrice` filters on the deed
price shown in search results, which Hillsborough and Duval publish; leave it at 0 for Collier,
Seminole and Pasco. Seminole's `recordUrl` points at the Clerk's records service, which only opens
from inside the Clerk's own site, so use the instrument number to look a record up there.

**Recent sales above a price:**

```json
{
  "documentTypes": ["D"],
  "dateFrom": "2026-09-01",
  "dateTo": "2026-09-01",
  "minSalesPrice": 250000
}
```

Deeds recorded for a nominal amount (family transfers, transfers into a trust) show a sale price of
zero or a few dollars; `minSalesPrice` drops them.

**Probate and tax deed leads:** `["PRO", "TAXDEED"]`. Probate documents point at estates that will
sell; tax deeds point at owners who may be owed surplus funds.

### Document types

The most used Hillsborough codes first; county-specific lists follow. Native codes take precedence
over cross-county aliases where a code has different meanings.

| Code      | Document               | Why people pull it                                   |
| --------- | ---------------------- | ---------------------------------------------------- |
| `LP`      | Lis pendens            | Foreclosure suit filed: pre-foreclosure lead         |
| `RELLP`   | Release of lis pendens | Suit settled or dropped: remove from the list        |
| `D`       | Deed                   | Ownership changed: new owner, recent sale price      |
| `TAXDEED` | Tax deed               | Sold for unpaid taxes: surplus funds and rehab leads |
| `LN`      | Lien                   | Contractor, association or government claim recorded |
| `NOC`     | Notice of commencement | Construction about to start at the property          |
| `PRO`     | Probate documents      | Estate in administration: likely sale                |
| `MTG`     | Mortgage               | New loan recorded                                    |
| `SAT`     | Satisfaction           | Mortgage or lien paid off                            |
| `JUD`     | Judgment               | Court judgment recorded against a party              |

Hillsborough, all 63 types the Clerk indexes, by code: `AFF` Affidavit, `AGR` Agreement, `AGD`
Agreement And/Or Contract For Deed, `ASG` Assignment, `ASINT` Assignment Of Interest, `ASGT`
Assignment/Taxes, `BND` Bond, `CTF` Certificate, `CCJ` Certified Copy Of A Court Judgment, `CND`
Declaration Of Condominium, `CONDO` Condominium Plan, `LNCORPTX` Corp Tax Lien For State Of Florida,
`COHOME` Court Order Deter Hmstd, `CP` Court Paper, `DC` Death Certificate, `D` Deed, `DPL` Deed
Plat, `DRCP` Domestic Relations Court Paper, `DRJUD` Domestic Relations Judgment, `EAS` Easement,
`FIN` Financing Statement, `GOV` Government Related, `JUD` Judgment, `LN` Lien, `LP` Lis Pendens,
`MROW` Maintained Right Of Way, `MAR` Marriage Record, `MEDLN` Medicaid Lien, `MIL` Military
Discharge/Separation, `MSUBDSURV` Minor Subdivision Survey, `MOD` Modification, `MTG` Mortgage,
`MTGNDOC` Mortgage No Doc Stamps, `MTGNT` Mortgage Exempt Taxes, `MTGNIT` Mortgage No Intangible
Taxes, `MTGREV` Mortgage Reverse, `NOT` Notice, `NOC` Notice Of Commencement, `NOCCONS` Notice Of
Commencement Consumer, `NCL` Notice Of Contest Of Lien, `ODNPFL` Order Denying Petition Family,
`ODRNS` Order Of Dismissal Respondent Not Served, `ORD` Order, `PR` Partial Release, `PL` Plat,
`PUR` Plat Related, `PRO` Probate Documents, `POA` Power Of Attorney, `PRREL` Personal Rep Release,
`REL` Release, `RELLP` Release Lis Pendens, `REQAFF` Request Affidavit, `RES` Restrictions, `ROWM`
Right Of Way Monument, `ROWR` Right Of Way Reservation, `ROWT` Right Of Way Transfer, `SAT`
Satisfaction, `SATCORPTX` Satisfaction Corp Tax For State Of Fl, `SLM` Survey & Location Map, `TCDP`
Tampa City Domestic Partnership, `TAXDEED` Tax Deed, `TER` Termination, `TRA` Transfer.

Collier, all 37 types, by code: `AD` Agreement For Deed, `AFFID` Affidavit, `AGRM` Agreement,
`ASSIGN` Assignment, `BOND` Bonds (Various Types), `CCJUDG` Certified Copy Of Previously Recorded
Judgment, `CERT` Certificate, `CONTEST` Contest Of Lien, `CP` Court Paper, `DC` Death Certificate,
`DECL` Declaration Of Condominium, `DEED` Deed, `DISCH` Military Discharge, `ERRCOR` Error
Correction, `ESMT` Easement, `FIN/UCC` Financing Statement/Ucc, `GOVREL` Government Related, `INJMN`
Injunction For Minor, `JUDG` Judgment, `LIEN` Lien (Various), `LP` Lis Pendens, `MARLIC` Marriage
License, `MODIFY` Modification, `MTGE` Mortgage, `NC` Notice Of Commencement, `NOTICE` Notice,
`ORDER` Order, `PA` Power Of Attorney, `PLAT/EXH` Plat/Exhibit, `PLTREL` Plat Related, `PR` Partial
Release, `PROBATE` Probate, `RELEASE` Release, `RESTR` Restrictions, `SATIS` Satisfaction, `TERM`
Termination Of Anything, `TRANSFR` Transfer Of Anything.

Seminole, all 74 captured types, by code: `AD` Aa Doc Type Phantom, `ADEP` Account Deposit, `AFF`
Affidavit, `AGR` Agreement, `AGD` Agreement For Deed, `ASL` Assign Lease, `ASM` Assign Mortgage,
`ASR` Assign Rents, `AS` Assignment, `ASB` Assignment Of Bid, `BOS` Bill Of Sale, `BON` Bond, `CER`
Certificate, `CD` Ctf Disbursed, `CT` Ctf Title, `DC` Death Certificate, `D` Deed, `FA` Deed
W/Assumption, `Y` Delete, `DEL` Deleted/Voided, `DOM` Domicile, `E` Easement, `E NOTAX` Easement -
No Tax, `FS` Financial Statement, `GUARD` Guardianship, `JUDG` Judgment, `JUDG CC` Judgment Cc, `L`
Lease, `LET` Letters, `LN` Lien, `LP` Lis Pendens, `M-2 NOIN` M-2 Noint, `M-2 NOTA` M-2 Notax,
`M-3 NOIN` M-3 Noint, `M-3 NOTA` M-3 Notax, `MAR` Marriage Bk, `ML` Marriage License, `MEMO`
Memorandum, `MISC` Miscellaneous., `MM` Mod Mortgage, `MM NOINT` Mod Mortgage No Intangible,
`MM NOTAX` Mod Mortgage Notax, `M` Mortgage, `M NOINT` Mortgage - Intangible Tax Exempt, `M NOTAX`
Mortgage - No Tax, `M-2` Mortgage-2, `M-3` Mortgage-3, `NOT` Notice, `NC` Notice Of Commencement,
`OAT` Oath, `O` Order, `ORD` Ordinance, `PR` Partial Release, `PET` Petition, `PL` Plat, `PLT` Plat
Historic, `PA` Power Of Attorney, `PAB` Power Of Attorney For Bonds, `QCD` Quit Claim Deed, `R`
Release, `RSL` Resolution, `REST` Restrictions, `MAP` Right Of Way Map, `SAT` Satisfaction, `SI`
Sealed Item, `SUBM NOI` Subm Noint, `SUBM NOT` Subm Notax, `SUBM` Subordinate Mortgage, `SUB`
Subordination, `SUPP` Supplemental, `TL` Tax Lien, `TERM` Termination, `TR` Trust, `WIL` Will.

Duval, all 82 captured types, by code (search ID in brackets): `ABPLAT` \[67] ABPLAT, `AFF` \[69]
AFFIDAVIT, `A/CDEED` \[68] AGMT/CONT/DEED, `AGMT` \[70] AGREEMENT, `APPEAL` \[71] APPEAL, `APPL` \[72]
APPEAL, `ASSIGN` \[75] ASSIGNMENT, `ASM` \[74] ASSUMPTION, `BOND` \[76] BOND, `CAN` \[77] CANCELLATION,
`CANNF` \[78] CANCELLATION NO FEE, `CCCJUDG` \[79] CC COURT JUDGMENT, `CERT` \[81] CERTIFICATE,
`CERT COMP` \[82] CERTIFICATE OF COMPLIANCE, `CERTDEED` \[83] CERTIFICATE OF TITLE DEED, `CCCO` \[80]
CERTIFIED COPY OF COURT ORDER, `CLERKCERT` \[84] CLERKS CERTIFICATE, `DEC/CON` \[86] CONDOMINIUM
DECLARATION, `CTPAPER` \[85] COURT PAPER, `MODCU` \[109] CREDIT UNION MODIFICATION, `MTGCU` \[111]
CREDIT UNION MORTGAGE, `DTH/CTF` \[91] DEATH CERTIFICATE, `DEED` \[87] DEED, `DEED DOC` \[88] DEED DOC
STAMP, `DNOA` \[90] DEPENDENCY NOTICE OF APPEAL, `DVJ` \[145] DOMESTIC VIOLENCE JUDGMENT, `DVJMV`
\[159] DOMESTIC VIOLENCE JUDGMENT (MINOR VICTIM), `EAS` \[92] EASEMENT, `EMTG` \[93] ELECTRONIC
MORTGAGE, `FJPD` \[94] FINAL JDGMT PUBLIC DEFENDER, `FS` \[95] FINANCE STATEMENT/UCC, `MTGG` \[112]
GOVERNMENT (EXEMPT FROM ALL TAX), `GOV/REL` \[96] GOVT RELATED, `IA` \[160] INACTIVE, `JOINDER` \[101]
JOINDER, `JDG` \[97] JUDGMENT, `JDGR` \[98] JUDGMENT/RESTITUTION, `JDGS` \[99] JUDGMENT/SENTENCE,
`JVRL` \[102] JUVENILE RESTITUTION LIEN, `LN` \[103] LIEN, `LP` \[104] LIS PENDENS, `ML` \[105] MARRIAGE
LICENSE, `MLA` \[141] MARRIAGE LICENSE AMENDED, `MLC` \[106] MARRIAGE LICENSE COUNSELING, `MLD` \[142]
MARRIAGE LICENSE DUPLICATE, `DISCHG` \[89] MILITARY DISCHARGE, `MOD` \[108] MODIFICATION, `MTG` \[110]
MORTGAGE, `MMOD` \[107] MORTGAGE MOD, `MTGND` \[155] MORTGAGE NO DOC STAMP/INTANGIBLE TAX ONLY,
`MTGNI` \[113] NO INTANGIBLE MORTGAGE, `NONINDEXED` \[116] NON INDEXED IMAGE, `NOTICE` \[120] NOTICE,
`N/C` \[115] NOTICE COMMENCEMENT, `NOTCONT` \[118] NOTICE CONTEST OF LIEN, `NOTBOND` \[117] NOTICE OF
BOND, `NOTHOMEST` \[119] NOTICE OF HOMESTEAD, `NTD` \[149] NOTICE OF TAX DEED SALE, `ORDER` \[121]
ORDER, `PTL REL` \[125] PARTIAL RELEASE, `PLAT` \[140] PLAT, `PLATREL` \[123] PLAT RELATED, `P/A` \[122]
POWER OF ATTORNEY, `PROB` \[124] PROBATE, `RELEASE` \[126] RELEASE, `REPORTSA` \[127] REPORT SINKHOLE
ACTIVITY, `RST` \[128] RESTRICTIONS, `RPOFJ` \[146] RPO FINAL JUDGMENT, `SAT` \[129] SATISFACTION,
`SATNF` \[130] SATISFACTION NO FEE, `TXDC` \[134] TAX DEED (CITY REDEEMED), `TXD` \[158] TAX DEED,
`MTGTF` \[114] TAX FREE MORTGAGE, `TERM` \[131] TERMINATION, `TRANS` \[133] TRANS, `TRA` \[132]
TRANSFER, `VAFJ` \[147] VA FINAL JUDGMENT, `WRT` \[137] WARRANT, `WRTNF` \[138] WARRANT NO FEE, `WDL`
\[135] WITHDRAWAL, `WDLNF` \[136] WITHDRAWAL NO FEE, `ZZNOT USED` \[139] ZZNOT USED.

Pasco has 38 document categories and an `ALL` option. Use the category label: `ALL`,
`ADMINISTRATIVE ORDER`, `AFFIDAVIT`, `AGREEMENT`, `AGREEMENT FOR DEED`, `ASSIGNMENT`, `BANKRUPTCY`,
`BOND`, `CERTIFICATE`, `CERTIFICATE OF COMPLIANCE`, `CONDO`, `COURT PAPER`,
`DEED / PROPERTY TRANSFER`, `EASEMENT`, `FINANCING STATEMENT`, `GOVERNMENT RELATED`, `JUDGMENT`,
`JUDGMENT CERTIFIED`, `LIEN`, `LIS PENDENS`, `MARRIAGE RECORD`, `MODIFICATION`, `MORTGAGE`,
`NEWS OF RECORD`, `NOTICE`, `NOTICE OF COMMENCEMENT`, `NOTICE OF CONTEST LIEN`, `NOTICE TO OWNER`,
`ORDER`, `PARTIAL RELEASE`, `PLAT RELATED`, `POWER OF ATTORNEY`, `PREMARITAL PROVIDER`,
`PROPERTY APPRAISER`, `RELEASE`, `RESTRICTION`, `SATISFACTION`, `SINKHOLE-RELATED`, `TERMINATION`.
Pasco has no separate tax deed or certificate of title category.

### Quick start

No code needed; about two minutes from input to spreadsheet. For a longer walkthrough with example
output, read the guide
[Build a Florida lis pendens list for pre-foreclosure research](https://finaldynamics.com/florida-lis-pendens-guide.html).

1. Open the example "Lis pendens filings, Hillsborough County FL, last 7 days" on this actor's page,
   or paste one of the inputs above into the input form.
2. Click **Start** and wait until the run shows **Succeeded**.
3. Open the **Output** tab to see the documents as a table.
4. Click **Export**, choose CSV or Excel, and download the file.
5. In Google Sheets, choose **File > Import > Upload** and select the file.

### Automate it

**A weekly pre-foreclosure pull:** keep `lastDays` in the task (for example 7) so the date window
moves with every run. Click **Save as a new task**, then add a schedule for that task under
**Schedules** in Apify Console (for example every Monday at 07:00). To get only documents you have
not received before, turn on `newOnly` and select a key-value store as `stateStoreId`.

**Into Google Sheets with n8n:** add the **Apify** node with the **On new Apify Event** trigger,
choose your task and the succeeded event, then add an **Apify** node with **Get Dataset Items**
using the run's `defaultDatasetId`, and finish with a **Google Sheets** node that appends the rows.
Every scheduled run then adds its documents to the same sheet. Make and Zapier have Apify
integrations that work the same way.

### Pricing

Pay per event. There are no platform usage charges on top.

| Event           |  Price | When                                             |
| --------------- | -----: | ------------------------------------------------ |
| `actor-start`   |  $0.01 | Once per run                                     |
| `record`        | $0.006 | Per document row delivered                       |
| `record-detail` | $0.003 | Per record page read, only with `includeDetails` |

Examples: a week of lis pendens (about 70 documents) costs about $0.43. One day of deeds (about 260
documents) costs about $1.57. A run that finds nothing costs $0.01.

Set a maximum charge on the run if you want a hard ceiling; the actor stops cleanly at the cap.

### Coverage

| `county`       | Clerk                                                      | What you get                                                                                           |
| -------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| `hillsborough` | Hillsborough County Clerk of Court and Comptroller (Tampa) | 63 document types, sale price on deeds, `clerkReleasedThrough`                                         |
| `collier`      | Collier County Clerk of the Circuit Court (Naples)         | 37 document types; with `includeDetails`, recording time, case number and amount                       |
| `seminole`     | Seminole County Clerk of the Circuit Court and Comptroller | 74 types; recording time; full parties and deed amount with details; no case number                    |
| `duval`        | Duval County Clerk of Courts                               | 82 types; deed consideration; full parties and case number with details; date only                     |
| `pasco`        | Pasco County Clerk & Comptroller                           | 38 categories plus ALL; party sides and time from prefix searches; full parties and legal with details |

### Good to know

- Timing. Documents appear in the Clerk's search on the day they are recorded. The legal description
  and party names are completed by Clerk staff over the following days, and Hillsborough’s
  `clerkReleasedThrough` is the date through which that verification is finished. The other counties
  leave it null. Rows recorded after it can still change on the Clerk's side.
- The legal description is the lot, block and subdivision or a metes-and-bounds fragment, not a
  street address. Matching it to an address and owner mailing address uses the county property
  appraiser's roll; that join is not part of this actor.
- Names are as recorded: last name first for people, uppercase throughout, sometimes truncated by
  the Clerk.
- Public records only. The actor runs the same search the public site runs, one request at a time,
  with retries and backoff, and never logs in, solves CAPTCHAs or uses proxies. If the site is in
  maintenance or blocks access, the run fails with a clear message rather than returning an empty
  result.
- Not affiliated with the Hillsborough County Clerk of Court and Comptroller. Public records can be
  incomplete or corrected later; a lis pendens is a filed claim, not a judgment.

### FAQ

**How do I get a lis pendens list in Florida?**

Choose a county (Hillsborough, Collier, Seminole, Duval or Pasco), keep the default lis pendens
document type and set `lastDays`. Each run returns every lis pendens the clerk recorded in that
window.

**Is a lis pendens the same as a pre-foreclosure lead?**

Most lis pendens are filed with a foreclosure suit, so they are the earliest public pre-foreclosure
signal. Some relate to other lawsuits over property, such as HOA liens or title disputes; the
parties and case number show which.

**Can I get deed transfers too?**

Yes. Add deed to `documentTypes`. Hillsborough and Duval publish the sale price on deeds.

**Which Florida counties are covered?**

Hillsborough, Collier, Seminole, Duval and Pasco. Other counties are added when their public search
works for automated access without CAPTCHAs.

### Related actors

- [Florida Vacant Land & Absentee Owner Leads](https://apify.com/finaldynamics/florida-vacant-land-leads):
  vacant parcels and out-of-state owners in every Florida county.
- [Florida Property Sales & New Owner Leads](https://apify.com/finaldynamics/florida-property-sales-leads):
  recorded sales with the new owner's mailing address.
- [Code Violation Leads](https://apify.com/finaldynamics/code-violation-leads): code enforcement
  cases from Accela cities and counties.

Questions or a document type that does not behave? Open an issue on the actor page and include the
date range and document types.

# Actor input Schema

## `county` (type: `string`):

Florida county clerk to search: Hillsborough, Collier, Seminole, Duval and Pasco. Pasco needs about 36 searches per document type per date window and takes a few minutes per week.

## `documentTypes` (type: `array`):

County document labels, names or codes, case-insensitive, including cross-county code aliases. See the document type lists in the README (Hillsborough, Collier, Seminole, Duval and Pasco). Pasco uses category labels and supports ALL.

## `dateFrom` (type: `string`):

Inclusive Eastern recording date in YYYY-MM-DD format. Maximum window is 366 days. Required when lastDays is 0.

## `dateTo` (type: `string`):

Inclusive Eastern recording date in YYYY-MM-DD format; must be on or after dateFrom. Required when lastDays is 0.

## `lastDays` (type: `integer`):

When positive, overrides dates with this many calendar days ending today in America/New\_York, inclusive. Zero requires both dates above.

## `maxResults` (type: `integer`):

Maximum rows delivered after filters. A truncated run does not advance newOnly state.

## `minSalesPrice` (type: `number`):

Keep published search-row deed prices at least this value in Hillsborough and Duval. Unknown prices are dropped. Collier, Seminole and Pasco require zero; Seminole deed amounts need includeDetails. Zero disables filtering.

## `newOnly` (type: `boolean`):

Deliver instruments absent from the persistent county scope. Only complete successful runs advance state. The first run delivers all matching instruments.

## `stateStoreId` (type: `string`):

Needed for "only new documents" on Apify: create a key-value store in Apify Console and select it here. The actor remembers which documents it has delivered in that store.

## `waitForLegalDescription` (type: `boolean`):

Hold back documents the Clerk has not finished indexing (no legal description yet) so they arrive complete on a later run. Recommended with newOnly on a schedule.

## `includeDetails` (type: `boolean`):

Fetch full parties and available detail fields in Collier, Seminole, Duval and Pasco. Each successful detail costs $0.003. Seminole details take about 15 seconds per record; Pasco waits at least 3 seconds between requests. Pasco details identify party sides, recording time and legal description, with no case number or sale price. Duval has no recording time. Hillsborough ignores this option. Failed details are flagged and uncharged. More than 20% failures or 25 failures stops delivery.

## Actor input object example

```json
{
  "county": "hillsborough",
  "documentTypes": [
    "(LP) LIS PENDENS"
  ],
  "dateFrom": "2026-09-01",
  "dateTo": "2026-09-07",
  "lastDays": 7,
  "maxResults": 500,
  "minSalesPrice": 0,
  "newOnly": false,
  "stateStoreId": "",
  "waitForLegalDescription": false,
  "includeDetails": false
}
```

# Actor output Schema

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

Delivered documents in the default dataset from Hillsborough, Collier, Seminole, Duval and Pasco, including clerkReleasedThrough (available in Hillsborough). When waitForLegalDescription is true, documents without a legal description are held back, uncharged and absent from newOnly state. UTC ISO 8601 recording timestamp for Hillsborough and Seminole; Collier and Pasco require includeDetails, otherwise null. Always null for Duval, which publishes only the recording date. Rows include caseNumber, amountUsd and detailFetchFailed; details require includeDetails. Document reference on the Clerk's site (Hillsborough: by instrument number; Collier: by document id; Duval: by transaction item id; Pasco: instrument detail). Seminole: instrument API reference requiring the site's session token, not a public link. Examples: https://publicaccess.hillsclerk.com/oripublicaccess/?instrument=2026342874; https://app.collierclerk.com/CORPublicAccess/Document/Detail/8278156. True for abbreviated Collier parties and for Seminole, Duval and Pasco without details. False for successful details; null for Hillsborough. Published first-side names joined with semicolon and space. Pasco without details preserves the Name search column, which can contain either party side. Published second-side names joined with semicolon and space. Pasco without details preserves the Cross-Party Name search column; use details for confirmed Party 1 and Party 2 roles. Published deed sale price in Hillsborough and Duval. Null for Collier, Seminole and Pasco.

## `files` (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 = {
    "county": "hillsborough",
    "documentTypes": [
        "(LP) LIS PENDENS"
    ],
    "dateFrom": "2026-09-01",
    "dateTo": "2026-09-07",
    "lastDays": 7,
    "maxResults": 500,
    "minSalesPrice": 0,
    "newOnly": false,
    "stateStoreId": "",
    "waitForLegalDescription": false,
    "includeDetails": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("finaldynamics/florida-pre-foreclosure-leads").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 = {
    "county": "hillsborough",
    "documentTypes": ["(LP) LIS PENDENS"],
    "dateFrom": "2026-09-01",
    "dateTo": "2026-09-07",
    "lastDays": 7,
    "maxResults": 500,
    "minSalesPrice": 0,
    "newOnly": False,
    "stateStoreId": "",
    "waitForLegalDescription": False,
    "includeDetails": False,
}

# Run the Actor and wait for it to finish
run = client.actor("finaldynamics/florida-pre-foreclosure-leads").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 '{
  "county": "hillsborough",
  "documentTypes": [
    "(LP) LIS PENDENS"
  ],
  "dateFrom": "2026-09-01",
  "dateTo": "2026-09-07",
  "lastDays": 7,
  "maxResults": 500,
  "minSalesPrice": 0,
  "newOnly": false,
  "stateStoreId": "",
  "waitForLegalDescription": false,
  "includeDetails": false
}' |
apify call finaldynamics/florida-pre-foreclosure-leads --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,finaldynamics/florida-pre-foreclosure-leads"
        }
    }
}
```

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/DG4Jxee3BwyeZyA6H/builds/HWKecAnnv8cJDxu8m/openapi.json
