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}