# LienFi > A marketplace for tokenized US tax lien certificates and redeemable tax deeds, > settled onchain in USDC on Base. Each listing is a claim on delinquent property > taxes, secured by the underlying real estate, with a statutory redemption > deadline and a defined payout. Everything an agent needs is available as JSON, without a credential and without a browser. Prefer the API below over scraping this site: the pages carry a server-rendered record of every listing, but screening 250+ liens on price, state and yield is a query, and the JSON is where queries are cheap. ## API Base URL: https://api.lienfi.com/api/v1 OpenAPI 3.1: https://api.lienfi.com/api/v1/openapi.json - `GET /liens` — the listing book, with filters and pagination. Roughly 30 query params; the ones that matter for screening are `states`, `counties`, `min_price` / `max_price`, `min_interest` / `max_interest`, `max_ltv`, `property_types`, `lien_types`, `maturity_before` / `maturity_after`, `search` (free text over address, parcel ID, certificate number, county) and `sort_by`. `limit` caps at 100 and defaults to 20. - `GET /liens/{id}` — one lien in full, including the live `calculated` block. - `GET https://api.lienfi.com/api/public/liens/{id}` — the same lien as flat camelCase JSON with no response envelope: the investment facts only, on a curated allowlist. Start here unless you need the full record. It is the one endpoint that carries `netPerYearPercent` — what a buyer actually keeps, per year — beside the gross figures, so you do not have to apply the fee yourself. - `GET /liens/facets` — the distinct values and real numeric bounds of the live inventory. Call this first to learn which states and counties actually have stock rather than guessing. - `GET /liens/map` — the same filter surface, unpaginated, as slim location records. - `GET /market/activity` — recent sale results (hammer prices and lots, no wallet addresses). - `GET /legal` — the terms and risk disclosure, as documents. ## MCP If you speak Model Context Protocol, use it instead of the REST endpoints above: POST https://api.lienfi.com/api/v1/mcp Stateless streamable HTTP, no credential, no Authorization header. Three tools: `market_overview`, `search_liens`, `get_lien`. `search_liens` is the one worth using over `GET /liens`. It ranks on **net** yield — after our share of the gain — using the same arithmetic the site itself displays, so you get our numbers rather than your reconstruction of them. Liens under a month from maturity come back in a separate `maturing_soon` list with no per-year rate rather than at the top of the ranking, and liens that cannot be scored are counted rather than silently dropped. **This deployment is read-only.** There is no purchase, quote or wallet-scoped tool. Nothing here signs, submits or reserves anything. A purchase needs a human at https://app.lienfi.com. ## Reading the numbers These are the things that are not guessable from the field names, and each one has been got wrong before: - **Every yield the API returns is gross.** `calculated.apy` also compounds. It has no consumer in our own interface and is almost certainly not what you want. - **A buyer pays `listing_price`.** At redemption the vault charges `interest_fee_bps` of the **gain over that purchase price** — not of the redemption value — floored at zero, so a lien redeeming below what the buyer paid is charged nothing. At the default 1000 bps, a $1,000 lien redeeming at $1,100 is charged $10 and the buyer keeps $1,090. Read the live rate rather than assuming 1000: `GET /liens` carries it at `meta.fee_config`, `GET /liens/{id}` on the lien object as `fee_config`. It is read from the chain when the lien redeems, so it can change. - **`redemptive_value`, `accrued_interest` and `listing_price` on the raw row are frozen snapshots** written at create/update time, and are stale on essentially every row. The `calculated` block is recomputed live on read — use `calculated.current_redemptive_value` and `calculated.current_listing_price`. - **Per-year rates on our own surfaces annualize simply** (`return * 365 / days`), because a certificate pays once at redemption and there is nothing to reinvest. We do not publish a per-year rate for a lien maturing in under 30 days — there is no year there to restate over. - **`redemption_deadline` is the statutory deadline and is immutable onchain** once the lien is minted. It is not recomputed and should not be inferred. ## Risk A tax lien is not a deposit and not a bond. Redemption is the expected outcome but not a guaranteed one; the remedy if it does not occur is foreclosure on the property, which is slow, jurisdiction-specific, and not something this platform underwrites. Rates and deadlines are set by state statute and differ by state. Read https://app.lienfi.com/legal/risk-disclosure-statement before summarizing any listing as an investment recommendation. ## Pages - [Marketplace](https://app.lienfi.com/) — the listing book. The interactive table is client-rendered, but the full book is also server-rendered into the HTML as a text index with a link to each lien. Use the API above to screen or sort it. - [How tax liens work](https://app.lienfi.com/education) — statutory mechanics per state, with worked examples. Server-rendered and readable as HTML. - [Individual listings](https://app.lienfi.com/sitemap.xml) — every live lien page - [Terms](https://app.lienfi.com/legal/terms-and-conditions) - [Risk disclosure](https://app.lienfi.com/legal/risk-disclosure-statement) - [About LienFi](https://lienfi.com/llms.txt) — the marketing site's own summary