// journal / real estate

Why I built The Listing Agent Finder (and what I learned about real-estate data)

May 21, 2026 · 9 min read · by Mark Druckmiller

If you've ever tried to figure out who the listing agent is for a specific house — not the Zillow "Premier Agent" who paid to show up next to it, but the actual person whose name is on the listing — you already know the answer is: it's harder than it should be. That difficulty is the entire reason The Listing Agent Finder exists.

The problem, in one paragraph

Most major real-estate portals make money by selling buyer leads back to agents. When you click "Contact Agent" on a listing, you are usually not contacting the listing agent. You're being routed to whichever agent in that ZIP code paid the portal for the lead. The actual listing agent — the person who has the seller's ear, knows the property's history, and controls the negotiation — is often hidden three clicks deep, in a small font, with no direct contact info.

For buyers and renters, this means you're talking to someone who has never set foot in the house. For sellers comparison-shopping agents, it means you can't easily see who's actually listing what in your neighborhood. For the listing agents themselves, it means their own listings are being used as bait to sell leads to their competitors.

What the app does

You type a street address and state. It returns the listing agent on record for that property, along with their brokerage and contact info when available. No lead capture. No "we'll connect you with a top agent in your area". Just the name on the listing.

That's the whole product. It's deliberately small, because the value is in cutting through a maze, not in adding new rooms to it.

What I learned about real-estate data

MLS is not one database

There is no national MLS. There are hundreds of regional MLS organizations, each with their own rules, fees, data formats, and licensing. Building anything that works across the country means working with aggregators or public-record sources, and accepting that coverage and freshness will vary by market.

Public records lag

Tax assessor records are public, but they reflect ownership and sale events, not active listings. By the time a sale shows up in public records, the listing is closed and the agent has moved on. For active listings, you need a feed.

Address normalization is its own engineering problem

"123 Main St" and "123 MAIN STREET, APT B" and "123 Main Street #B" are the same place to a human and three different rows to a database. Real-estate data is full of suffix abbreviations, unit designators, directional prefixes, and zip+4 codes. A meaningful chunk of the engineering for this kind of app is just making "what the user typed" match "what's in the data".

The "agent of record" is fuzzier than you'd think

A listing can have a primary agent, a co-listing agent, a team lead, and a brokerage of record. Which one is the "real" listing agent depends on who you ask and what you're trying to do. For most users, "the human whose name is on the listing and who can answer the phone" is the right answer, but encoding that into a query is harder than it sounds.

What I'd do differently

Start with one market. I built nationwide coverage from day one because it felt more impressive, but every market has its own data quirks, and shipping one really good city would have taught me more, faster, than shipping fifty mediocre ones.

Talk to listing agents earlier. The first version of the app was built for buyers. It turned out listing agents — the people whose names appear in the results — were just as interested, because the tool routes interested buyers directly to them instead of through a lead reseller.

Why this matters beyond real estate

A lot of the internet now works like the real-estate portals do: a thin layer of search and discovery on top of a paid-routing layer that takes a cut of every introduction. Restaurants, doctors, lawyers, contractors — same pattern. The Listing Agent Finder is a small bet that there's room for tools that just answer the question you asked, without trying to monetize the answer.