Find furnished rental or sale listings

Site housing.comTask find-furnished-housing-listingsVersion v5Updated Sep 16, 2026Category real-estate

Find furnished Housing.com rental or sale listings and return structured fields, furnishing verification, pagination, ownership, brokerage, badges, and canonical detail URLs. This skill was captured from a live agent session on housing.com and is published here as a reusable recipe for agents.

NoteSelectors and URL schemes drift as sites change. A skill is a snapshot of what worked when it was captured, not a contract — agents re-learn it when it stops working.

Find furnished Housing.com rental or sale listings for a location and return listing ID, title, BHK, area, locality, society/project, price, furnishing, poster type, brokerage status, badges, updated time, raw fields, and canonical detail URLs.

Use Cases

  • Find furnished rentals in a city or locality.
  • Find furnished sale listings in a city or locality.
  • Filter furnished listings by BHK, property type, locality, and price.
  • Restrict rental results to owner or no-brokerage listings.
  • Collect structured listing fields across paginated Housing.com SERPs.

Automation Flow

  1. Build the direct SERP URL. For sales with a known locality use https://housing.com/in/buy/{city}/{locality}-gid/; for city-wide BHK apartments use https://housing.com/in/buy/{city}/{bhk}bhk-flats-fid/ (for example, the observed Pune route). Append ?page={page}. For rentals with a known polygon ID use https://housing.com/rent/furnished-flats-for-rent-in-{locality}-{city}-G1P{polygon-id}; use the D2P route for without-brokerage and C4P for the optional 2-BHK route. If the locality or polygon route is unknown, search the relevant page, press Enter if needed, select the matching CITY result, and capture the resulting URL.
  2. Goto each SERP URL and run this extractor; concatenate pages and deduplicate by id. It handles sale and rental URL schemas and applies card-visible filters. For sale furnishing, treat a missing card value as unknown until detail verification.
(() => {
const norm=s=>(s||'').replace(/\s+/g,' ').trim(), rent=/\/rent\//i.test(location.href);
const sel=rent?'a[href*="-sqft-"][href*="on-rent-in-"]':'a[href*="/in/buy/resale/page/"]';
const seen=new Set(),results=[];
const money=s=>{const m=(s||'').match(/₹\s*([\d,.]+)\s*(Cr|Crore|Lac|Lakh|L|K)?/i);if(!m)return null;const n=parseFloat(m[1].replace(/,/g,'')),u=(m[2]||'').toLowerCase();return Math.round(n*(/cr|crore/.test(u)?1e7:/lac|lakh|^l$/.test(u)?1e5:/^k$/.test(u)?1e3:1));};
for(const a of document.querySelectorAll(sel)){
 const url=new URL(a.href,location.origin).href;if(seen.has(url))continue;seen.add(url);let c=a;
 for(let i=0;i<10&&c;i++){c=c.parentElement;if(c&&/₹\s*[\d,.]+/.test(c.textContent||''))break;}
 const raw=norm(c?(c.innerText||c.textContent):a.innerText);
 const m=rent?url.match(/\/rent\/(\d+)-(\d+)-sqft-(\d+(?:\.\d+)?)-(bhk|rk|r)-([a-z_-]+)-on-rent-in-([a-z-]+)/i):url.match(/\/in\/buy\/resale\/page\/(\d+)-(\d+(?:\.\d+)?)-(bhk|rk|r)-([a-z_-]+)-in-([a-z-]+)-for-rs-(\d+)/i);
 if(!m)continue;
 const id=m[1], bhk=rent?parseFloat(m[3]):parseFloat(m[2]), unit=rent?m[4]:m[3], type=rent?m[5]:m[4], locality=rent?m[6]:m[5], price=rent?money(raw):parseInt(m[6],10);
 const area=rent?parseInt(m[2],10):((raw.match(/(\d[\d,]*)\s*sq\.?\s*ft/i)||[])[1]||'').replace(/,/g,'');
 const furnishing=(raw.match(/Fully furnished|Semi furnished|Unfurnished/i)||[])[0]||null;
 const badges=[...new Set(raw.match(/Verified|No Brokerage|Without Brokerage|Zero Brokerage|Featured|Premium|Top Rated/gi)||[])];
 results.push({id,title:norm(a.querySelector('h2,h3')?.innerText||a.innerText).slice(0,240),bhk,bhk_unit:unit,property_type:type,area_sqft:area?parseInt(area,10):null,locality,society_project:null,price:price==null?null:`₹${price.toLocaleString('en-IN')}`,price_rs:price,furnishing,poster_type:/\bOwner\b/i.test(raw)&&!/Property Owner\?/i.test(raw)?'Owner':/\bAgent\b|Housing Expert|\bPro\b/i.test(raw)?'Agent':null,no_brokerage:/No Brokerage|Without Brokerage|Zero Brokerage/i.test(raw),verified:/\bVerified\b/i.test(raw),badges,updated:(raw.match(/Today|Yesterday|\d+\s*[dhwmy]\s*ago/i)||[])[0]||null,url,raw});
}
return {serp_url:location.href,intent:rent?'rent':'buy',page:new URL(location.href).searchParams.get('page')||'1',results};
})()
  1. Apply {bhk}, {property-type}, {min-price}, {max-price}, {furnishing}, {poster-type}, {no-brokerage}, and {verified} to the records. For sale listings missing furnishing or other required fields, goto each canonical url and run this detail extractor; retain only records whose requested fields and price range are confirmed.
