Colorado and New York Business Registry Search avatar

Colorado and New York Business Registry Search

Pricing

from $1.08 / 1,000 item extracteds

Go to Apify Store
Colorado and New York Business Registry Search

Colorado and New York Business Registry Search

Search Colorado and New York official business registry snapshots by legal name. Export entity IDs, types, formation dates, addresses, agents and dataset freshness for KYB research. No live certification or inactive New York entities.

Pricing

from $1.08 / 1,000 item extracteds

Rating

0.0

(0)

Developer

Automation Lab

Automation Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Search Colorado and New York official entity snapshots for recurring KYB research. This secretary of state business search exports normalized entity IDs, legal names, types, formation dates, published addresses, registered agents where present, and dataset freshness.

It is a snapshot research tool, not a live registry certification service. New York covers only the official active corporations snapshot. It cannot find inactive New York entities or retrieve filing histories.

Who is this for?

Compliance analysts can resolve supplied legal names before reviewing official registry documents. Vendor onboarding teams can compare state-qualified IDs across recurring exports. Researchers can build reproducible entity samples without treating similarly named businesses in different states as the same legal entity.

Do not use snapshot membership alone to approve a counterparty or determine its current legal standing.

Why use this Actor?

  • One input searches two official public datasets.
  • State and entity ID remain separate for safe downstream joins.
  • Source type codes are preserved rather than incorrectly harmonized.
  • New York DOS-process addresses are separate from principal addresses and registered agents.
  • Each row includes dataset-level freshness and retrieval time.
  • Overlapping name queries emit each state/entity pair once per run.

Supported sources and scope

StateOfficial sourceCoverage
ColoradoCDOS Business EntitiesPublished entity snapshot, including source-supplied statuses
New YorkDOS Active CorporationsActive corporations as of the source snapshot period; not inactive entities

Sources can lag official filings. datasetUpdatedAt comes from the portal's dataset-level rowsUpdatedAt, not an individual company's last-change date. A retrieval today does not mean the entity was verified today. Consult the source page for its stated period and methodology.

No login, user API key, proxy configuration, browser session or custom URL is required.

Get started

  1. Enter one or more legal-name queries in names.
  2. Select CO, NY, or both.
  3. Choose substring, starts-with, or whole-field exact matching.
  4. Set the global maxItems limit and run.
  5. Export the default dataset as JSON, CSV, Excel or another Apify-supported format.

The prefilled example searches two specific source names with whole-field exact matching:

{
"names": ["APPLEKNOCKER CLUB INC.", "ADAM'S APPLES, INC., Dissolved January 1, 1978"],
"states": ["CO", "NY"],
"matchMode": "exact",
"maxItems": 10
}

These are example queries, not endorsements or assertions of present standing.

Input parameters

ParameterDefaultMeaning
namesRequired1–50 nonempty legal-name strings, each up to 200 characters
states["CO","NY"]Nonempty subset of these two states, processed in supplied order
matchModecontainscontains, prefix, or exact
maxItems100Global unique entity-row limit, 1–10000

Name matching is case-insensitive. Leading/trailing whitespace is trimmed, internal whitespace is retained. Multiple names use ANY semantics; each query is searched independently. Duplicate normalized queries and duplicate states are removed.

contains matches a literal substring anywhere in the legal-name field. prefix matches from its first character. exact matches the entire legal-name field, including punctuation and any published dissolution suffix. These are not fuzzy, whole-word, or linguistic searches. Apostrophes are literal; %, _, control characters and unsupported input fields are rejected, not interpreted as wildcard filters.

Limits, ordering and deduplication

The limit is global, not per state or query. State order is outermost, name order next, and source IDs ascend within a query. A broad Colorado query can consume the limit before New York is reached. Put New York first, narrow the query, or use separate runs if you require coverage for each state.

Rows are deduplicated by state plus entityId. matchedQuery identifies the first matching normalized query. The same entity may appear in separate runs; downstream recurrence comparisons should use state-qualified IDs.

