The /rental-yield endpoint returns HUD Small Area Fair Market Rent data for a ZIP code by bedroom count, combined with a gross rental yield calculation using the current median sale price.
Request
GET /rental-yield?zip_code={zip_code}&bedrooms={bedrooms}
Parameters:
zip_code (string, required) — 5-digit US ZIP code
bedrooms (integer, optional) — 0=studio, 1, 2, 3, 4 (default: 2)
Headers:
x-rapidapi-proxy-secret: YOUR_API_KEY
Response Schema
{
"zip_code": "78701",
"bedrooms": 2,
"fair_market_rent": 1850, // USD/month (HUD SAFMR)
"annual_gross_rent": 22200, // USD/year
"median_sale_price": 475000, // USD
"gross_yield_pct": 4.67, // percent
"estimated_net_yield": 3.03, // gross × 0.65 (estimated)
"data_year": 2024, // HUD vintage year
"is_estimated": false
}
All Bedroom Types (Batch)
To get all bedroom types for a ZIP code, call the endpoint separately for each bedroom value (0–4) or use the /property-estimate endpoint which returns a summary across all bedroom types.
import asyncio, httpx
async def all_bedroom_yields(zip_code, key):
headers = {"x-rapidapi-proxy-secret": key}
async with httpx.AsyncClient() as c:
tasks = [c.get("https://zipmarketdata.com/rental-yield",
params={"zip_code": zip_code, "bedrooms": br},
headers=headers) for br in range(5)]
responses = await asyncio.gather(*tasks)
return {r.json()["bedrooms"]: r.json() for r in responses}