# Colorado Contractor Leads, Verified Business Records (`thoob/co-contractor-records`) Actor

Active Colorado home-services contractor records from the Secretary of State roster. Free verified directory; switch on contacts to attach a found-on-page phone or verified email, and pay only for records that carry one.

- **URL**: https://apify.com/thoob/co-contractor-records.md
- **Developed by:** [Pono Data](https://apify.com/thoob) (community)
- **Categories:** Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$25.00 / 1,000 verified contact (phone or email)s

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Colorado Contractor Leads, Verified Business Records

Active Colorado home-services contractors (electrical, plumbing, HVAC, roofing,
construction, and the related trades), pulled from the Colorado Secretary of State
business roster. Run it free for the verified business directory; switch on
contacts to attach a found-on-page phone or a deliverability-checked email, and pay
only for the records that carry one.

### Two ways to run it

**Free directory (default).** Leave "Find verified contacts" off and every active
Colorado contractor record is returned at no charge: business name, address, entity
type, formation date, and a link to its Secretary of State record. A clean,
verifiable contractor list, free.

**Verified contacts (paid).** Switch "Find verified contacts" on and the actor
resolves each company's own website and attaches a phone or a verified email found
on the page. You are charged only for a delivered record that carries a verified
contact. A record with no findable contact, and any rejected row, is free.

### What you get

| Field | In the free directory | With contacts |
|---|---|---|
| businessName, address, city, state, zip | yes | yes |
| entityType, formationDate, secretaryOfStateId | yes | yes |
| sourceUrl (the SoS record), jurisdiction, retrievedAt | yes | yes |
| website | - | when confirmed |
| phone (found on the page) | - | when found |
| email + emailVerified | - | when found and deliverable |

Every field is copied from its source. Nothing is guessed. If a value is not on
the record or the page, the field is empty rather than invented.

### How the contact match works

The roster carries no website, so the actor does not assume one. It searches for and
forms candidate domains, fetches the live site, and accepts it only when the page
shows the business name AND an unmistakable Colorado signal (a Colorado area-code
phone, ZIP, or the state itself). A same-named company in another state does not
match, and a domain-for-sale page is rejected. Precision first: a wrong contact is
worse than none, so a business whose site cannot be confirmed ships as a free
directory record with no contact attached.

### Sample output (with contacts)

| Business | Trade | City | Phone | Verified email | Source |
|---|---|---|---|---|---|
| Green Gable Roofing, LLC | roofing | Denver, CO | (found on site) | support@greengableroofing.com | [SoS record](https://www.coloradosos.gov/biz/BusinessEntityDetail.do?masterFileId=20261784340) |
| Dan's Plumbing, LLC | plumbing | (CO) | (970) … | - | [SoS record](https://www.coloradosos.gov/biz/BusinessEntityDetail.do?masterFileId=20261795128) |

### Input

- `trades`: which trades to include (empty = all home-services trades)
- `state`: Colorado only in this version (`CO`)
- `withContacts`: resolve websites and attach verified phone/email (the paid tier)
- `requireContact`: with contacts on, deliver only records that have one
- `maxRecords`, `minFormationYear`: scope the run
- `emailVerifierApiKey`: optional, your own MillionVerifier key

### Scope and sourcing

- What this collects: public business-registration records, plus contact details a
  company publishes on its own website.
- Source: public pages only. No logins, no paywalls, no access bypass. The crawler
  identifies itself, respects robots.txt, and stops at any site that refuses it.
- Scope: United States, Colorado businesses only.
- Billing: the directory is free; you pay only for a delivered record with a
  verified contact. Rejected rows are free and visible with a reason.
- Provenance: every row carries its Colorado SoS source URL and retrieval time.

# Actor input Schema

## `trades` (type: `array`):

Home-services trades to include (by category). Empty = all home-services trades.
## `state` (type: `string`):

US state postal code of the business principal address. Colorado only in this version.
## `withContacts` (type: `boolean`):

Off (default) returns the free verified business directory: name, address, type, and the Secretary of State source link, at no charge. On resolves each company's website and attaches a found-on-page phone or a deliverability-checked email. You are charged only for a delivered record that carries a verified contact; records without one, and rejects, are free.
## `requireContact` (type: `boolean`):

With 'Find verified contacts' on, drop records where no phone or verified email was found, so every delivered row is a reachable lead. Has no effect on the free directory.
## `maxRecords` (type: `integer`):

Stop after delivering this many records. 0 = no cap (bounded by your spend limit).
## `minFormationYear` (type: `integer`):

Only businesses formed in or after this year. 0 = no floor.

## Actor input object example

```json
{
  "trades": [],
  "state": "CO",
  "withContacts": false,
  "requireContact": false,
  "maxRecords": 100,
  "minFormationYear": 0
}
````

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("thoob/co-contractor-records").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("thoob/co-contractor-records").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call thoob/co-contractor-records --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=thoob/co-contractor-records",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Colorado Contractor Leads, Verified Business Records",
        "description": "Active Colorado home-services contractor records from the Secretary of State roster. Free verified directory; switch on contacts to attach a found-on-page phone or verified email, and pay only for records that carry one.",
        "version": "0.0",
        "x-build-id": "V0UqbvNvoHbWlzKye"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/thoob~co-contractor-records/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-thoob-co-contractor-records",
                "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/thoob~co-contractor-records/runs": {
            "post": {
                "operationId": "runs-sync-thoob-co-contractor-records",
                "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/thoob~co-contractor-records/run-sync": {
            "post": {
                "operationId": "run-sync-thoob-co-contractor-records",
                "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": {
                    "trades": {
                        "title": "Trades",
                        "type": "array",
                        "description": "Home-services trades to include (by category). Empty = all home-services trades.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "electrical",
                                "plumbing",
                                "hvac",
                                "heating",
                                "roofing",
                                "construction",
                                "general-contractor",
                                "remodeling",
                                "mechanical",
                                "landscaping",
                                "painting",
                                "concrete",
                                "flooring"
                            ]
                        },
                        "default": []
                    },
                    "state": {
                        "title": "State",
                        "type": "string",
                        "description": "US state postal code of the business principal address. Colorado only in this version.",
                        "default": "CO"
                    },
                    "withContacts": {
                        "title": "Find verified contacts (phone + email)",
                        "type": "boolean",
                        "description": "Off (default) returns the free verified business directory: name, address, type, and the Secretary of State source link, at no charge. On resolves each company's website and attaches a found-on-page phone or a deliverability-checked email. You are charged only for a delivered record that carries a verified contact; records without one, and rejects, are free.",
                        "default": false
                    },
                    "requireContact": {
                        "title": "Only deliver records that have a verified contact",
                        "type": "boolean",
                        "description": "With 'Find verified contacts' on, drop records where no phone or verified email was found, so every delivered row is a reachable lead. Has no effect on the free directory.",
                        "default": false
                    },
                    "maxRecords": {
                        "title": "Max records to deliver",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Stop after delivering this many records. 0 = no cap (bounded by your spend limit).",
                        "default": 100
                    },
                    "minFormationYear": {
                        "title": "Minimum formation year",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only businesses formed in or after this year. 0 = no floor.",
                        "default": 0
                    }
                }
            },
            "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
                                    }
                                }
                            },
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
