US Secretary of State Business Search – 11 States, LLC & Corp
Pricing
Pay per event
US Secretary of State Business Search – 11 States, LLC & Corp
Search US business entities (LLCs, corporations, nonprofits, partnerships) across 11 states incl. Florida, New York and Virginia, from official Secretary of State open data: entity number, status, formation date, registered agent, address, officers and source links.
Pricing
Pay per event
Rating
0.0
(0)
Developer
justin cruz
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
US Secretary of State Business Entity Search: 11 states, official open data
Search LLCs, corporations, nonprofits and partnerships across 11 US states (including Florida) in one run, using official Secretary of State open data. Each result comes back as one normalized record: entity number, type, status, formation date, a business registered agent, principal and mailing address, officers, and a source link.
What it does / Who it's for / Why
- What: searches the official business-entity registries of NY, CO, CT, OR, PA, TX, VA, DC, AK, IA and FL. You can search by name (contains, starts with, or exact), by entity number, or in list mode with no name at all, using filters such as formation date, ZIP and city. List mode gives you every LLC formed in Colorado last week, for example.
- Who: KYB and compliance teams, lenders, B2B sales and lead-gen teams that want new-business lists, process servers and legal researchers, and journalists.
- Why: every record comes from a free government open-data API or official bulk download. There is no scraping of search pages, no captchas and no logins. Runs are fast, the record format is stable, and each record links to its source.
Measured, not promised
Measured locally on 2026-11-04 (all 10 states, parallelism 3):
| Query | Results | Wall time |
|---|---|---|
"blue ridge", 5 per state | 42 | 8.8 s |
["smith","acme"], 200 per state | 1,946 | 12.1 s |
| 10 entity numbers (one per state) | 10 | ~9 s |
| List mode: active LLCs formed since 2026-10-01, 50 per state | 450 | ~5 s |
Florida (opt-in, add FL to states), measured on Apify on 2026-11-04:
| FL query | Results | Run time | Platform cost |
|---|---|---|---|
| List mode: active entities formed since 2026-10-20 (daily files only) | 200 | 4 s | $0.001 |
"blue ridge", 50 results | 50 | 91 s (4 GB) | $0.014 |
| One entity number | 1 | 78 s (4 GB) | $0.015 |
"blue ridge mountain", full scan of ~13M records | 24 | 303 s (4 GB) / 195 s (8 GB) | $0.063 / $0.080 |
FL has no query API. The State publishes a quarterly full file (1.8 GB zipped, Deflate64) and daily update files on its public SFTP server, using credentials it publishes on its Data Downloads page. The Actor reads the daily files first, then the quarterly file only when it still needs more results. Run FL with at least 4 GB of memory.
AK and IA have no query API, so each run streams their full official files (about 42 MB and 105 MB). That adds roughly 5 to 8 seconds whenever those states are included.
Sample output
{"state": "DC","state_name": "District of Columbia","entity_name": "BLUE RIDGE CONSULTING SERVICES Inc.","entity_number": "250761","entity_type": "Foreign Business Corporation","entity_type_std": "corporation","status": "Active - In Good Standing","status_std": "active","formation_date": "2005-03-10","domestic_or_foreign": "Foreign","foreign_formation_date": "2005-03-10","registered_agent": {"name": "Business Filings Incorporated","type": "organization","address": {"line1": "1015 15TH STREET NW #1000","line2": null,"city": "Washington","state": "DC","zip": "20005","country": null,"full": "1015 15TH STREET NW #1000, Washington, DC 20005"}},"principal_address": {"line1": "114 Knightsridge Road","line2": null,"city": "Travelers Rest","state": "SC","zip": "29690","country": "USA","full": "114 Knightsridge Road, Travelers Rest, SC 29690"},"annual_report_due": "04/01/2027","last_report_filed": "2025-06-13","record_last_modified": "2026-11-04","source_url": "https://maps2.dcgis.dc.gov/dcgis/rest/services/DCGIS_DATA/Business_Licensing_and_Grants_WebMercator/MapServer/0/query?where=FILE_NUMBER+%3D+%27250761%27&outFields=*&returnGeometry=false&f=json","official_record_url": "https://corponline.dlcp.dc.gov/","source_dataset": "DC DLCP Corporate Registration (DC GIS Business_Licensing_and_Grants layer 0)","data_scope": "all statuses","retrieved_at": "2026-11-05T05:23:20.029Z"}
Common fields:
- Identity:
state,entity_name,entity_number,entity_type(as published) andentity_type_std,status(as published) andstatus_std,formation_date,jurisdiction - Contacts:
registered_agent,principal_address,mailing_address,officers - Provenance:
source_url,official_record_url,source_dataset,data_scope,retrieved_at
Extra fields where the state publishes them:
county(NY, PA)naics(CT, TX)annual_report_due(CT, AK, DC)dissolution_date(CT)status_reasonandstatus_date(VA)assumed_name(AK)latitudeandlongitude(IA)service_of_process(NY)taxpayer_numberandright_to_transact(TX)ownership_flags(CT: woman-, veteran- or minority-owned)business_email(CT, opt-in)
Privacy by design
- A registered agent is output only when the agent is an organization, such as CT Corporation, CSC or a law firm. For an individual agent, the name and address are replaced with
"type": "individual (omitted for privacy)". - If a principal or mailing address matches an individual agent's address, which usually means a home address, the address is dropped and the reason goes into
privacy_notes. officerscontains names and titles only. Addresses of people are never output.
Coverage
| State | Source (official) | Statuses | Agent | Officers | Freshness |
|---|---|---|---|---|---|
| NY | Dept. of State, Active Corporations + all-filings history (data.ny.gov n9v6-gdp6, 63wc-4exh) | all (inactive = not on active list, with filing history, former and assumed names) | ✓ (+ service of process) | chairman/CEO | daily |
| CO | Secretary of State, Business Entities (data.colorado.gov) | all | ✓ | – | daily |
| CT | Secretary of the State, Business Master + Agents + Principals (data.ct.gov) | all | ✓ | ✓ | daily |
| OR | Secretary of State, Active Businesses (data.oregon.gov) | active | ✓ | ✓ (authorized reps) | weekly/monthly |
| PA | Dept. of State, Currently Registered Businesses (data.pa.gov) | active | – (registered office address) | ✓ | periodic |
| TX | Comptroller, Active Franchise Taxpayers with SOS file number (data.texas.gov) | active franchise-tax entities | – | – | weekly |
| VA | SCC entity tables + Officer file (data.virginia.gov bulk downloads, cached, refreshed every 30 days) | all | ✓ | ✓ corporations only (see note) | snapshot (corp Nov 2024, LLC Jun 2022; index refreshed every 30 days; see source_as_of) |
| DC | DLCP Corporate Registration (DC GIS open data) | all | ✓ | – | daily |
| AK | Division of Corporations, full database download | all + business name registrations | ✓ | – | daily |
| IA | Secretary of State, Active Business Entities (Iowa Data hub, CC BY) | active | ✓ | – | monthly |
| FL | Division of Corporations, official quarterly + daily data files (public SFTP) | all | ✓ | ✓ (up to 6, names + titles) + FEI/EIN, annual reports | daily |
Virginia officer gap: VA officer data comes from the data.virginia.gov Officer file, which is cut off at Excel's 1,048,575-row limit. Corporations with IDs after F1923004 (about 4.8% of VA corporations) have no officers listed, though their entity records are complete. Every VA search with officers on carries a run note saying so.
Not yet supported, and why:
- VA (official SCC weekly file) and IL (bulk data): both hosts' robots.txt disallow automated access (
Disallow: /), so VA stays on the data.virginia.gov snapshots and IL is skipped. - OH: the business reports return 403.
- MA: the corporate export is behind a bot challenge.
- RI: the weekly export URL returns 404.
- KY, WV: bulk data requires a paid subscription.
- WA, MS, ID and the rest: search portals or script apps only. This Actor does not scrape HTML search pages.
How to use
- Enter a business name, several names, or entity numbers, and pick the states.
- Optionally filter by status, entity type, formed after/before, city or ZIP.
- Leave the name empty and set formed after to get a new-business list (list mode).
- Results go to the dataset, which has an overview view and a flat "leads" view. Per-state counts and errors go to
RUN_STATS.
Example inputs
Copy one of these into the JSON input tab.
1. Name search across all default states
{ "businessName": "blue ridge" }
Returns entities whose name contains "blue ridge" in the 10 default states (up to 100 per state). In our test this returned 629 results in about 20 s.
2. Entity-number lookup (KYB / verification)
{ "entityNumbers": ["3523029"], "states": ["NY"] }
Returns the single New York record for DOS ID 3523029 (BLUE RIDGE ACCOUNTING SERVICES, INC.), with status, formation date and filing history. Our test run took about 3 s.
3. New-filings feed (newly formed LLCs)
{ "formedAfter": "2026-10-01", "entityTypes": ["llc"], "status": "active", "states": ["CO", "CT", "NY"], "maxResultsPerState": 20, "maxItems": 60 }
List mode: no name needed. Returns active LLCs formed on or after the date. Our test returned 60 LLCs formed between 2026-10-01 and 2026-11-04 in about 3 s.
Find newly formed LLCs for lead lists
New LLC filings are a common source of B2B leads. Freshly formed businesses often need a bank account, insurance, bookkeeping, a website, payroll or a registered agent. This Actor builds a new business filings list straight from official Secretary of State open data. It doesn't scrape search portals.
Step 1: choose states and a date. Leave the business name empty and set formedAfter to the start of your window, for example last Monday. List mode works in every state whose data includes a formation date. CO, CT and NY (active entities) were tested for this tutorial.
Step 2: filter to LLCs that are still active.
{ "formedAfter": "2026-10-01", "entityTypes": ["llc"], "status": "active", "states": ["CO", "CT", "NY"], "maxResultsPerState": 200 }
Add city or zip to target a local market.
Step 3: export. Use the dataset's flat leads view for CSV or Excel. Each row has the entity name, entity number, formation date, status, the registered agent where the state publishes one, the business address and a link back to the official source record.
Step 4: repeat weekly. Run it again with a new formedAfter date to pick up only the latest filings. You pay $0.002 per result returned. The final coverage summary row is free.
Good to know:
- How fresh the data is depends on the state. CO, CT, NY and DC update daily, IA monthly. Virginia's open-data files are older snapshots. Each row's
source_as_oforretrieved_attells you how fresh it is. - Individuals' home addresses and sole proprietors are never output.
- Many new LLCs list a commercial registered agent, not the owner. Treat these lists as company-level leads, not personal contact data, and follow the marketing rules that apply to you (CAN-SPAM, TCPA and state laws).
- The Actor provides no emails or phone numbers that the states don't publish.
Use cases
| Use case | How |
|---|---|
| KYB / vendor onboarding | Exact name or entity number, then check status_std, formation_date and the agent |
| New-business leads | List mode: formedAfter = last week, status = active, filtered by ZIP or city |
| Registered-agent market share | Search a state, then group by registered_agent.name |
| Litigation / service of process | Find the registered agent (organization) and the NY service-of-process address |
| Due diligence | Officers (names and titles), dissolution date, annual report due |
Notes
status_stdvalues:active: good standing, exists, activedelinquent: still exists but not in good standinginactive: dissolved, revoked, withdrawn, merged and similarreserved
- NY, OR, PA, TX and IA publish active entities only, so a dissolved company in those states returns no result.
- TX data comes from the Comptroller's franchise-tax roll, which carries the SOS file number and charter date. The address is the taxpayer mailing address.
- Requests are throttled to about 3 per second per host and retried with backoff. All sources are public and need no login.
v3 additions
- UCC liens (CO, CT, OR) from official open data (data.colorado.gov
wffy-3uut/8upq-58vz/ap62-sav4, data.ct.govxfev-8smz, data.oregon.govsnfi-f79b).mode: "liens": search liens by business debtor name; one record per lien (record_type: "ucc_lien", filing_number, lien_kind, debtor_name/address, secured_parties, filings[], status, lapse_date, image_url for OR).includeLiens: true: attachesucc_filings+ucc_summary(total, active, latest_filing_date, secured_parties) to CO/CT/OR entities by exact debtor-name match.- Only organization debtors/secured parties are returned. Oregon's lien dataset covers the most recent month only.
- History (
includeHistory, default on): CTfiling_history,last_filing_date,name_history,former_names; COfiling_history,last_filing_date,trade_names. - Oregon "new last month": entities from the monthly New Businesses list that are no longer on the active list are added (
new_last_month: true).
v4 additions
- Business licenses (
mode: "licenses", orincludeLicenses: trueto attach to CO/OR entities), from official open data. Only organization licensees are returned; sole proprietors and individuals are skipped.
| State | Jurisdiction | Dataset | Notable fields |
|---|---|---|---|
| IL | City of Chicago | data.cityofchicago.org r5kz-chrr | license type, business activity, status, issued/expires |
| DE | State of Delaware | data.delaware.gov 5zy2-grhr | statewide license category, valid from/to |
| WA | City of Seattle | cos-data.seattle.gov wnbq-64tb | NAICS code, ownership type, phone |
| CO | Denver | data.colorado.gov s9wt-dsfz | license type, status, expiry |
| LA | New Orleans | data.nola.gov hjcd-grvu | business type, start date, phone |
| OR | OLCC liquor + cannabis | data.oregon.gov srxe-qkm2, q32u-cmam | license type, endorsements, county |
| VA | City of Norfolk | data.norfolk.gov dpi6-sct5 | category, opened date |
| CA | Berkeley; Marin County | data.cityofberkeley.info rwnf-bu3w; data.marincounty.gov jfy7-shxv | NAICS, employees, ownership type |
- CO UCC collateral:
collateral(descriptions) andfarm_productson CO liens (data.colorado.gov 4am6-w6u4). - No official inactive-entity open data exists for OR, PA, TX or IA (their portals publish active lists only), so inactive records there are not available.
v5: two ways to use it
Human mode (default): type a business name, optionally pick states, press Start. Long histories are capped at 10 entries (*_count shows the full number).
AI / Agent mode (outputMode: "agent"): every field, plus one final dataset item with record_type: "coverage" (also saved as key-value record COVERAGE):
{"record_type":"coverage","run_status":"completed|no_match|failed","states_queried":[{"state":"CO","status":"completed|no_match|failed|partial","results":60,"seconds":5.8,"notes":[]}],"states_skipped":[{"state":"ZZ","reason":"..."}],"queries":[{"query":"blue ridge","kind":"name","status":"completed|no_match|failed","results":83,"by_state":{"CO":60,"OR":23}}]}
The coverage item is not a charged result.
For AI assistants
Copy this into your agent's tool description:
Tool: US Secretary of State business search (official open data only).Input JSON: {"outputMode":"agent","mode":"entities"|"liens"|"licenses","businessNames":[...], "entityNumbers":[...], "states":[two-letter codes] (omit = defaults),"matchMode":"contains"|"startsWith"|"exact", "status":"any"|"active"|"inactive"|"active_or_delinquent","formedAfter":"YYYY-MM-DD","formedBefore":"YYYY-MM-DD","city":"..","zip":"..","includeOfficers":true,"includeHistory":true,"includeLiens":false,"includeLicenses":false,"maxResultsPerState":100,"maxItems":1000}Entity states: NY CO CT OR PA TX VA DC AK IA, FL (opt-in, slow). Liens: CO CT OR. Licenses: IL DE WA CO LA OR VA CA.List mode: no name, give formedAfter/formedBefore/city/zip -> new-business list.Read the last item (record_type "coverage"): run_status, per-state status, per-query status."no_match" means the state was searched and has no match; "failed" means a source error, so retry or report unknown.Never treat a state missing from states_queried as "no such business".Each record has source_url and source_dataset; cite them.
v6 – speed
Alaska and Iowa are served from a prebuilt index of their official bulk files. The index is kept in the named key-value store sos-entities-bulk-cache and is rebuilt automatically when it is more than 7 days old. To rebuild it now, set refreshCache: true. Every AK/IA record's source_as_of shows the index date. If a rebuild fails, the Actor falls back to the old index or to a live scan.
Smoke test: APIFY_TOKEN=... python3 test/smoke.py. It runs a small agent-mode query (about $0.0006, about 9 s) and exits 1 if any state fails. It can be scheduled with cron or an Apify schedule, and a scheduled run also keeps the index warm.
v6.1 – time limits and reliability
maxRunSecs(default 300) limits the whole run: when it is reached (or ~45 s before the run timeout), the run stops and returns the results found so far, with unfinished states markedpartial.stateTimeoutSecs(default 30) sets a time limit for each state. A state that runs out of time returns what it found so far and is markedpartialin COVERAGE, with a note. Set it to 0 for a complete search with no limit. Florida and cache rebuilds are not limited.- Each HTTP request is retried 4 times with backoff. If a whole state fails before returning any results, it is retried once. Each state's status is one of completed, no_match, partial, failed or not_run.
- The AK/IA index is split into about 1.5 MB shards. They are downloaded, unzipped and filtered in parallel, so Iowa now takes about 4.5 s instead of 16–29 s.
- States are searched 10 at a time by default (
maxConcurrency). - smoke.py treats
partialas a warning and fails only onfailedornot_run.
v6.2 – Virginia cached
Virginia is now served from a monthly (30-day) index in the sos-entities-bulk-cache store, built from the official data.virginia.gov bulk download files (Corporation, LLC, LP, Business Trust, Officers). The SQL/datastore API is no longer used because data.virginia.gov's robots.txt disallows /api/ and /datastore/; downloads respect its Crawl-delay. source_as_of carries the index build date; if the index is missing or stale, it is rebuilt (live fallback). Duplicate rows in the source files are de-duplicated.