Currently Shipping AI into a real-estate acquisitions workflow Location San Mateo, CA Updated 2026-10-08
Tab 04 · Rent Database

From leasing websites to rental data you can compare.

I built a system that collects floor-plan prices and advertised concessions from community websites. It keeps asking rents, rents after concessions and collection dates together, giving me a consistent basis for rental comparisons and underwriting assumptions.

§ 01 How it works Two readers, one build

For AI and data professionals

  1. Collect advertised prices.

    Python readers collect floor plans, rents and advertised availability from leasing websites, with a language model as fallback. Published unit prices remain distinct from ranges.

  2. Standardize rents and concessions.

    Supported free-rent offers become weeks for a standard 52-week net-effective comparison. Original offer text is retained; dollar credits are recorded separately and excluded from that calculation.

  3. Validate and track freshness.

    Checks look for missing fields, implausible rents, duplicates and stale observations against each market’s schedule. Collection dates and extraction failures remain visible for review.

  4. Supply comps and market summaries.

    Dated snapshots feed dashboards, market summaries, underwriting comps and read-only MCP tools for AI assistants. I review the pricing basis and offer terms before relying on a comp.

For real estate professionals

  1. Find comparable communities.

    Tracked build-for-rent and apartment communities provide a starting set, compared by product, bedroom count and size. Published unit prices are distinguished from starting rents and ranges.

  2. Compare asking and net-effective rents.

    Asking rents appear alongside the effect of recorded free-rent offers, spread over a standard twelve-month comparison. Actual lease terms, eligibility, fees and dollar credits need separate review.

  3. Assess availability and market context.

    Listed units, move-in dates and market summaries put prices in context. These are advertised offers, not signed leases or a complete vacancy measure; coverage and collection dates affect the comparison.

  4. Set underwriting assumptions.

    Comps average the lowest five observed rents in a group, or all when fewer exist; range-only prices use the minimum. I confirm comparability and material offer terms before setting the rent assumption.

§ 02 Ask the databases Live · rents, supply and demand over one MCP server

Four rent methods sit on the same MCP server as the supply and demand tools — rent_market_summary, rent_comps_near, rent_community_lookup, rent_coverage — so a rent question can be chained with what is being built nearby. The chat box, the full tool table and connect instructions are on the Connectors tab.

Try it on the Connectors tab
§ 03 The dashboard Coverage · composition · concessions · the last thirty days

Headline totals were measured on September 30, 2026. Historical rent records count priced floor-plan groups from successful collections; repeated observations over time count separately, not as unique apartments. The dashboard below uses its own dated snapshot.

  • 16,843communities tracked
  • 4.66Munits under coverage
  • 22metros
  • 66,124live floor plans
  • 32,460currently under concession
  • 25,801observations, last 30 days

Refreshed from the live database on October 6, 2026.

§ 01 How it's built Adapters first, model last

The expensive way to do this is to point a language model at every leasing page and pay for the reading. The cheap way is to notice that most communities do not have a bespoke website — they run on a leasing platform, and each platform serves its floor plans from an endpoint that returns the same shape every time. So the pipeline tries 19 deterministic adapters first, one per platform, and only falls through to the model when a site is genuinely bespoke. That tail is about 29% of runs — 13,456 reads over the last two months — and it goes out as one overnight batch at half price rather than one request at a time.

The adapters are also the accuracy story, not just the cost one. An adapter reading a JSON endpoint either returns the floor plan or fails loudly; it cannot hallucinate a two-bedroom. The model only ever sees the sites where there was nothing structured to read, and its output goes through the same validation every adapter's does.

LLM (Haiku / Luna) 13,456
rentcafe 11,510
sightmap 9,348
knock 6,203
entrata 3,264
realpage 871
razz 782
amh 479
apartments247 380
repli360 288
appfolio 126
avalon 123
ark 53
rently 46
rentcafe_marketplace 41
air_communities 30
resman 3
gounion 2
firstkey 2
jsonld_offers 1

Successful reads by engine over the last 60 days. Every row except the LLM one is a platform adapter; the LLM row names each model that ran in the window.