The Actor pages with source-ID cursors, up to 500 rows per request. A source outage, runtime limit or billing budget can stop a run before maxItems; the limit is not a completeness guarantee.

Extracted data

FieldMeaning
state, entityId, legalNameSource jurisdiction and entity identity
entityTypeRaw type label/code, not cross-state equivalence
formationDateCO formation date or NY initial DOS filing date, YYYY-MM-DD
statusCO published status; always null for NY because the dataset has no status column
datasetScopeExplicit source-coverage qualification
formationJurisdictionPublished formation jurisdiction
principalAddressCO principal address or NY location address, when present
serviceOfProcessName, serviceOfProcessAddressNY DOS-process addressee/address, not assumed to be an agent or principal office
registeredAgentName and address when actually supplied, otherwise null
datasetId, sourceUrlOfficial dataset provenance
datasetUpdatedAt, retrievedAtDataset refresh timestamp and run retrieval timestamp
matchedQueryFirst normalized name query producing this row

Address objects use line1, line2, city, state, postalCode, country. Missing components remain null. Country is not inferred from state. A missing agent does not imply the entity has no agent.

Example output

A source-derived New York example (timestamps will vary):

{
"state": "NY",
"entityId": "1003146",
"legalName": "APPLEKNOCKER CLUB INC.",
"entityType": "DOMESTIC NOT-FOR-PROFIT CORPORATION",
"formationDate": "1985-06-10",
"status": null,
"datasetScope": "New York active corporations snapshot only; not live status certification",
"formationJurisdiction": "New York",
"principalAddress": null,
"serviceOfProcessName": "DIV OF MILITARY AND NAVAL",
"serviceOfProcessAddress": {
"line1": "AFFAIRS,LEGAL OFFICE",
"line2": "PUBLIC SECURITY BLDG",
"city": "STATE CAMPUS",
"state": "NY",
"postalCode": "12226",
"country": null
},
"registeredAgent": null,
"sourceUrl": "https://data.ny.gov/d/n9v6-gdp6",
"datasetId": "n9v6-gdp6",
"datasetUpdatedAt": "2026-10-17T13:41:28.000Z",
"matchedQuery": "APPLEKNOCKER CLUB INC.",
"retrievedAt": "2026-10-19T06:00:00.000Z"
}

The default dataset contains only entity rows. SUMMARY in the run's key-value store reports saved unique rows, scanned rows, API request count, and whether billing budget stopped collection.

How much does it cost to search business registry snapshots?

The Actor uses pay-per-event pricing: one start event per valid run and one item event per unique emitted entity record. Empty searches have no item charge. Retries, metadata requests, duplicate matches and missing fields have no separate item events.

The start charge is $0.002 per valid run. Entity prices depend on your qualifying aggregate monthly Apify Store spend tier, not this Actor's volume alone:

Store tierPer entity
FREE$0.00207
BRONZE$0.0018
SILVER$0.001404
GOLD$0.00108
PLATINUM$0.00108
DIAMOND$0.00108

BRONZE examples: one entity costs $0.0038, 10 entities cost $0.020, and 100 entities cost $0.182, including one start charge. An empty valid search costs $0.002. These are Actor-event charge estimates, not guaranteed invoices; refer to the Pricing tab and platform terms for your applicable tier.

Integrations

Use the dataset with Google Sheets for analyst review, a webhook to notify your ETL after successful completion, or an Apify integration to send rows into your own database. Keep full exports outside chat context.

For recurring research, schedule the same input, join on state/entity ID, and compare rows and source refresh timestamps in your own pipeline. This Actor does not retain a watch list, generate change alerts, certify status changes, or claim to find every new filing.

API usage

Use an Apify token via an authorization header; never paste it into public documents.

curl -X POST \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
'https://api.apify.com/v2/acts/automation-lab~colorado-new-york-business-registry-search/runs' \
-d '{"names":["APPLE"],"states":["NY"],"maxItems":10}'

