US Business Registry | 4 States, Officers & Agents, No Key avatar

US Business Registry | 4 States, Officers & Agents, No Key

Pricing

from $0.60 / 1,000 business entities

Go to Apify Store
US Business Registry | 4 States, Officers & Agents, No Key

US Business Registry | 4 States, Officers & Agents, No Key

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.

Pricing

from $0.60 / 1,000 business entities

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

3 hours ago

Last modified

Share

40 state registry records in 26 seconds

From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with over 140,000 runs across 170+ public actors.

Type a company name and get back its records from four official US state business registries (New York, Colorado, Connecticut and Oregon): legal name, registry ID, status, entity type, formation date, address, registered agent and, where the state publishes them, officers. Every state comes back in the same shape, with a match_type that tells a real hit from an accidental one. The data comes from each state's own open data API, so there is no API key, no login and no scraping of search pages.

Why choose this actor?

  • Four state registries in one call, one schema. In our test on 2 October, Tesla returned 40 records in 26 seconds, 10 from each state, with status, formation date and registered agent, including TESLA, INC. in Connecticut with two officers and its agent C T Corporation System.
  • No accidental matches billed. State registries search by raw letters, so Tesla also hits names like 10MINUTESLATER FILMS LLC. Each record is labelled exact, starts_with, word_match or substring, results are ranked best first, and strictMatch (on by default) drops the substring noise before anything is charged.
  • Pay per record, never for empty searches. $0.001 per business record on the Free plan and $0.0006 on Gold, plus a $0.005 start fee per run. A search that finds nothing, and a state whose API is down, cost nothing beyond the start fee.

Run it on Apify

Part of The Mine Works Leads and business directories family: B2B Leads Finder, Skip Trace Lookup, Google Maps Email Scraper, JustDial Scraper, 2GIS Places Scraper, IndiaMART Scraper.

Try it in one minute

Paste this into the JSON tab of the input page and press Start:

{
"companyName": "Tesla",
"states": ["CT", "OR"],
"maxResultsPerState": 5
}

You get up to 10 records from Connecticut and Oregon in well under a minute, each with a status, a formation date and a registered agent, and Connecticut's officer names.

The only input you must give is companyName: all or part of a business name, any case (Tesla, tesla inc, Acme Corp). The full legal name, such as Nike, Inc., finds the parent company fastest. Pick states in states (NY, CO, CT, OR); leave it empty to search all four.

Apify's free plan includes $5 of credit every month, which covers about 4,400 business records at this actor's Free plan price ($0.001 a record plus the $0.005 start fee, in runs of 40 records).

Copy to your AI assistant

themineworks/us-state-business-registry on Apify. Searches the official New York, Colorado, Connecticut and Oregon business registries by company name and returns one row per entity with entity_name, entity_id, match_type, status, entity_type, formation_date, principal_address, registered_agent and officers (Connecticut, and Oregon representatives when listed). Call ApifyClient("TOKEN").actor("themineworks/us-state-business-registry").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: companyName (string, contains match, case insensitive). Optional: states (array of "NY", "CO", "CT", "OR"; empty = all four), maxResultsPerState (1 to 100, default 10), includeOfficers (default true), strictMatch (default true, drops substring matches), appToken (optional Socrata app token). The last row has _type "summary" (states searched, states that failed, entities found) and is never billed. Full spec: GET https://api.apify.com/v2/acts/themineworks~us-state-business-registry/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral

Key features

  • 15 fields per record, the same in every state: entity_name, entity_id, match_type, state, entity_type, status, jurisdiction, formation_date, principal_address, registered_agent, officers, source_url, source_dataset, query_name and scraped_at. A value a state does not publish is null, never guessed.
  • Official sources only. New York Department of State, Colorado Secretary of State, Connecticut Secretary of the State and Oregon Secretary of State, read from their public open data APIs, with source_dataset naming the exact dataset each row came from.
  • Name matching you can trust. Four match levels, ranked best first, with legal suffixes such as Inc, LLC and Corp ignored when judging an exact match.
  • Officers and agents. Connecticut officer names come from the state's principals dataset and its registered agents from the agents dataset; Colorado, Oregon and New York give the agent (New York's is the service of process agent).
  • Up to 100 records per state per run, four states searched in parallel, each request retried up to 3 times. If one state's API fails, the others still return and the summary row says which state failed.

What each state gives you

StateSourceStatusRegistered agentOfficersFormation dateAddress
CTSecretary of the StateActive, Dissolved, Forfeited, Revoked, Withdrawn and moreYesYes, names with city and state; no titlesYesMailing address as one line in street
NYDepartment of StateActive only (the feed lists active corporations)Service of process agentNoYes (first filing date)Service of process address
COSecretary of StateGood Standing, Delinquent, Voluntarily Dissolved and moreYesNoYesPrincipal address, split
ORSecretary of StateActive only (the feed lists active businesses)YesAuthorized representatives, when the feed lists themYesPrincipal place of business, split

