# New UCC Filings: Colorado & Connecticut Business Liens (`yzy001/new-ucc-filings`) Actor

New UCC-1 financing statements against businesses in Colorado and Connecticut, from the states' official open data: debtor, address, lender (secured party), filing and lapse dates. Filter by lender or debtor location, track only new filings, or look up every lien on a business.

- **URL**: https://apify.com/yzy001/new-ucc-filings.md
- **Developed by:** [宗諭 楊](https://apify.com/yzy001) (community)
- **Categories:** Lead generation, Business, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 ucc filings

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

## New UCC Filings: Colorado & Connecticut

Every new UCC-1 financing statement filed against a business in Colorado and Connecticut, in one table, read straight from each Secretary of State's official open-data portal: who borrowed or leased, where they are, which lender or lessor filed, and when the filing lapses. Filter by lender or debtor location, schedule it daily with tracking to get only new filings, or look up every filing against a business by name.

A 7-day window across both states is roughly 350 to 450 filings.

### What you get for each filing

| Field | Meaning |
|---|---|
| `state`, `filingNumber` | The filing state and its filing number |
| `filingDate`, `lapseDate` | When it was filed (Connecticut: accepted) and when it lapses unless continued (normally five years later) |
| `status` | `ACTIVE`, `LAPSED` (lapse date passed), `TERMINATED` (Colorado termination on file, checked in lookups), `RELEASED` or `OTHER` (Connecticut's own status) |
| `debtors` | Every business debtor: name, organization type and jurisdiction where Colorado gives them, address |
| `individualDebtorsWithheld` | How many private persons were also debtors on this filing (not named) |
| `securedParties` | The lenders, lessors or their filing agents: name and address. A secured party who is a private person is shown without a name |
| `documentType` | The state's document type |
| `sourceRecordUrl` | The exact record on the state's open-data portal |
| `changeStatus`, `firstSeen` | With tracking: `FIRST_RUN`, `NEW` or `SEEN`, and when this filing was first returned to you |

### Two ways to use it

- **New filings.** A date window (the last 7 days by default) with optional filters: lender keywords (for example `bank`, `capital`, `Caterpillar`), lenders to leave out (for example `as representative`, which drops filing-agent placeholders such as Corporation Service Company), debtor states, cities or ZIP prefixes. With tracking and "only filings not seen before", a daily run returns each filing once.
- **Lien lookup.** Paste business names: every UCC-1 against a business whose name contains the text, of any date, active only unless you include lapsed and ended filings.

### What is left out, and counted

- Hospital, IRS, state revenue, municipal, judgment, labor, vessel, aircraft and agricultural liens. They are not commercial financing, and hospital liens concern patients.
- Filings whose debtors are all private persons (consumer and farm-family filings). In a filing with both, the business debtors are listed and the people are only counted.
- Amendments, continuations and terminations are not listed as separate rows; a Colorado termination shows as `TERMINATED` on the original filing in lookups.

The run summary counts what was left out, per state, together with the rows your filters removed, filings per day and the most frequent secured parties.

### How current it is

The portals are refreshed every day and trail the filings by about one to two days. The run summary shows each portal's last refresh and the newest filing date it has published, and the status message says when a state has not caught up with the end of your window. A portal not refreshed for more than 7 days is reported as failed instead of being returned as if it were current.

### Things to know

- Many filings name a filing agent "as representative" instead of the lender itself; use the lender filters to keep or drop them.
- Collateral descriptions are not published in a usable form (Colorado mostly "See attached", Connecticut none) and are not included.

### Data

Public-domain datasets from the Colorado Secretary of State and the Connecticut Secretary of the State, read through each portal's public API. No login, no scraping of search pages, and one request per second per portal as the portals ask.

# Actor input Schema

## `states` (type: `array`):

Which states to read, each from its Secretary of State's open-data portal.

## `daysBack` (type: `integer`):

New filings dated within the last N days, today included (1-31). The portals trail by one to two days. Ignored when a from date is set.

## `fromDate` (type: `string`):

Optional. First filing date to include (YYYY-MM-DD). The range can cover at most 31 days.

## `toDate` (type: `string`):

Optional. Last filing date to include. Defaults to today.

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

Optional. Every UCC-1 filing, of any date, against a business whose name contains this text (3 characters or more, up to 100 names). Turns off the date window.

## `includeLapsed` (type: `boolean`):

For name lookups: also return filings that lapsed, were terminated or were released.

## `securedPartyKeywords` (type: `array`):

Optional. Keep filings whose secured party name contains any of these, for example bank, capital, Caterpillar.

## `excludeSecuredPartyKeywords` (type: `array`):

Optional. Leave out filings whose secured party name contains any of these, for example 'as representative' to drop filing-agent placeholders.

## `debtorStates` (type: `array`):

Optional. Keep filings with a debtor whose address is in these states (two-letter codes).

## `debtorCities` (type: `array`):

Optional. Keep filings with a debtor in one of these cities (exact name, any case).

## `debtorZipPrefixes` (type: `array`):

Optional. Keep filings with a debtor whose ZIP starts with one of these.

## `trackChanges` (type: `boolean`):

Remember the filings returned by earlier tracked runs (120 days, in a key-value store named new-ucc-filings-state in your account) and mark each row NEW or SEEN.

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

With tracking on, leave out filings an earlier tracked run already returned. Good for a daily schedule with a 7-day window, which also catches filings the state published late.

## `allowPartial` (type: `boolean`):

On by default: if one state's portal cannot be read, the other is still returned and the status message names it.

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

Upper bound on rows returned, newest first. A 7-day window across both states is roughly 350-450 filings.

## Actor input object example

```json
{
  "states": [
    "CO",
    "CT"
  ],
  "daysBack": 7,
  "debtorNames": [],
  "includeLapsed": false,
  "securedPartyKeywords": [],
  "excludeSecuredPartyKeywords": [],
  "debtorStates": [],
  "debtorCities": [],
  "debtorZipPrefixes": [],
  "trackChanges": false,
  "onlyNew": false,
  "allowPartial": true,
  "maxItems": 100
}
```

# Actor output Schema

## `items` (type: `string`):

Filings from every state.

## `summary` (type: `string`):

Per-state status and freshness, filings left out and why, top lenders, caveats.

# 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 = {
    "states": [
        "CO",
        "CT"
    ],
    "daysBack": 7,
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("yzy001/new-ucc-filings").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 = {
    "states": [
        "CO",
        "CT",
    ],
    "daysBack": 7,
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("yzy001/new-ucc-filings").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 '{
  "states": [
    "CO",
    "CT"
  ],
  "daysBack": 7,
  "maxItems": 100
}' |
apify call yzy001/new-ucc-filings --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,yzy001/new-ucc-filings"
        }
    }
}
```

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/QwaHN82qz2lpKGXZT/builds/ddo2tT0QjBj09jAu5/openapi.json
