# US Business Registry — 4 States, Officers & Agents, No Key (`themineworks/us-state-business-registry`) Actor

Look up US business entities in official state registries by company name: entity status, type, formation date, registered agent, principal address, and officers. Official government open-data APIs — no key, no proxy.

- **URL**: https://apify.com/themineworks/us-state-business-registry.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** Business, Lead generation, MCP servers
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.80 / 1,000 business entities

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## US State Business Registry: Officers, Agents & Status

> **Part of the Company Diligence MCP.** This actor's data is also available
> to AI agents through our [Company Diligence MCP server](https://apify.com/themineworks/company-diligence-mcp)
> — ten official-registry tools behind one endpoint. No result, no charge.

Look up a US company in official state business registries and get back the
things compliance workflows actually ask for: **who the officers are, who the
registered agent is, when and where the entity was formed, and whether it is
in good standing** — normalized to one schema across every state.

These are official government open-data APIs, not scraping targets. No API
key, no proxy, no CAPTCHA.

### Coverage

| State | Source | Entity | Registered agent | Officers | Formation date |
|---|---|---|---|---|---|
| **CT** | Secretary of the State | ✅ | ✅ | ✅ | ✅ |
| **NY** | Department of State | ✅ | Service-of-process agent | — | ✅ |
| **CO** | Secretary of State | ✅ | ✅ | — | ✅ |
| **OR** | Secretary of State | ✅ | ✅ | Authorized representatives | ✅ |

**Not covered: Delaware.** Most large US corporations incorporate there and
Delaware publishes no open API, so this actor cannot see them. If your
workflow depends on Delaware, this is not the tool for it — said plainly here
rather than discovered after you have paid.

### Why the name matching matters

State registries do raw substring search. Searching `Tesla` on a naive
integration returns `10MINUTESLATER FILMS LLC` — a real match on the letters
`TESLA` inside `10MINU-TESLA-TER`.

Every record here carries a `match_type` so you can tell a real hit from an
accident, and results are ranked best-first:

| `match_type` | Meaning |
|---|---|
| `exact` | Name matches your query (ignoring a trailing Inc/LLC/Corp) |
| `starts_with` | Name begins with your query |
| `word_match` | Query appears as a whole word |
| `substring` | Letters appear inside another word — filtered out unless you ask for them |

`strictMatch` defaults to `true`, which drops the `substring` noise entirely.

### Output

Every record has the same shape regardless of source state:

```json
{
  "entity_name": "TESLA, INC.",
  "entity_id": "001t000000WnfX0AAJ",
  "match_type": "exact",
  "state": "CT",
  "entity_type": null,
  "status": "Active",
  "jurisdiction": null,
  "formation_date": "2012-06-14",
  "principal_address": {
    "street": "1 TESLA ROAD", "city": "AUSTIN", "state": "TX", "zip": "78725", "country": "US"
  },
  "registered_agent": {
    "name": "C T CORPORATION SYSTEM",
    "address": "C T Corporation System",
    "city": "Manchester", "state": "CT", "zip": "06040-4471",
    "type": "Business"
  },
  "officers": [
    { "name": "Elon Musk", "title": null, "city": "Austin", "state": "TX" }
  ],
  "source_url": "https://service.ct.gov/business/s/onlinebusinesssearch",
  "source_dataset": "data.ct.gov/n7gp-d28j",
  "query_name": "Tesla, Inc.",
  "scraped_at": "2026-07-27T11:52:00.000Z"
}
```

Fields a state does not publish come back as `null` rather than being guessed
or filled from another source. A `title` of `null` means the registry does not
record a role — not that the person has none.

Each run also appends a `_type: "summary"` row listing states searched, states
that failed, and the entity count.

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `companyName` | string | — | **Required.** Business name to search |
| `states` | string\[] | all | Any of `NY`, `CO`, `CT`, `OR` |
| `maxResultsPerState` | integer | 10 | 1–100 |
| `includeOfficers` | boolean | `true` | Fetch officer rosters where published |
| `strictMatch` | boolean | `true` | Drop accidental substring hits |
| `appToken` | string | — | Optional free Socrata token for higher rate limits |

### Pricing

**$0.002 per business entity returned.** No result, no charge — a search that
finds nothing costs nothing. A state whose API is down is reported in the
summary row and never billed.

### Point-in-time evidence

Registry records are point-in-time snapshots of what a state publishes, not a
legal opinion or a certificate of good standing. Use them as evidence to
review, not as a compliance decision on their own.

# Actor input Schema

## `companyName` (type: `string`):

Business name to search for. Partial names work (case-insensitive contains match).

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

State codes to search. Supported today: NY, CO, CT, OR. Leave blank to search all of them.

## `maxResultsPerState` (type: `integer`):

Cap on entities returned per state (1-100).

## `includeOfficers` (type: `boolean`):

Fetch officer/principal rosters where the state publishes them (Connecticut today).

## `strictMatch` (type: `boolean`):

Drop accidental substring hits (searching "Tesla" would otherwise match "10MINUTESLATER FILMS LLC"). Turn off to see every raw registry match.

## `appToken` (type: `string`):

A free Socrata app token raises rate limits. Leave blank for keyless access.

## Actor input object example

```json
{
  "companyName": "Tesla",
  "states": [
    "NY",
    "CO",
    "CT",
    "OR"
  ],
  "maxResultsPerState": 10,
  "includeOfficers": true,
  "strictMatch": true
}
```

# Actor output Schema

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

No description

# 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 = {
    "companyName": "Tesla",
    "states": [
        "NY",
        "CO",
        "CT",
        "OR"
    ],
    "maxResultsPerState": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/us-state-business-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 = {
    "companyName": "Tesla",
    "states": [
        "NY",
        "CO",
        "CT",
        "OR",
    ],
    "maxResultsPerState": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("themineworks/us-state-business-registry").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 '{
  "companyName": "Tesla",
  "states": [
    "NY",
    "CO",
    "CT",
    "OR"
  ],
  "maxResultsPerState": 10
}' |
apify call themineworks/us-state-business-registry --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=themineworks/us-state-business-registry",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/hKH62Shfvn8O6Wzqy/builds/8ssFc2JaaDvWteaxn/openapi.json