Markets do not all run weekly. A metro's cadence is a column in a rotation table — weekly, fortnightly, or monthly — and every staleness check derives its window from that same column, so a fortnightly market cannot be reported stale for being fortnightly. Daily assertions check the things that would otherwise rot quietly: coverage rates per market, snapshot freshness, geocode gaps, duplicate communities arriving under two names.

§ 02 Coverage by metro Tracked is not the same as scraped

Two different numbers, and conflating them is the easiest way to overstate a database like this. Tracked means the community is in the universe with a confirmed leasing URL. Live plans means the last scrape actually came back with floor plans and rents. A metro seeded last month has the first number and is still working on the second — Dallas–Fort Worth is mid-first-pass as I write this, which is why its two columns are so far apart.

Metro Tracked Units BFR Live plans Median ask $/sf Concession Last read
DFW Dallas–Fort Worth, TX 2,700 816,916 135 10,506 $1,561 $1.74 52% Oct 5
HOU Houston, TX 2,249 638,254 69 9,596 $1,383 $1.50 40% Oct 5
ATL Atlanta, GA 1,791 490,124 122 7,110 $1,674 $1.67 43% Oct 5
LAX Los Angeles / Orange County, CA 1,538 399,635 — 4,520 $2,858 $3.47 35% Sep 30
PHX Phoenix, AZ 1,446 367,192 179 5,517 $1,590 $1.77 53% Oct 5
AUS Austin, TX 1,240 344,735 54 5,408 $1,495 $1.67 59% Oct 6
CLT Charlotte, NC 917 234,821 72 4,186 $1,586 $1.69 61% Sep 30
DEN Denver, CO 827 246,029 — 3,296 $1,925 $2.19 68% Sep 30
MCO Orlando, FL 795 241,993 31 2,972 $1,786 $1.85 46% Sep 30
TPA Tampa, FL 779 219,863 53 3,129 $1,805 $1.89 50% Oct 5
NSH Nashville, TN 695 174,838 47 2,694 $1,649 $1.82 48% Oct 5
LAS Las Vegas, NV 594 163,573 22 2,050 $1,505 $1.61 52% Oct 5
RDU Raleigh–Durham, NC 523 135,071 29 2,305 $1,547 $1.59 46% Sep 27
JAX Jacksonville, FL 391 109,537 34 1,416 $1,569 $1.54 43% Sep 28
HSV Huntsville, AL 165 41,653 22 710 $1,246 $1.32 49% Sep 26
SRQ Sarasota, FL 96 22,943 20 411 $1,941 $1.91 62% Oct 2
SAT San Antonio, TX 39 7,033 39 134 $1,949 $1.36 84% Oct 1
TYS Knoxville, TN 14 2,268 10 39 $2,200 $1.58 31% Oct 2
CHA Chattanooga, TN 13 1,261 12 33 $1,793 $1.40 18% Sep 26
CHI Chicago, IL 11 2,626 3 42 $2,377 $2.20 12% Sep 26
GSP Greenville, SC 11 1,579 11 28 $2,120 $1.08 54% Oct 2
SAV Savannah, GA 9 1,492 9 22 $2,045 $1.21 32% Sep 25

Greyed rents are computed over fewer than 400 live floor plans — a metro part-way through its first pass, where the median is a handful of communities rather than a market. They will settle as the first pass completes.

§ 03 What's in it Vintage, unit mix, product

By vintage

Pre-1970 127
1970s 1,415
1980s 2,123
1990s 1,175
2000s 1,665
2010s 2,217
2020s 2,879
Unknown 1,237

The unknown bar is almost entirely build-for-rent. A garden apartment's leasing page states its year built; a new single-family rental community usually does not, because it is still delivering.

By unit type

Plan Plans Median rent Median sf $/sf
Studio 4,168 $1,414 553 $2.55
1 bed 25,637 $1,410 746 $1.89
2 bed 25,658 $1,758 1,098 $1.60
3 bed 9,497 $2,168 1,390 $1.54
4 bed 943 $2,503 1,900 $1.28
5 bed 126 $2,724 2,496 $1.12

