The Gross Rent Multiplier (GRM) is the simplest possible investment screen: divide price by annual rent. It requires no expense data, making it useful for very rapid first-pass screening across large numbers of properties.

The Formula

GRM = Property Price / Annual Gross Rent Lower GRM = better value relative to rent Example: $300,000 price / ($1,800/mo × 12) = $300,000 / $21,600 = 13.9 Target range for SFR: GRM 8–14 (varies by market)

GRM Benchmarks by Market Type

MarketTypical GRMInvestment Signal
High-yield Midwest markets8–11Strong cash flow potential
Growing Sunbelt markets11–16Balanced cash flow + appreciation
Coastal gateway markets18–30+Appreciation play; weak cash flow

Calculating GRM from ZipMarketData

import requests KEY = "your_key" def get_grm(zip_code, bedrooms=2): stats = requests.get("https://zipmarketdata.com/market-stats", params={"zip_code": zip_code}, headers={"x-rapidapi-proxy-secret": KEY}).json() rents = requests.get("https://zipmarketdata.com/rental-yield", params={"zip_code": zip_code, "bedrooms": bedrooms}, headers={"x-rapidapi-proxy-secret": KEY}).json() price = stats.get("median_sale_price", 0) annual_rent = rents.get("fair_market_rent", 0) * 12 return round(price / annual_rent, 1) if annual_rent else None