Not covered: Delaware, where most large US corporations are formed. Delaware publishes no open data API for its registry, so this actor cannot see Delaware entities. Florida, California, Texas and other states are not covered either. If you need a state that is not in the table, this is not the tool for it.

How to use it

Basic: one name in all four states

{
"companyName": "Tesla"
}

Leaving states empty searches NY, CO, CT and OR, up to 10 records each. On 2 October this returned 40 records in 26 seconds, with an exact match ranked first in Connecticut, New York and Oregon (TESLA, INC. in Connecticut and Oregon, TESLA INC in New York).

Know your customer check on one company

{
"companyName": "Tesla, Inc.",
"states": ["CT", "OR"],
"maxResultsPerState": 3
}

Use the full legal name to land on the parent entity. Read status, formation_date, registered_agent and, for Connecticut, officers. Treat the result as evidence to review, not as a certificate of good standing.

Find every entity behind a brand

{
"companyName": "Nike",
"states": ["OR", "CT"],
"maxResultsPerState": 100
}

A high maxResultsPerState lists the subsidiaries, holding companies and look alike names that share the word. Filter on match_type and entity_type, and group by registered_agent name to see which entities one agent serves.

Weekly watch on a counterparty's status

{
"companyName": "Tesla Energy Operations",
"states": ["CT", "OR"],
"maxResultsPerState": 5
}

Save it as a task and schedule it weekly (for example 0 9 * * 1). Compare status between runs to catch a change to Dissolved, Forfeited or Revoked in Connecticut or Delinquent in Colorado. The actor does not remember earlier runs, so each run charges for every record it returns; keep the cap small.

See every raw registry match

{
"companyName": "Nike",
"states": ["OR", "CT"],
"maxResultsPerState": 5,
"strictMatch": false
}

With strictMatch off you also get substring hits, such as DANIKEN AQUATICS LLC in Oregon, ranked last. Each one is charged like any other record.

Input parameters

ParameterTypeDefaultWhat it does
companyNamestringrequired (form prefill: Tesla)All or part of the business name. Case insensitive contains match. An empty name ends the run with a summary row and no charge beyond the start fee.
statesarray of stringsall four (form prefill: NY, CO, CT, OR)Any of NY, CO, CT, OR. Other codes are ignored.
maxResultsPerStateinteger (1 to 100)10Most records to return per state.
includeOfficersbooleantrueLook up Connecticut officer names in the state's principals dataset. Turn off for a slightly faster run.
strictMatchbooleantrueDrop substring matches, where your letters appear inside another word.
appTokenstring (secret)noneOptional free Socrata app token for higher rate limits. Not needed for normal use.

How results are picked. For each state the actor reads up to 5 times maxResultsPerState matching registry rows (at most 200), in alphabetical order, ranks them by match level and keeps the best. For a short, common name in Oregon, whose feed has several rows per business, that pool can fill with alphabetically earlier names before the exact match: in our test, Nike with maxResultsPerState: 5 returned NIKE ALPHA FORCE LLC and NIKE FOUNDATION but not NIKE, INC., which is in the feed. Use the full legal name (Nike, Inc.) or a higher maxResultsPerState when you need the exact entity.

Run options. The default memory is 256 MB (512 MB at most) and the default timeout is 300 seconds; a four state run takes about 30 seconds.

What data do you get?

One row per business entity. Every field is always present; a value the state does not publish is null.