(() => {
const norm=s=>(s||'').replace(/\s+/g,' ').trim();
const lines=document.body.innerText.split('\\n').map(norm).filter(Boolean), text=norm(lines.join(' '));
const price=text.match(/₹\s*[\d,.]+(?:\s*(?:Cr|Crore|Lac|Lakh|L|K))?/i), area=text.match(/(\d[\d,]*)\s*sq\.?\s*ft/i), beds=text.match(/(\d+(?:\.\d+)?)\s*(?:bedrooms?|bhk)/i);
return {url:document.querySelector('link[rel="canonical"]')?.href||location.href,title:norm(document.querySelector('h1')?.innerText||document.querySelector('meta[property="og:title"]')?.content||''),price:price?price[0]:null,area_sqft:area?parseInt(area[1].replace(/,/g,''),10):null,bedrooms:beds?parseFloat(beds[1]):null,furnishing:(text.match(/Fully furnished|Semi furnished|Unfurnished/i)||[])[0]||null,owner:/Contact Owner|\bOwner\b/i.test(text),no_brokerage:/No Brokerage|Without Brokerage|Zero Brokerage/i.test(text),verified:/\bVerified\b/i.test(text),badges:[...new Set(text.match(/Verified|No Brokerage|Without Brokerage|Zero Brokerage|Featured|Premium|Top Rated/gi)||[])],raw:lines};
})()
  1. Continue direct ?page={n} navigation until the SERP yields no new listing IDs or its pagination ends; deduplicate by id and preserve canonical detail URLs. Buy apartment-specific BHK routes are narrower than the broader {bhk}bhk-fid route; use -flats-fid/ when property type must be apartment.

Params

ParamWhat it doesExample value
{location}Location searched when no direct route is knownAndheri West, Mumbai
{locality}Housing.com locality slugandheri-west
{city}Housing.com city slugmumbai
{state}State slug for generic rental SERPskarnataka
{polygon-id}Opaque Housing.com rental location ID5s2sntlyr4a7izpb
{page}Pagination query parameter2
{intent}Rental or sale searchbuy
{bhk}Bedroom filter3
{property-type}Property-type filterapartment
{furnished}Furnishing requirement verified from card or detail pageFully furnished
{min-price}Optional minimum price in rupees2500000
{max-price}Optional maximum price in rupees15000000
{poster-type}Optional poster restrictionOwner
{no-brokerage}Optional brokerage restrictiontrue
{verified}Optional verified-badge requirementtrue

Possible Friction Points

TriggerAction
Akamai challenge marker appears while content remains availableContinue with the loaded Housing.com DOM; restart the BQL session with the residential proxy only if the challenge replaces the content.
Rental polygon SERP returns HTTP 406Reopen /rent, search the location, press Enter, select the matching CITY suggestion, and capture the G1, D2, or C4 route.
Rendered location search does not submitEnter the locality and press Enter, then capture the resulting locality URL.
Buy cards omit furnishing or show it inconsistentlyOpen each candidate canonical detail URL and use the detail extractor.
Buy BHK route includes non-apartment typesUse the observed {bhk}bhk-flats-fid/ route and retain only property_type === 'apartment'.
Listing cards contain nested recommendations or duplicate linksUse the nearest ancestor containing a ₹ price and deduplicate by listing ID.
Pagination click times out or blanks the sessionGoto the exact SERP URL with ?page={n} directly.
Furnished-filter footer link navigates incorrectlyBuild and goto the direct furnished rental URL instead of clicking the footer link.
Rental candidate lacks price, owner, brokerage, or furnishingOpen its canonical detail URL and verify the missing fields before retaining it.

Call it

GET https://production-sfo.browserless.io/skills?token=TOKEN-HERE&domain=housing.com&task=find-furnished-housing-listings