Tools: I got tired of checking 50 Secretary of State websites, so I built an API
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 ? It will become hidden in your post, but will still be visible via the comment's permalink. as well , this person and/or 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. 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.