AMY db
Drop Michigan's licensee file here for real leads. The whole ingest runs in this tab — nothing is uploaded. Get the file from LARA → “FOIA – Real Estate Brokers/Salesperson List” (.xlsx or .csv, free, no account). Until then the grid below shows sample records.
Open · no key · no account

The lists this industry keeps asking for.

Mortgage runs on knowing who is out there — which agents are licensed, where, and how to reach them. That data exists, mostly in public records nobody has bothered to make usable. This is where we put the ones we have cleaned, with the source of every field written down.

Michigan's own list is one download away, and the grid above will read it for you — the whole ingest runs in your browser, so the file never leaves your machine. Forty thousand licensees take about five seconds.

Open to everyone while the catalogue is small. No key, no rate limit, no sign-up — take the CSV or hit the JSON. Subscriber keys are designed into the API and deliberately not switched on. If that changes, what is public today stays public.

The catalogue.

Four states a dataset can be in, and the difference matters more than the name: live is built and downloadable, sample is the pipeline running on invented records, ready means the pipeline is written and tested and is waiting on its source file, and planned means we know where the data is and have not done the work.

Loading the catalogue…

The one we were asked for

Every licensed real estate agent in Michigan.

This one has a good answer, and it is not scraping. Michigan's licensing authority publishes the whole population itself — every salesperson, associate broker and broker in the state — as a report generated live from the licensing system. Free, no account, nothing crawled.

  1. Open LARA's list page. michigan.gov/lara → Bureau of Professional Licensing → License Lists and Reports ↗
  2. Take “FOIA – Real Estate Brokers/Salesperson List”. It is queried live against MiPLUS, so it takes a minute to generate, then downloads as a spreadsheet.
  3. Drop it on the grid at the top of this page — that is the whole of it. The same ingest runs in your tab: no upload, no account, no request leaves the page. Or run it on the command line if you would rather have the files.
# the state's file in, the clean list out
node src/ingest/michigan-cli.js ~/Downloads/RealEstateList.xlsx \
     --out mi.json --csv mi.csv --db ../db

# or see it work first, on invented records in the same shape
node src/ingest/michigan-cli.js --sample 3000 --db ../db

What the ingest does to it

Un-shouts the names“VANDENBERG, MEREDITH A” becomes “Meredith A Vandenberg”, with McDonald, O'Brien and LLC left alone.
Separates people from officesBroker companies and branch offices are real records but they are not people. They are counted apart — putting them in a list of agents is the commonest defect in a bought list.
Links each agent to their brokerBy the broker's licence number where the file has one, by normalised company name where it does not.
Normalises what variesPhones to E.164, dates to ISO whether the export used serials or US order, statuses to one vocabulary — and anything it does not recognise is reported rather than guessed.
Records where every field came fromAll of it at registry confidence, because the registry is where it came from.
Licensees, not REALTORS® Those are different things and only one of them is a public record. A licensee is anyone the state has licensed to sell real estate — that is this list, and it is complete. A REALTOR® is a member of the National Association of REALTORS®, which is a trade association, not a regulator; membership is not in any state file. So every row says associationMember: null rather than implying an answer. Anyone selling you “every realtor in Michigan” built from state data is selling you this list with the wrong label on it.
Datasets in demand

Tell us which one you need.

What gets built next is decided by what people ask for. Below is what has been asked for so far. Adding your name to one moves it up; asking for something new starts a row.

Sent. Thank you — we read every one.

Requests go to our inbox. Vote counts are the ones we have recorded plus your own, which your browser remembers — there is no account system yet and this page does not pretend otherwise.

How we decide what goes in.

RuleWhy
A public record beats a crawlWhere a regulator publishes the population, we ingest that. It is complete, it is authoritative, and it costs the internet nothing. Michigan is the model.
The source is on the recordEvery dataset names the authority, the report, and the basis on which the data is published. If we cannot write that sentence, we do not ship the dataset.
No portal data, everZillow, Realtor.com, Redfin and the rest prohibit automated collection in their terms of use, and MLS/IDX feeds are licensed to the broker who receives them. Neither is here and neither will be.
Caveats travel with the dataEvery dataset lists what it is not. Contact details are as of the last renewal; production figures on a brokerage page are marketing copy; membership of a trade association is not a licence.
Having it is not permission to use itA phone number in a public record is not consent to be autodialled or texted. The scraper attaches per-channel verdicts for exactly this reason, and they travel with the data.