# Monitor Contractor Licence Expiry and Lapsed Bonds

**Use case:** 

Re-check a roster of Washington and Oregon contractors against the state registers and see which licences are expired, closed or about to lapse, plus Oregon bond and insurance expiry dates. Built for general contractors and insurers who must re-verify every subcontractor on a cycle. Schedule it monthly and switch on "Only return what changed" to hear only about the ones that moved.

## Input

```json
{
  "roster": [
    "WA | 110LLL*812CA | 110% LLC",
    "WA | 1111CI*756DO | 1111 Construction Inc",
    "WA | 12CUSCH819RK | 12 Custom Homes LLC",
    "WA | 12FRAFL796PN | 12 Framers LLC",
    "WA | 1AQUAAM831PC",
    "OR | 240630 | Ortiz General Contractor LLC",
    "OR | 240636 | Angi Contracting LLC"
  ],
  "registries": [
    "wa-contractor",
    "or-ccb"
  ],
  "searchBy": "auto",
  "expiringWithinDays": 90,
  "alertsOnly": false,
  "onlyChangesSinceLastRun": false,
  "trackChanges": true,
  "watchlistName": "subcontractors",
  "maxRosterEntries": 500
}
```

## Output

```json
{
  "rosterInput": {
    "label": "Roster line"
  },
  "verification": {
    "label": "Verification"
  },
  "matchedName": {
    "label": "Licensee"
  },
  "matchedLicenseNumber": {
    "label": "License number"
  },
  "licenseType": {
    "label": "License type"
  },
  "licenseStatus": {
    "label": "Status"
  },
  "expirationDate": {
    "label": "Expires"
  },
  "daysToExpiry": {
    "label": "Days left"
  },
  "alerts": {
    "label": "Alerts"
  },
  "_change": {
    "label": "Change"
  },
  "registryState": {
    "label": "State"
  },
  "registry": {
    "label": "Registry"
  },
  "matchConfidence": {
    "label": "Match confidence"
  },
  "verifyUrl": {
    "label": "Verify at"
  }
}
```

## About this Actor

This example demonstrates how to use [License Verification & Expiry Monitor: Bulk US License Lookup](https://apify.com/fayoussef/license-roster-monitor.md) with a specific input configuration. Visit the [Actor detail page](https://apify.com/fayoussef/license-roster-monitor.md) to learn more, explore other use cases, and run it yourself.


## How to integrate an Actor?

This Task's input is already configured above. Use it as-is rather than inventing a new one.

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 full API examples (JavaScript, Python, CLI, MCP, OpenAPI), see this Task's Actor page: https://apify.com/fayoussef/license-roster-monitor.md

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`).
