Tools: I got tired of checking 50 Secretary of State websites, so I built an API
Source: Dev.to
Last year I was helping a fintech startup with their vendor onboarding.
Part of the process was verifying that each vendor was actually a registered business in good standing. Sounds simple enough. To verify a single business, I had to figure out which state they were registered in, find that state's Secretary of State website, navigate their(usually terrible) business search interface, solve a CAPTCHA, find the right entity among similarly-named ones, and screenshot the results for our compliance records. Each lookup took 10-15 minutes. We had hundreds of vendors to verify. I started looking for an API to automate this. There wasn't one. The existing options were either enterprise-only ($50k+ annual contracts) or aggregators with stale data. You give it a company name and jurisdiction (state), it returns the official registration data: entity status, good standing, formation date,entity type, registered agent, and more. Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse CODE_BLOCK:
bash curl -X POST "https://govlink.fly.dev/api/v1/verify" \ -H "X-API-Key: your_key" \ -d "entity_name=Stripe Inc" \ -d "jurisdiction=DE" Response: { "result": { "entity_name": "STRIPE, INC.", "file_number": "5765498", "status": "Active", "good_standing": true, "formation_date": "2010-07-30", "entity_type": "Corporation", "agent_name": "CT Corporation" } } Covers all 50 US states. Data is sourced directly from Secretary of State offices, not scraped from third-party aggregators. The two-tier pricing thing I noticed that a lot of verification workflows involve filtering. You have a list of 100 potential vendors, but you only need full verification on the 10 that pass initial checks. So I built two endpoints: - Pre-check ($0.10) - Just returns status and good standing. Fast, cheap, good for filtering loops. - Full verification ($2.50) - Complete entity data, PDF certificate, audit trail. This is especially useful for AI agents. They can do cheap exploration ($0.10 checks in a loop), then only pay for full verification when they've found the right entity. MCP support I added native https://modelcontextprotocol.io support, so LLMs like Claude can call the API directly during conversations. Point your MCP client at govlink.fly.dev/mcp and the model can verify businesses mid-conversation. This felt like the right investment. AI agents are starting to handle real business workflows - procurement, compliance, due diligence. They need reliable data APIs, not web scraping. Technical notes The stack is straightforward: Python/FastAPI, SQLite for customer data, deployed on Fly.io. One thing I'm oddly proud of: the customer dashboard is a single 3,200-line Python file with embedded HTML/CSS/JS. No React, no webpack, no node_modules. The entire UI ships as one HTTP response. It has dark mode, skeleton loading, keyboard shortcuts, the works. Is this a good idea? Probably not for a team. But for a solo project where I want to iterate fast without context-switching between frontend and backend repos, it works great. Try it GovLink is live at https://govlink.fly.dev. 10 free lookups to test, then pay-as-you-go. If you're dealing with KYB compliance, vendor verification, or building AI agents that need to validate businesses, I'd love to hear what features would be useful. Enter fullscreen mode Exit fullscreen mode CODE_BLOCK:
bash curl -X POST "https://govlink.fly.dev/api/v1/verify" \ -H "X-API-Key: your_key" \ -d "entity_name=Stripe Inc" \ -d "jurisdiction=DE" Response: { "result": { "entity_name": "STRIPE, INC.", "file_number": "5765498", "status": "Active", "good_standing": true, "formation_date": "2010-07-30", "entity_type": "Corporation", "agent_name": "CT Corporation" } } Covers all 50 US states. Data is sourced directly from Secretary of State offices, not scraped from third-party aggregators. The two-tier pricing thing I noticed that a lot of verification workflows involve filtering. You have a list of 100 potential vendors, but you only need full verification on the 10 that pass initial checks. So I built two endpoints: - Pre-check ($0.10) - Just returns status and good standing. Fast, cheap, good for filtering loops. - Full verification ($2.50) - Complete entity data, PDF certificate, audit trail. This is especially useful for AI agents. They can do cheap exploration ($0.10 checks in a loop), then only pay for full verification when they've found the right entity. MCP support I added native https://modelcontextprotocol.io support, so LLMs like Claude can call the API directly during conversations. Point your MCP client at govlink.fly.dev/mcp and the model can verify businesses mid-conversation. This felt like the right investment. AI agents are starting to handle real business workflows - procurement, compliance, due diligence. They need reliable data APIs, not web scraping. Technical notes The stack is straightforward: Python/FastAPI, SQLite for customer data, deployed on Fly.io. One thing I'm oddly proud of: the customer dashboard is a single 3,200-line Python file with embedded HTML/CSS/JS. No React, no webpack, no node_modules. The entire UI ships as one HTTP response. It has dark mode, skeleton loading, keyboard shortcuts, the works. Is this a good idea? Probably not for a team. But for a solo project where I want to iterate fast without context-switching between frontend and backend repos, it works great. Try it GovLink is live at https://govlink.fly.dev. 10 free lookups to test, then pay-as-you-go. If you're dealing with KYB compliance, vendor verification, or building AI agents that need to validate businesses, I'd love to hear what features would be useful. CODE_BLOCK:
bash curl -X POST "https://govlink.fly.dev/api/v1/verify" \ -H "X-API-Key: your_key" \ -d "entity_name=Stripe Inc" \ -d "jurisdiction=DE" Response: { "result": { "entity_name": "STRIPE, INC.", "file_number": "5765498", "status": "Active", "good_standing": true, "formation_date": "2010-07-30", "entity_type": "Corporation", "agent_name": "CT Corporation" } } Covers all 50 US states. Data is sourced directly from Secretary of State offices, not scraped from third-party aggregators. The two-tier pricing thing I noticed that a lot of verification workflows involve filtering. You have a list of 100 potential vendors, but you only need full verification on the 10 that pass initial checks. So I built two endpoints: - Pre-check ($0.10) - Just returns status and good standing. Fast, cheap, good for filtering loops. - Full verification ($2.50) - Complete entity data, PDF certificate, audit trail. This is especially useful for AI agents. They can do cheap exploration ($0.10 checks in a loop), then only pay for full verification when they've found the right entity. MCP support I added native https://modelcontextprotocol.io support, so LLMs like Claude can call the API directly during conversations. Point your MCP client at govlink.fly.dev/mcp and the model can verify businesses mid-conversation. This felt like the right investment. AI agents are starting to handle real business workflows - procurement, compliance, due diligence. They need reliable data APIs, not web scraping. Technical notes The stack is straightforward: Python/FastAPI, SQLite for customer data, deployed on Fly.io. One thing I'm oddly proud of: the customer dashboard is a single 3,200-line Python file with embedded HTML/CSS/JS. No React, no webpack, no node_modules. The entire UI ships as one HTTP response. It has dark mode, skeleton loading, keyboard shortcuts, the works. Is this a good idea? Probably not for a team. But for a solo project where I want to iterate fast without context-switching between frontend and backend repos, it works great. Try it GovLink is live at https://govlink.fly.dev. 10 free lookups to test, then pay-as-you-go. If you're dealing with KYB compliance, vendor verification, or building AI agents that need to validate businesses, I'd love to hear what features would be useful.