Landlords across the country feed their vacancies into shared pricing algorithms, and those algorithms raise rents in lockstep across competitors. The Department of Justice sued over it and called it what it is: price-fixing.
You cannot audit an algorithm without the data it feeds on, and almost none of that data is public. So this starts where every real answer starts: pulling the data into the open, owned by no one, for anyone to build on.
Zillow and StreetEasy are paid by landlords and brokers, so the real prices and the real history stay locked behind them. But there is a crack in the wall: landlords have to publish their availability to lease their own units. Those landlord-direct feeds are public by necessity.
pricefixed reads them, snapshots every price and lease term on every pull, and writes it all to a plain SQLite file. No account, no key, no lock-in. The portals show you today's ask and throw the rest away. Run this on a cron and you keep what they discard: the real trajectory of what every unit asked, over time.
12 reference adapters, from single landlords to the Corcoran and Elliman backends that carry MLS-syndicated listings from the whole broker market. Python standard library only. FEEDS.md maps the rest.
Every pull writes one row per listing to price_history. Price drops, lease-term changes, delistings: recoverable forever, sellable by no one.
A standardized public record composed from city data: who owns it, which portfolio it belongs to, whether it is rent stabilized. 3,197 buildings so far.
Clone the repo, hand it to Claude or Codex, and say "read BUILD.md and help me build an apartment database." It asks what you want and builds exactly that from the feeds and the record.
The bigger move: the 12 adapters are reference implementations. Point your agent at the source map and the compile method, and it builds new adapters row by row. Compiling the rest is a crank anyone, human or AI, can turn.
Maintained, dependency-free scrapers for landlord-direct sources. NYC first, because it is the hardest and the most walled.
A published, open dataset of what the feeds return over time, so nobody has to run the scrapers to get the history.
Reverse-engineering how landlord pricing software actually sets your rent, in public, so the thing setting the price can finally be seen.
Clone it, run one command, and the wall starts coming down one SQLite file at a time.