JavaScript using the Apify client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/colorado-new-york-business-registry-search')
.call({ names: ['APPLE'], states: ['NY'], maxItems: 10 });
if (run.status !== 'SUCCEEDED') throw new Error(`Run ${run.id}: ${run.status}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems({ limit: 10 });
console.log(items);

Python:

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/colorado-new-york-business-registry-search').call(
run_input={'names': ['APPLE'], 'states': ['NY'], 'maxItems': 10})
if run['status'] != 'SUCCEEDED':
raise RuntimeError(f"Run {run['id']}: {run['status']}")
print(client.dataset(run['defaultDatasetId']).list_items(limit=10).items)

MCP and AI assistants

After publication, scope hosted discovery to this Actor:

claude mcp add --transport http apify \
'https://mcp.apify.com?tools=automation-lab/colorado-new-york-business-registry-search'

Equivalent Claude Desktop, Cursor, and VS Code client configuration:

{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=automation-lab/colorado-new-york-business-registry-search"}}}

Discover actual names and argument schemas with tools/list. Actor selection also adds run/data helpers, not exactly one tool. Discovery is read-only, not authorization to execute.

Example prompt: “Search NY for names starting with APPLE, maximum 10 entities. Show source freshness and do not interpret snapshot membership as live certification.”

For an authorized invocation, start once and retain the run ID, status and storage IDs; these are metadata, not rows. call-actor waits at most 45 seconds (default 30). If nonterminal, follow the same run with get-actor-run, using backoff of 2, 4, 8 then at most 10 seconds and a 120-second deadline. Set client timeout above the selected server wait plus transport margin. After a timeout, recover the known run; never restart just to poll. If its ID is unknown, report uncertainty. At deadline report pending with the ID. Terminal failures may have partial rows, not successful complete output.

After success, request get-dataset-items with explicit dataset ID, limit, offset and needed fields. A suitable consumer budget is pages of 20 source rows, at most 100 rows or 64 KiB serialized UTF-8 admitted to model context, whichever comes first. Track source offsets, process pages host-side, and omit or summarize oversized rows with disclosure. If your client cannot intercept oversized responses, do not claim a hard byte guarantee. Report continuation offset and partial/truncated status. These consumer context limits do not reduce Actor collection limits. Discovery transport bytes and caching do not establish model token savings; no numerical savings are promised.

FAQ and troubleshooting

No results? Check the selected states, spelling, punctuation and match mode. Exact matching includes the complete source name. A missing NY record may be inactive, newly filed, absent from the snapshot, or spelled differently; absence is not a legal conclusion.

Only one state returned? The global limit may have been consumed by the earlier state. Reverse state order or run each state separately.

Source HTTP errors? Network timeouts, 429 and server errors receive at most three attempts with backoff. Deterministic errors, malformed JSON or invalid source shapes fail the run. Previously saved rows are partial and must not be treated as complete.

Address or agent is null? The source did not supply that field. The Actor does not substitute DOS-process addresses for registered-agent addresses.

Legality, responsible use and privacy

Use public records lawfully and independently verify material KYB decisions through official channels. Published business addresses and registered agents may identify individuals. Apply access controls, retention limits and purpose restrictions in your own systems. This Actor is not legal advice, a government service, or a certificate of good standing.

This Actor uses no AI model at runtime and sends no input or output to an AI provider. Apify run storage remains under the account's platform retention settings; delete datasets and key-value stores through Apify storage controls when no longer needed. There is no cross-run cache. For help, open an issue on the Actor's Apify page; do not post secrets or unnecessary personal data.

Failed operations send sanitized diagnostic input, exceptions and actor/build/run IDs to our private GlitchTip service for repair. Secret fields and URL queries are removed. Reports are retained for 30 days.

For Colorado-only workflows needing a different field set, see Colorado Business Entity Search Scraper. For another jurisdiction, see Florida Sunbiz Business Search. Their supported scope and pricing are separate; this Actor does not call them.