Includes: API (Express/TypeScript), Astro site, Python workers, document generators, FCC compliance tools, Canada CRTC formation, Ansible infrastructure, and deployment scripts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
12 KiB
State-by-State Automation Status — 52 Jurisdictions (50 States + DC + BC Canada)
Last updated: 2026-04-05
This document tracks the implementation status of name search and entity filing automation for all 52 jurisdictions (50 states + DC + BC Canada).
Status Legend
| Symbol | Meaning |
|---|---|
| WORKING | Tested and functional |
| READY | Selectors verified, needs Playwright testing |
| BLOCKED-CAPTCHA | Portal has CAPTCHA, needs solving service or manual step |
| BLOCKED-LOGIN | Portal requires account/login before search or filing |
| BLOCKED-WAF | Portal has Web Application Firewall blocking automation |
| BLOCKED-PAYMENT | Automation works up to payment step |
| NEEDS-RESEARCH | Portal not yet inspected |
| API | Uses REST API, no browser needed |
Tier 1: API-Based Name Search (No Browser Needed)
| State | Code | Name Search | Filing | Portal | Notes |
|---|---|---|---|---|---|
| Colorado | CO | WORKING (API) | NEEDS-RESEARCH | data.colorado.gov | Socrata SODA API. Dataset 4ykn-tg5h. Free, no auth. Confirmed working with live test. |
Other Potential Socrata States (Untested)
These states have open data portals that MAY have business entity datasets:
| State | Code | Socrata Domain | Dataset ID | Status |
|---|---|---|---|---|
| Alaska | AK | data.alaska.gov | Unknown | NEEDS-RESEARCH |
| Connecticut | CT | data.ct.gov | Unknown | NEEDS-RESEARCH |
| Illinois | IL | data.illinois.gov | Unknown | NEEDS-RESEARCH |
| Iowa | IA | data.iowa.gov | Unknown | NEEDS-RESEARCH |
| Michigan | MI | data.michigan.gov | Unknown | NEEDS-RESEARCH |
| New York | NY | data.ny.gov | Unknown | NEEDS-RESEARCH |
| Oregon | OR | data.oregon.gov | Unknown | NEEDS-RESEARCH |
| Pennsylvania | PA | data.pa.gov | Unknown | NEEDS-RESEARCH |
| Vermont | VT | data.vermont.gov | Unknown | NEEDS-RESEARCH |
| Washington | WA | data.wa.gov | Unknown | NEEDS-RESEARCH |
Action needed: Search each Socrata domain for business entity datasets. If found, these states can use API-based name search like Colorado.
Tier 2: Selectors Verified (Ready for Playwright Testing)
| State | Code | Name Search | Filing | Portal | Key Selectors | Barriers |
|---|---|---|---|---|---|---|
| Wyoming | WY | READY | NEEDS-RESEARCH | wyobiz.wyo.gov | Name: #MainContent_txtFilingName, Search: #MainContent_cmdSearch, Contains: #MainContent_chkSearchIncludes |
ASP.NET WebForms postback. No CAPTCHA on name search. |
| Delaware | DE | BLOCKED-CAPTCHA | BLOCKED-CAPTCHA | icis.corp.delaware.gov | Name: #ctl00_ContentPlaceHolder1_frmEntityName, FileNo: #ctl00_ContentPlaceHolder1_frmFileNumber, Submit: #ctl00_ContentPlaceHolder1_btnSubmit, CAPTCHA panel: #ctl00_ContentPlaceHolder1_pnlCaptcha |
CAPTCHA on every search. Anti-scraping warning: "Use of automated tools may result in suspension." CAPTCHA image at /Ecorp/CaptchaHandler.ashx. Solving service (2captcha/anticaptcha) needed. |
| Utah | UT | READY | BLOCKED-LOGIN | secure.utah.gov | Entity search at /EntitySearch/OnlineEntitySearch (no login). Name availability at /NameAvailabilitySearch (no login). Filing requires UtahID login (OAuth). |
Name search accessible without login. Modern web app (not ASP.NET). Filing requires UtahID OAuth. |
Tier 3: Portal Requires Account/Login
| State | Code | Portal | Login Type | What's Needed |
|---|---|---|---|---|
| Texas | TX | direct.sos.state.tx.us | SOSDirect account (client_id + password) | Regular subscription for filing. Temporary login available for searches (credit card required). Need to create SOSDirect account. Password expires every 90 days. |
| Utah | UT | secure.utah.gov | UtahID (OAuth) | Filing requires creating a UtahID account. Name search works without login. |
Tier 4: Portal Blocks Non-Browser Requests (Need Playwright)
These portals returned 403 or similar when fetched without a real browser. Playwright with stealth settings should work for these.
| State | Code | Portal URL | HTTP Status | Notes |
|---|---|---|---|---|
| Florida | FL | search.sunbiz.org | 403 | Blocks curl/fetch. Playwright should work. |
| Ohio | OH | businesssearch.ohiosos.gov | 403 | Same — blocks non-browser requests. |
| California | CA | businesssearch.sos.ca.gov | Connection refused | URL may have changed. Try bizfileonline.sos.ca.gov. |
Tier 5: WAF/Anti-Bot Protection
| State | Code | Portal | Protection | What's Needed |
|---|---|---|---|---|
| Nevada | NV | esos.nv.gov | Incapsula/Imperva WAF | Returns Incapsula challenge page. Need Playwright with advanced stealth (random delays, mouse movements, browser fingerprint randomization). May need residential proxy. |
Tier 6: Not Yet Researched (37 States)
| State | Code | Known Portal URL | Priority |
|---|---|---|---|
| Alabama | AL | sos.alabama.gov | Low |
| Alaska | AK | commerce.alaska.gov | Medium (check Socrata) |
| Arizona | AZ | ecorp.azcc.gov | Medium |
| Arkansas | AR | biz.sos.arkansas.gov | Low |
| Connecticut | CT | service.ct.gov | Medium (check Socrata) |
| Georgia | GA | ecorp.sos.ga.gov | Medium |
| Hawaii | HI | hbe.ehawaii.gov | Low |
| Idaho | ID | sosbiz.idaho.gov | Low |
| Illinois | IL | apps.ilsos.gov | Medium (check Socrata) |
| Indiana | IN | bsd.sos.in.gov | Low |
| Iowa | IA | sos.iowa.gov | Medium (check Socrata) |
| Kansas | KS | kansas.gov/bess | Low |
| Kentucky | KY | app.sos.ky.gov | Low |
| Louisiana | LA | coraweb.sos.la.gov | Low |
| Maine | ME | icrs.informe.org | Low |
| Maryland | MD | egov.maryland.gov | Low |
| Massachusetts | MA | corp.sec.state.ma.us | Low |
| Michigan | MI | cofs.lara.state.mi.us | Medium (check Socrata) |
| Minnesota | MN | mblsportal.sos.state.mn.us | Low |
| Mississippi | MS | corp.sos.ms.gov | Low |
| Missouri | MO | bsd.sos.mo.gov | Low |
| Montana | MT | biz.sosmt.gov | Low |
| Nebraska | NE | sos.nebraska.gov | Low |
| New Hampshire | NH | quickstart.sos.nh.gov | Low |
| New Jersey | NJ | njportal.com/dor | Low |
| New Mexico | NM | portal.sos.state.nm.us | Medium |
| New York | NY | appext20.dos.ny.gov | Medium (check Socrata) |
| North Carolina | NC | sosnc.gov | Low |
| North Dakota | ND | firststop.sos.nd.gov | Low |
| Oklahoma | OK | sos.ok.gov | Low |
| Oregon | OR | egov.sos.state.or.us | Medium (check Socrata) |
| Pennsylvania | PA | file.dos.pa.gov | Medium (check Socrata) |
| Rhode Island | RI | business.sos.ri.gov | Low |
| South Carolina | SC | businessfilings.sc.gov | Low |
| South Dakota | SD | sosenterprise.sd.gov | Low |
| Tennessee | TN | tnbear.tn.gov | Low |
| Vermont | VT | bizfilings.vermont.gov | Medium (check Socrata) |
| Virginia | VA | cis.scc.virginia.gov | Medium |
| Washington | WA | ccfs.sos.wa.gov | Medium (check Socrata) |
| West Virginia | WV | apps.wv.gov | Low |
| Wisconsin | WI | apps.dfi.wi.gov | Low |
| DC | DC | corponline.dcra.dc.gov | Low |
BC (British Columbia, Canada)
| State | Code | Name Search | Filing | Portal | Notes |
|---|---|---|---|---|---|
| BC | BC | Stubbed | Stubbed | corporateonline.gov.bc.ca | Part of Canada CRTC Carrier Package ($3,899). BC Registry uses Corporate Online portal (anonymous — no login required). Name reservation via bcregistrynames.gov.bc.ca. COLIN selectors need live session verification (Steps 5-12). |
BC adapter also handles (14-step pipeline in services/canada_crtc.py):
- Anytime Mailbox setup (329 Howe St, Vancouver) — implemented (Playwright + IMAP OTP)
- .ca domain provisioning via HestiaCP (cp.carrierone.com) — implemented
- Canadian DID via Flowroute — implemented
- CRTC registration letter — implemented (DOCX → MinIO → DocServer PDF)
- eSign portal — implemented (canvas signature, JWT auth, 72h expiry)
- BITS registration — implemented (Step 11: GCKey provisioning + admin ToDo)
- CCTS membership — implemented (Step 12: admin ToDo + client obligations email)
- Compliance calendar — implemented (Step 13: 17 entries — regulatory + tax + ATS)
- Corporate binder compilation — implemented (pikepdf + reportlab)
- GCKey provisioning — implemented (Playwright 5-step wizard, hCaptcha handling)
- Renewal lifecycle — implemented (renewal_worker.py daily cron)
GCKey Automation Details
| Step | Status | Notes |
|---|---|---|
| Step 1 — Terms | Verified | input[name=_eventId_accept], no CAPTCHA |
| Step 2 — Username | Verified | input[name=uid][id=userID], hCaptcha invisible (sitekey mapped) |
| Step 3 — Password | Inferred | input[type=password] fields, hCaptcha likely |
| Step 4 — Security Q&A | Inferred | select dropdowns + text answer fields |
| Step 5 — Email/Confirm | Inferred | email field + submit |
hCaptcha solver integration stubbed — needs 2captcha/CapSolver API key for production.
Filing Barriers (Universal)
These barriers apply to ALL states once name search is working:
-
Payment processing — Every state requires payment for filing. Most accept credit card via web form. Automating credit card entry requires PCI considerations. Options:
- Pre-funded SOSDirect-style accounts (TX, some others)
- Credit card entry via Playwright (risky, PCI compliance concern)
- Manual payment step (admin enters card in browser, automation fills rest)
-
Document upload — Some states require uploading signed Articles of Organization as PDF. Others have online forms that generate the document.
-
Registered agent acceptance — Some states require the RA to accept/confirm before filing completes. NW RA may handle this automatically for their wholesale partners.
-
Publication requirements — AZ and NY require newspaper publication after filing. This is a manual/semi-manual step that cannot be fully automated.
Priority Implementation Order
Based on formation volume and customer demand:
- Wyoming (WY) — Selectors verified, highest priority. No CAPTCHA.
- Colorado (CO) — API working for name search. Need filing automation.
- Delaware (DE) — Selectors verified but CAPTCHA blocks automation. Need solving service.
- Florida (FL) — High demand. Needs Playwright (403 from curl). No CAPTCHA expected.
- Texas (TX) — High demand. Need SOSDirect account. Temporary login for searches.
- Nevada (NV) — High demand for privacy. WAF blocks. Need stealth Playwright.
- Utah (UT) — Name search without login. Cheapest state. Filing needs UtahID.
- New Mexico (NM) — Cheap, no annual fees. Untested portal.
- Ohio (OH) — No annual fees. Needs Playwright (403).
- Montana (MT) — Cheapest LLC ($35). Untested portal.
Next Steps
Immediate (this session)
- Verify Colorado Socrata API (CONFIRMED WORKING)
- Extract Delaware selectors from live HTML
- Extract Texas login requirements
- Document Utah portal structure
- Test Wyoming name search via Playwright
- Search Socrata domains for more API-accessible states
Short-term (next session)
- Set up 2captcha or anticaptcha integration for Delaware
- Create SOSDirect account for Texas
- Create UtahID account for Utah
- Fetch and extract selectors for FL, NV, CA, OH via Playwright
- Test name search on WY, UT, FL, OH via Playwright
Medium-term
- Implement filing automation for WY (first state to go live)
- Implement filing automation for CO (second, API head start)
- Set up CAPTCHA solving for DE
- Research and extract selectors for remaining 37 states
Long-term
- Complete all 52 jurisdiction name search implementations (50 states + DC + BC)
- Complete all 52 jurisdiction filing implementations
- Handle payment step for each state
- Set up monitoring for portal changes (selectors break when states update their sites)