Rent per square foot falls as plans get bigger, which is the pattern you want to see — it is the cheapest sanity check that the extraction is reading plans correctly rather than mixing up columns.

By product

Product Structure Communities Plans Median rent Median sf
Multifamily — 8,859 47,473 $1,625 960
Multifamily MF 3,587 15,149 $1,563 905
Build-for-rent — 662 2,286 $2,246 1,504
Multifamily TH 306 553 $1,976 1,269
Build-for-rent SFD 71 226 $2,275 1,753
Build-for-rent TH 87 220 $2,199 1,541
Build-for-rent MF 80 201 $2,054 1,317

Product comes off the community record, not off the model's read of the page. The model's own structure guess is kept in a separate column and shown here beside it, because on a few hundred rows the two disagree and I would rather that be visible than quietly reconciled.

§ 04 What the portals don't publish Concessions and net effective rent

A rent comp that ignores concessions is the most common way a rent assumption goes wrong, and it is wrong in the direction that makes a deal look better. Six weeks free on a twelve-month lease is not a marketing flourish; it is an eleven percent haircut to the rent you will actually collect. So the scraper reads the concession banner as well as the plan grid, parses it into weeks, and stores an asking rent and a net-effective rent side by side. 32,460 of 66,124 live plans are carrying one right now.

The spread between those two numbers is the part you cannot get from a listings site, and it varies enormously by metro. That variation is the whole point: in the metro at the top of this list, seven in ten communities are buying occupancy, and that is telling you something a median asking rent never will.

DEN Denver, CO 68% −15.2% avg
SRQ Sarasota, FL 62% −16.1% avg
CLT Charlotte, NC 61% −14.6% avg
AUS Austin, TX 59% −14.4% avg
PHX Phoenix, AZ 53% −13.8% avg
LAS Las Vegas, NV 52% −12% avg
DFW Dallas–Fort Worth, TX 52% −11.9% avg
TPA Tampa, FL 50% −11.4% avg
HSV Huntsville, AL 49% −13.4% avg
NSH Nashville, TN 48% −14.4% avg
RDU Raleigh–Durham, NC 46% −12.3% avg
MCO Orlando, FL 46% −11.3% avg
ATL Atlanta, GA 43% −11% avg
JAX Jacksonville, FL 43% −12.3% avg
HOU Houston, TX 40% −11.3% avg
LAX Los Angeles / Orange County, CA 35% −10.8% avg

Share of live floor plans advertising a concession, and the average discount to asking rent where one is being given. Metros with at least 400 live plans.

§ 05 The last thirty days Direction of travel, not an index

Here is the honest limit of this thing. Fleet-wide collection only reached full coverage in August, so there is no rent index here and I am not going to draw one. What the history can support is direction of travel: of the 7,481 communities seen at least twice, at least two weeks apart, over an average gap of 40 days, 47% cut a plan rent and 42% raised one. Ask me again in six months and this section becomes a chart.

Observations per week

06-29
07-06
07-13
07-27
08-03
08-10
08-17
08-24
08-31
09-07
09-14
09-21
09-28
10-05

Every week with reads in the last sixteen. The ramp is markets coming online, not a change in how often any one community is read. The final bar is the week in progress.

Where rents went

  • Cut 3,549
  • Unchanged 822
  • Raised 3,110

Median plan rent at a community's first and last read in the window. 8,215 of 13,086 communities have been read more than once so far, averaging 4 reads each.

§ 06 A sample of the universe Up to 20 per metro

Counts are abstract, so here is what the rows actually look like — a stable random draw of up to 20 communities per metro, weighted to include the build-for-rent tail, which is small and is the part I care most about. Only communities that have been read and carry a priced floor plan are drawn. Average rent is the mean advertised asking rent across a community's floor plans at its last read, using the low end of each plan's range.

Unit counts come from public records: the county property record, a Florida apartment licence, or the City of Austin's building permits. Year built comes from the same records where one exists, otherwise from third-party market data. Hover a figure to see which. A dash in Units means no public record covers that community yet; build-for-rent homes sit on many separate lots and rarely have one.

Community Product Units Built Avg rent Last read