# Multi-State Corporate & Business Entity Registry (CO, CT, OR) (`muhammadafzal/co-ct-or-business-entity-registry`) Actor

Search official Colorado, Connecticut, and Oregon business registries by company name or state registry ID. Return public registry status, formation details, addresses, agent contacts when available, and official source links.

- **URL**: https://apify.com/muhammadafzal/co-ct-or-business-entity-registry.md
- **Developed by:** [Muhammad Afzal](https://apify.com/muhammadafzal) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 business registry records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## Multi-State Corporate & Business Entity Registry (CO, CT, OR)

Search official Colorado, Connecticut, and Oregon business registries by company name or state registry ID. Get a compact record with the state ID, entity type, registry status, formation date, addresses, registered-agent details when available, and direct links to the source dataset.

### What the actor returns

| Field | Description |
| --- | --- |
| state, registryId | State abbreviation and public state-issued business registry number. |
| businessName, entityType, status | Name, source entity classification, and status as published by that state. |
| formationDate, jurisdiction | Formation or registration date and formation jurisdiction when present. |
| businessAddress, mailingAddress | Principal/business and mailing addresses when supplied by the source. |
| registeredAgents | State-listed registered or statutory agent names and addresses when requested and present. |
| matchedQueries, matchedBy | Input name or registry ID that found the record. |
| sourceDatasetUrl, sourceQueryUrl | Official dataset page and API query used for traceability. |
| dataSourceDisclaimer, scrapedAt | Colorado’s required source disclaimer when applicable and the UTC retrieval time. |

This actor searches the three selected open datasets directly. Colorado and Connecticut include entities with different status values, including inactive records; the returned status text is preserved from the state source. The Oregon source contains active registrations only. Selecting Oregon therefore cannot find inactive entities.

### When to use it

- Check a legal business name against the Colorado, Connecticut, or Oregon registry.
- Resolve a state registry number to the current public record.
- Compare matching entities across multiple states.
- Retrieve public addresses and registered-agent details for vendor research, onboarding, or registry reconciliation.

This actor is not a beneficial-ownership or officer/member lookup, an EIN search, a name-availability decision, a credit or reputation report, a legal-status opinion, or a certified copy. Use the Secretary of State’s official business search and certified records for decisions that require authoritative confirmation. Registry fields reflect what each source publishes; similar names may be unrelated entities.

### Input

The default input checks the exact name NIKE, INC. in all three registries.

```
{
  "searchTerms": ["NIKE, INC."],
  "states": ["CO", "CT", "OR"],
  "searchBy": "name",
  "matchMode": "exact",
  "maxResultsPerSearch": 10,
  "maxTotalResults": 25,
  "includeRegisteredAgent": true,
  "requestDelayMs": 350
}
```

Use one to twenty search terms. Name searches support contains, beginsWith, and exact matching. Registry ID searches are exact and accept digits only; IDs use state-specific formats, so choose the state when you know it. Each result is unique by state and registry ID. With a total cap and broad matches, results are selected in round-robin order across selected states so one state is less likely to use the entire result allowance. Results stop at the lower of the per-search and total caps.

Free-plan users receive no more than five business records per run. On paid plans, maxTotalResults may be set from 1 to 500. If a run-level maxTotalChargeUsd is set, the Actor conservatively reduces the result cap using the FREE event price and preserves room for the $0.005 start event.

### Data sources and update notes

- Colorado: [Business Entities in Colorado](https://data.colorado.gov/d/4ykn-tg5h), published by the Colorado Secretary of State’s Business Intelligence Center. The source reports daily updates.
- Connecticut: [Business Registry - Business Master](https://data.ct.gov/d/n7gp-d28j) and the linked [Business Registry - Agents](https://data.ct.gov/d/qh2m-n44y) dataset. The Secretary of the State says the registry extracts update nightly.
- Oregon: [Active Businesses - ALL](https://data.oregon.gov/d/tckn-sxa6), linked by Oregon’s official [active business search page](https://sos.oregon.gov/business/public-information-data/pages/active-business-registration-search.aspx). The data catalog lists weekly publishing and change frequency.

The Actor queries public Socrata APIs with bounded result counts, sequential requests, a configurable courtesy delay, and retries for transient server and rate-limit responses. It does not use proxies, browser automation, paid APIs, or user credentials. A source schema change, state service outage, or rate limit can produce a partial result; the SUMMARY key-value record reports source failures and warnings.

#### Colorado source disclaimer

The State of Colorado requires applications using data from the Colorado Information Marketplace to include this disclaimer:

> The data made available here has been modified for use from its original source, which is the State of Colorado. THE STATE OF COLORADO MAKES NO REPRESENTATIONS OR WARRANTY AS TO THE COMPLETENESS, ACCURACY, TIMELINESS, OR CONTENT OF ANY DATA MADE AVAILABLE THROUGH THIS SITE. THE STATE OF COLORADO EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. The data is subject to change as modifications and updates are complete. It is understood that the information contained in the Web feed is being used at one's own risk.

The same disclaimer is included in every Colorado result record in dataSourceDisclaimer so it remains attached when those records are exported.

### Pricing

Pay-per-event charges use the following USD prices. The run-start event is charged automatically once per run; each unique result written to the default dataset triggers one automatic business-record event. No result event is charged for an empty or rejected search. There is no separate platform-usage pass-through.

| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND | When charged |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | --- |
| Actor start | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 | Once when the Actor run starts. |
| Business registry record | $0.010 | $0.00975 | $0.0095 | $0.008 | $0.008 | $0.008 | Per unique schema-valid result record. |

Representative event totals at the FREE pricing tier are $0.015 for one result, $0.055 for five results, and $0.255 for the default maximum of 25 results. At GOLD, PLATINUM, and DIAMOND, the corresponding totals are $0.013, $0.045, and $0.205. The higher tiers use the same event price as GOLD. Event totals exclude account usage outside this Actor. The Actor status and SUMMARY show the run’s effective record cap and estimated event total; Apify’s completed-run billing data is authoritative.

### Output example

```
{
  "state": "OR",
  "registryId": "8739914",
  "businessName": "NIKE, INC.",
  "entityType": "DOMESTIC BUSINESS CORPORATION",
  "status": "Active",
  "formationDate": "1969-09-08T00:00:00.000",
  "jurisdiction": "OR",
  "businessAddress": "ONE BOWERMAN DRIVE, BEAVERTON, OR, 97005",
  "mailingAddress": "ONE BOWERMAN DRIVE, BEAVERTON, OR, 97005",
  "registeredAgents": [
    {
      "name": "UNITED AGENT GROUP INC.",
      "address": "7185 SW SANDBURG ST STE 110, PORTLAND, OR, 97223",
      "role": "REGISTERED AGENT"
    }
  ],
  "matchedQueries": ["NIKE, INC."],
  "matchedBy": "name",
  "sourceDataset": "Oregon Active Businesses - ALL",
  "sourceDatasetUrl": "https://data.oregon.gov/d/tckn-sxa6",
  "sourceQueryUrl": "https://data.oregon.gov/resource/tckn-sxa6.json?...",
  "dataSourceDisclaimer": null,
  "scrapedAt": "2026-09-24T12:00:00.000Z"
}
```

This is a representative source record; returned fields reflect the data available when a run executes. Empty source fields are returned as null or an empty array; the Actor does not invent missing values.

### Legal and data-quality note

The state portals provide records for informational purposes and disclaim warranties about completeness, accuracy, timeliness, and fitness for a particular use. Confirm important filings, good standing, legal existence, and agent details with the relevant Secretary of State. This Actor does not certify any record and does not provide legal advice.

# Actor input Schema

## `searchTerms` (type: `array`):

Use this to find one or more companies by legal name or state registry ID. Enter one value per line, for example NIKE, INC. or 8739914. Defaults to NIKE, INC. Enter up to 20 values. This is not an owner, EIN, address, or name-availability search.

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

Use this to choose the official registries to search. Enter CO, CT, and/or OR, one per line. Defaults to all three states.

## `searchBy` (type: `string`):

Choose name to search the business name, or registryId to match a state-issued registry number exactly. Registry IDs contain digits only; different states use different ID formats.

## `matchMode` (type: `string`):

Use contains to find the term anywhere in a company name, beginsWith to match the start, or exact to require the full name. This setting is ignored for registry ID searches.

## `maxResultsPerSearch` (type: `integer`):

Use this to bound candidate records returned for each search term in each selected state. Enter 1 to 50. Defaults to 10. The separate total result limit applies across all terms and states.

## `maxTotalResults` (type: `integer`):

Use this to cap unique records across the complete run. Enter 1 to 500; defaults to 25. Free-plan users are capped at 5 records per run. At the FREE price tier, estimated event charges are up to $0.005 for the run start plus $0.01 per returned record.

## `includeRegisteredAgent` (type: `boolean`):

Use this to include a registered agent name and address when the selected state's public registry exposes them. Defaults to true. These are registry-listed contacts, not beneficial owners or a verification of control.

## `requestDelayMs` (type: `integer`):

Use this to pace requests to the state open-data APIs. Enter 100 to 5000 milliseconds. Defaults to 350 milliseconds; retries add backoff automatically.

## Actor input object example

```json
{
  "searchTerms": [
    "NIKE, INC."
  ],
  "states": [
    "CO",
    "CT",
    "OR"
  ],
  "searchBy": "name",
  "matchMode": "exact",
  "maxResultsPerSearch": 10,
  "maxTotalResults": 25,
  "includeRegisteredAgent": true,
  "requestDelayMs": 350
}
```

# Actor output Schema

## `results` (type: `string`):

One schema-validated record per unique state registry ID.

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

Search counts, source datasets, warnings, and limits.

# 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("muhammadafzal/co-ct-or-business-entity-registry").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("muhammadafzal/co-ct-or-business-entity-registry").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 '{}' |
apify call muhammadafzal/co-ct-or-business-entity-registry --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,muhammadafzal/co-ct-or-business-entity-registry"
        }
    }
}
```

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/eimclysM0Q6pJ7RlB/builds/POPxg3Dp9X5bGBG7g/openapi.json
