DEV Community

Cover image for I built the centralized U.S. business entity API that doesn't exist , with an MCP server for AI agents
Noah Fischer
Noah Fischer

Posted on

I built the centralized U.S. business entity API that doesn't exist , with an MCP server for AI agents

Go ask ChatGPT "is there a single database of all U.S. business entities?" right now. It'll tell you no, explain that the U.S. is fragmented by design, and send you to piece together 50 different state websites yourself.

That's the correct answer. It's also the problem I spent the last few months fixing.

What I built
FreshFilings (freshfilings.dev) pulls from official Secretary of State databases across multiple states, normalizes everything into one consistent schema, and serves it through a REST API. No scraping, no third-party middlemen - just the raw public record data cleaned up and made actually usable.

Currently live on New York, Florida, and Colorado (about 3M+ entities). Texas and California are next.

curl https://freshfilings.dev/api/v1/search?q=acme&state=NY \
-H "Authorization: Bearer $FF_KEY"

{
"name": "ACME HOLDINGS LLC",
"state": "NY",
"status": "Active",
"formation_date": "2019-04-12",
"entity_type": "LLC",
"state_entity_id": "4827193"
}

Three endpoints: search by name, get a full record by state + filing ID, and a new formations feed that returns every entity registered since a given date. That last one is useful for sales prospecting - you can pull every new LLC in a state from the past week and reach them before anyone else has.

The MCP server part
I shipped freshfilings-mcp to PyPI this week as well. uvx freshfilings-mcp and any AI agent gets four live tools to query business entity data directly.

The scenario I kept coming back to while building it: someone asks an AI agent to verify a contractor is actually a registered business. Right now that requires a human to go look it up manually. With the MCP server it's just a tool call. That kind of thing is going to become table stakes pretty fast.

Stack and pricing
Python, FastAPI, SQLAlchemy, Postgres on Render, Stripe for billing. Each state has its own collector that hits the official source - NY via Socrata, Florida via Sunbiz SFTP dumps, Colorado via their Socrata API.

Pricing is $29/mo for 5k calls, $99 for 50k, $299 for 500k. Keys get emailed automatically after checkout. The incumbents in this space (Middesk etc.) start around $300-500/mo and want a sales call first, so the self-serve angle felt like an obvious gap to fill.

Where things stand
Launched this week. No paying customers yet - the product works end to end but it's purely a distribution problem at this point.

Genuinely curious who you think the first paying customers look like. My guess is compliance teams, sales tools building on top of it, or AI agents needing KYB-style lookups. But I could be wrong.

Free search at freshfilings.dev if you want to see what the data actually looks like.

Top comments (0)