{
  "openapi": "3.0.1",
  "info": {
    "title": "UCC Lien Search — NY, FL, CO, CT, OR — No Login, $3.5/1k",
    "description": "UCC lien search across New York, Florida, Colorado, Connecticut and Oregon registries by debtor name, secured party or filing number, in bulk: filing number, type, dates, status, all parties, collateral (CO), amendment history. No login or cookies. MCP-ready for AI agents. $3.5 per 1,000 records.",
    "version": "1.0",
    "x-build-id": "euFdiBUHrDkVHUCvN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fortuitous_pirate~ucc-lien-search-ny/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fortuitous_pirate-ucc-lien-search-ny",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/fortuitous_pirate~ucc-lien-search-ny/runs": {
      "post": {
        "operationId": "runs-sync-fortuitous_pirate-ucc-lien-search-ny",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/fortuitous_pirate~ucc-lien-search-ny/run-sync": {
      "post": {
        "operationId": "run-sync-fortuitous_pirate-ucc-lien-search-ny",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "states": {
            "title": "States",
            "uniqueItems": true,
            "type": "array",
            "description": "State UCC registries to search. NY = Department of State e-filing portal (needs the default US residential proxy), FL = floridaucc.com public API, CO = Colorado SOS open data (collateral text included), CT = Connecticut SOTS open data, OR = Oregon SOS 'filings entered last month' feed (rolling one-month window only).",
            "items": {
              "type": "string",
              "enum": [
                "NY",
                "FL",
                "CO",
                "CT",
                "OR"
              ],
              "enumTitles": [
                "New York",
                "Florida",
                "Colorado",
                "Connecticut",
                "Oregon (last-month feed)"
              ]
            },
            "default": [
              "NY",
              "FL",
              "CO",
              "CT"
            ]
          },
          "debtorNames": {
            "title": "Debtor names",
            "type": "array",
            "description": "Debtor names to search, one per line (organization names, or last names when Debtor Type is Individual). Leave everything empty to get a sample run for \"APPLE\".",
            "items": {
              "type": "string"
            }
          },
          "securedPartyNames": {
            "title": "Secured party (lender) names",
            "type": "array",
            "description": "Return filings FILED BY these secured parties. Offered by CO, CT and OR; NY and FL have no secured-party index and skip these with a log line.",
            "items": {
              "type": "string"
            }
          },
          "filingNumbers": {
            "title": "Filing numbers",
            "type": "array",
            "description": "Look up specific filings by the state's filing / document number (NY, CO, CT, OR). Florida's API has no filing-number lookup.",
            "items": {
              "type": "string"
            }
          },
          "listUrl": {
            "title": "Import names from a list (CSV / Google Sheet)",
            "type": "string",
            "description": "Public URL of a CSV file or a Google Sheet shared as 'anyone with the link'. The first column is read as debtor names and added to Debtor names."
          },
          "matchMode": {
            "title": "Name match mode",
            "enum": [
              "startsWith",
              "contains",
              "exact"
            ],
            "type": "string",
            "description": "startsWith: name begins with the text (NY: SW, FL: proximity list filtered to the prefix, CO/CT/OR: SQL prefix). contains: anywhere in the name (NY: all words in order; FL falls back to prefix). exact: whole name equals the text.",
            "default": "startsWith"
          },
          "status": {
            "title": "Filing status",
            "enum": [
              "all",
              "active",
              "lapsed",
              "terminated"
            ],
            "type": "string",
            "description": "all, active (unlapsed and not terminated), lapsed (lapse date passed), terminated (terminated / released / withdrawn / purged).",
            "default": "all"
          },
          "filingDateFrom": {
            "title": "Filing date from",
            "type": "string",
            "description": "Optional YYYY-MM-DD (MM/DD/YYYY also accepted). Applied in the registry query for NY, CO, CT, OR and to the fetched filing date for FL."
          },
          "filingDateTo": {
            "title": "Filing date to",
            "type": "string",
            "description": "Optional YYYY-MM-DD (MM/DD/YYYY also accepted)."
          },
          "includeDetails": {
            "title": "Extended record (all parties, collateral, filing history)",
            "type": "boolean",
            "description": "Fetch each filing's full record: every debtor and secured party with addresses, collateral description (CO), and the UCC-3 amendment / continuation / termination history. Adds the $0.04 'extended record' event per filing in NY, FL and CO; CT and OR rows already carry their full published record and never incur it.",
            "default": true
          },
          "debtorType": {
            "title": "Debtor type",
            "enum": [
              "organization",
              "individual"
            ],
            "type": "string",
            "description": "Organization (business) or individual debtor names. For individuals give the LAST name in Debtor names and optionally a first name below.",
            "default": "organization"
          },
          "firstName": {
            "title": "First name (individual debtors)",
            "type": "string",
            "description": "Optional first name applied to every individual debtor search."
          },
          "lienType": {
            "title": "Lien type (NY only)",
            "enum": [
              "all",
              "ucc",
              "federalTax"
            ],
            "type": "string",
            "description": "New York distinguishes UCC liens from federal tax liens. Other states return every lien type they publish (CO: UCC, IRS, hospital, statutory; CT: OFS, municipal, IRS, vessel, judgment...).",
            "default": "all"
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of filings to return in total across all states and names.",
            "default": 10
          },
          "maxItemsPerState": {
            "title": "Max results per state",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "0 = split Max results evenly across the selected states. Set a number to cap each state separately (Max results still applies to the total).",
            "default": 0
          },
          "monitor": {
            "title": "Monitor mode (only new filings)",
            "type": "boolean",
            "description": "Keep a seen-state per Monitor ID and emit only filings not seen on earlier runs (plus status changes). Schedule the same input daily; combine with Lookback window, First run mode and Webhook URL.",
            "default": false
          },
          "monitorId": {
            "title": "Monitor ID",
            "type": "string",
            "description": "Name of the watchlist. Each ID keeps its own seen-state in a key-value store named ucc-monitor-<hash>, so several portfolios can run side by side.",
            "default": "default"
          },
          "lookbackDays": {
            "title": "Lookback window (days, monitor mode)",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Only filings dated within this many days count as new; older unseen filings are recorded silently so they never surface later.",
            "default": 30
          },
          "maxNewPerWatch": {
            "title": "Max new filings per name and state (monitor mode)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Stop after emitting this many changes for one name in one state per run; the rest stay unseen and come out on the next run.",
            "default": 5
          },
          "firstRunMode": {
            "title": "First run mode (monitor mode)",
            "enum": [
              "emitAll",
              "baseline"
            ],
            "type": "string",
            "description": "What to do when this Monitor ID has no saved state yet. emitAll: emit every filing inside the lookback window. baseline: record everything currently on file and emit nothing, so the next scheduled run reports only what is new.",
            "default": "emitAll"
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "Optional. After each run a JSON summary {monitorId, runAt, states, newFilings, statusChanges, pushed, filings[first 50]} is POSTed here (Slack, Zapier, Make, n8n, your API)."
          },
          "searchType": {
            "title": "Legacy: search type",
            "enum": [
              "debtorName",
              "filingNumber"
            ],
            "type": "string",
            "description": "Kept for existing integrations: 'filingNumber' reads the legacy Filing number field below. Use Filing numbers (list) for new work.",
            "default": "debtorName"
          },
          "debtorName": {
            "title": "Legacy: single debtor name",
            "type": "string",
            "description": "Kept for existing integrations; added to Debtor names."
          },
          "filingNumber": {
            "title": "Legacy: single filing number",
            "type": "string",
            "description": "Kept for existing integrations; used when Legacy search type is 'filingNumber'."
          },
          "searchLogic": {
            "title": "Legacy: NY name match logic",
            "type": "string",
            "description": "Kept for existing integrations (startsWith, standard, exact, containsAllWords). Name match mode above takes precedence when set."
          },
          "lienStatus": {
            "title": "Legacy: NY lien status",
            "type": "string",
            "description": "Kept for existing integrations (all, active, released, withdrawn, purged, lapsed). Filing status above takes precedence when set."
          },
          "fetchDetails": {
            "title": "Legacy: fetch lien details",
            "type": "boolean",
            "description": "Alias of Extended record, kept for existing integrations."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Only New York needs it: the NY portal sits behind a Cloudflare challenge that blocks datacenter IPs. The chosen group is tried first and the other Apify group (UNBLOCKER / RESIDENTIAL) is rotated in automatically. FL, CO, CT and OR are queried directly.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "UNBLOCKER"
              ]
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}