The entity: entity_name (as the registry stores it), entity_id (the state's own ID: DOS ID in New York, entity ID in Colorado, business ID in Connecticut, registry number in Oregon), entity_type, status, jurisdiction, formation_date (YYYY-MM-DD).

The match: match_type (exact, starts_with, word_match or substring), state (the registry it came from) and query_name (your search).

Addresses and people: principal_address (street, city, state, zip, country), registered_agent (name, address, city, state, zip, type) and officers (a list of name, title, city, state).

Provenance: source_url (the state's public search page, or for Oregon the entity's own record page), source_dataset (for example data.ct.gov/n7gp-d28j) and scraped_at.

Read these state quirks before you automate:

  • Connecticut puts the whole mailing address in principal_address.street (for example 1 Tesla Road , ,Austin ,TX ,United States ,78725) and leaves city and zip empty, and its principal_address.state is always CT, the registry, even when the address is in another state. Read the state from street. entity_type and jurisdiction are null, and officer title is null because Connecticut does not publish roles.
  • New York lists active corporations only, so status is always Active and a dissolved New York entity does not appear. Its principal_address and registered_agent are both the service of process address on file, which can be the company's own address.
  • Colorado stores some names with their status attached, such as Tesla 369 LLC, Delinquent May 1, 2025; the clean status is in status. Colorado publishes no officers.
  • Oregon lists active businesses only, so status is always Active. Officers come from the authorized representatives Oregon lists, with title set to Authorized representative; none of the 15 Oregon entities in our tests had one.

Each run ends with one _type: "summary" row: query_name, states_searched, states_failed (state and reason, if any API failed), entities_found, officers_included, strict_match and scraped_at. It is never charged. Skip rows that have a _type field when you load entities.

Stable fields for automations

These 13 fields were present in every record we sampled (50 records from two runs on 2 October). Two of them can be null, as the counts below show.

FieldWhat it holds
entity_nameLegal name as the registry stores it
entity_idThe state's own entity ID
match_typeexact, starts_with, word_match or substring
stateRegistry state code: NY, CO, CT or OR
statusStatus as the state publishes it
formation_dateFormation or first filing date, YYYY-MM-DD (49 of 50 had one)
principal_addressObject with street, city, state, zip, country
registered_agentAgent object, or null (47 of 50 had one)
officersList of officers, empty when none are published
source_urlPublic page to verify the record
source_datasetThe open data dataset the row came from
query_nameThe name you searched
scraped_atISO timestamp of the run

We will not rename these fields. New fields may be added over time; existing ones keep their names.

Output examples

Real rows from our test run on 2 October 2026 (companyName: "Tesla", all four states).

Connecticut, with officers and a registered agent:

{
"entity_name": "TESLA, INC.",
"entity_id": "001t000000WnfX0AAJ",
"match_type": "exact",
"state": "CT",
"entity_type": null,
"status": "Active",
"jurisdiction": null,
"formation_date": "2012-06-13",
"principal_address": {
"street": "1 Tesla Road , ,Austin ,TX ,United States ,78725",
"city": null,
"state": "CT",
"zip": null,
"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" },
{ "name": "Emmanuelle Stewart", "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",
"scraped_at": "2026-10-02T15:18:38.002Z"
}

Oregon, a foreign corporation formed in Delaware, with a link to its own state record:

{
"entity_name": "TESLA, INC.",
"entity_id": "83756594",
"match_type": "exact",
"state": "OR",
"entity_type": "FOREIGN BUSINESS CORPORATION",
"status": "Active",
"jurisdiction": "DE",
"formation_date": "2012-02-28",
"principal_address": {
"street": "1 TESLA ROAD",
"city": "AUSTIN",
"state": "TX",
"zip": "78725",
"country": "US"
},
"registered_agent": {
"name": "TESLA, INC.",
"address": "780 COMMERCIAL ST SE STE 100",
"city": "SALEM",
"state": "OR",
"zip": "97301",
"type": "Registered agent"
},
"officers": [],
"source_url": "http://egov.sos.state.or.us/br/pkg_web_name_srch_inq.do_name_srch?p_name=&p_regist_nbr=83756594&p_srch=PHASE1&p_print=FALSE&p_entity_status=ACTINA",
"source_dataset": "data.oregon.gov/tckn-sxa6",
"query_name": "Tesla",
"scraped_at": "2026-10-02T15:18:38.002Z"
}

Colorado, a delinquent LLC with its agent (the agent's name and the street are masked here; the actor returns them in full):

{
"entity_name": "Tesla 369 LLC, Delinquent May 1, 2025",
"entity_id": "20238326631",
"match_type": "starts_with",
"state": "CO",
"entity_type": "DLLC",
"status": "Delinquent",
"jurisdiction": "CO",
"formation_date": "2023-12-23",
"principal_address": { "street": "22** C***** Blvd ***", "city": "Boulder", "state": "CO", "zip": "80302", "country": "US" },
"registered_agent": { "name": "M****** P*****", "address": "22** C***** Blvd ***", "city": "Boulder", "state": "CO", "zip": "80302", "type": "Registered agent" },
"officers": [],
"source_url": "https://www.coloradosos.gov/biz/BusinessEntityCriteriaExt.do",
"source_dataset": "data.colorado.gov/4ykn-tg5h",
"query_name": "Tesla",
"scraped_at": "2026-10-02T15:18:38.002Z"
}

The summary row that ends the run (never charged):

{
"_type": "summary",
"query_name": "Tesla",
"states_searched": ["NY", "CO", "CT", "OR"],
"states_failed": [],
"entities_found": 40,
"officers_included": true,
"strict_match": true,
"scraped_at": "2026-10-02T15:18:38.002Z"
}

Pricing

Pay per event: you pay for each business record delivered to your dataset, plus a small start fee per run.

EventFreeBronzeSilverGold and above
entity-found, per record$0.001$0.0009$0.00075$0.0006
entity-found, per 1,000 records$1.00$0.90$0.75$0.60
apify-actor-start, per run$0.005 per GB of run memory, minimum one eventsamesamesame

The start fee, exactly. Apify's apify-actor-start event is charged once when a run starts, at $0.005 for each GB of memory the run uses, with a minimum of one event. This actor runs on 256 MB by default, so a default run pays one event: $0.005.

Worked examples. A four state search with the default cap (40 records) costs $0.04 plus $0.005 on the Free plan, or $0.024 plus $0.005 on Gold. A full 100 records in each of the four states (400 records) costs $0.40 plus $0.005 on Free and $0.24 plus $0.005 on Gold.

Never charged: substring matches dropped by strictMatch, a search that finds nothing, a state whose API failed (it is listed in states_failed), and the summary row. A run that delivers nothing pays only the start fee.

There is no scheduled price change for this actor. The Pricing tab on this page always shows the rate for your own plan; if it and this table ever differ, the Pricing tab is right.

FAQ

Where does the data come from? From each state's official open data portal (data.ny.gov, data.colorado.gov, data.ct.gov and data.oregon.gov), published by the New York Department of State and the Secretaries of State of Colorado, Connecticut and Oregon. source_dataset names the dataset behind every row.

How many records can I get? Up to 100 per state per run, so up to 400 for all four states. For a longer list, split it by state or use a more specific name.

How fresh is the data? Each run queries the state APIs live. The states refresh these datasets on their own schedule, so a filing made in the last few days may not be there yet; check source_url for the latest record.

Why did my search miss the company I wanted? Three common reasons: the company is not registered in these four states (Delaware is not covered), the New York or Oregon entity is no longer active (those feeds list active entities only), or the name is short and common, so the alphabetical candidate pool filled before the exact match. Search the full legal name, such as Nike, Inc., or raise maxResultsPerState.

Do I need an API key, an account or a proxy? No. You need only an Apify account. The state APIs are public and keyless. A free Socrata app token in appToken raises their rate limits, but normal runs do not need one.

Can I get officers and directors? For Connecticut, yes: names with city and state, without titles, because Connecticut does not publish roles. Oregon lists authorized representatives for some businesses. New York and Colorado do not publish officers in these datasets.

Is a record proof of good standing? No. A record is a point in time snapshot of what the state publishes, not a certificate of good standing or a legal opinion. Use it as evidence to review, and order an official certificate from the state when you need one.

Can I run it on a schedule? Yes. Save your input as a task, then in Apify Console go to Schedules, Create new, and pick a time or a cron expression such as 0 9 * * 1. Compare status between runs to catch changes. Each run is charged for every record it returns.

How do I export the data? From the run's Storage tab as JSON, CSV, Excel, XML or HTML, or through the Apify API. The nested principal_address, registered_agent and officers become separate columns in CSV and Excel. Drop the row that has a _type field if you want entities only.

Can I use it from Claude, ChatGPT or another AI assistant?

  • Connector URL: https://mcp.apify.com/?tools=themineworks/us-state-business-registry.
  • Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
  • ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
  • Cursor or VS Code: add it as an HTTP MCP server with that URL.
  • Claude Code: claude mcp add -t http us-state-business-registry "https://mcp.apify.com/?tools=themineworks/us-state-business-registry".

It is also one of the tools inside our Company Diligence MCP server.

Is it legal to use this data? These are public government records that the states publish as open data. Officer and agent names and addresses can still be personal data, so you are responsible for how you use them, including data protection laws such as GDPR and CCPA and any rules on marketing to individuals. This is general information, not legal advice.

Integrations

  • Google Sheets: export a run to a sheet, or use Apify's Google Sheets integration to append each run's records to a due diligence log.
  • Make, Zapier and n8n: use the Apify app or node to look up a company when it enters your CRM and write status, formation_date and registered_agent back to the record.
  • Webhooks: have Apify call your URL when a run succeeds, then read the dataset.
  • API and client libraries: start runs and read datasets from Python, JavaScript or any HTTP client. The "Copy to your AI assistant" block above has the exact call.
  • MCP clients: Claude, ChatGPT, Cursor, VS Code and Claude Code can call the actor as a tool through https://mcp.apify.com.

For companies outside these four states, pair it with GLEIF LEI Lookup for legal entity identifiers, SEC EDGAR Filings Scraper for listed US companies, or UK Companies House Scraper for British ones.

More from The Mine Works

Leads and business directories

Social media and video

Marketing, SEO and reviews

LinkedIn

Real estate

Science, health and government data

Jobs and hiring

Company and business data

E-commerce and marketplaces

Food and local services

Developer and AI tools

More tools

Support

Found a record that looks wrong, or need another state? Open an issue on the Issues tab of this page with your input and the run ID, and we will reply there. To ask for a new registry or data source, email dmineworks@gmail.com.

US Business Registry searches four official state registries by company name and returns status, formation date, agent and officers in one shape, charged only per record found.