Stop filtering listings by bedroom count. Read the floorplan
A quant building a UK AVM has price, postcode, and "2 bed." The model wants the kitchen in square metres. The portal will not give it to them. The agent rendered it once, into a floorplan PNG, and left it there.
So the team downloads the plan. Zooms. Types 14'0 x 12'10 into a sheet and hopes the conversion is right. Or they skip room mix entirely and let bedroom count stand in for space, which is how a 4.9 m² kitchen and a 16 m² kitchen become the same record.
Bedroom count is a marketing number
Portals publish what sells the click. Proptech databases, comparables models, and BTR operators inherit that headline and then spend analyst time reconstructing the layout the drawing already labelled. Letting teams checking HMO minimums do it with a ruler on a screen. Renovation estimators do it with a guess.
The floorplan is the only place room-level data lives. It is never a text field. Unlabelled space stays unlabelled. A study the agent does not market as a bedroom still says STUDY on the plan. The third "bedroom" that cannot fit a double is a number on the advert and a measurement on the drawing, and those two disagree more often than a filter built on beds will admit.
Stop filtering listings by bedroom count. Read the floorplan. The sizes, the storey, the balcony that is drawn and not mentioned — that is the listing. The bed count is the slogan.
Transcribe the drawing, keep the plan
The job is listing URL in, rooms out. Find the floorplan image. Read every labelled room: name as printed, type, area in m², the dimension string, which floor. Roll up bedroom count from the plan, total area when the drawing states it, balcony and garden if they are actually drawn.
That is the Property Floorplan Extractor API. You paste Rightmove or OnTheMarket listing or search URLs. Search pages walk listings that published a plan and skip the ones that did not. Each floorplan becomes a row of rooms plus the image, so a odd measurement can be checked against the pixels.
Three beats:
- Point it at the search or the listings you already pull.
- It finds the floorplan and reads the labels.
- You get room-level JSON instead of a folder of plans.
I built it because bedroom count was doing a job it cannot do, and the drawing was sitting unused in the gallery.
Who this is for, and who should keep measuring by hand
If you enrich a portal or proptech database with room attributes, this is for you. If you score listings for an AVM and want price per m² and room mix instead of beds alone, this is for you. If you audit kitchen and bedroom sizes across a BTR or lettings book, this is for you.
If you need a measured survey, this is still a marketing drawing. Agents say the numbers are approximate. Rooms with no printed dimensions come back without an area. Unlabelled bathrooms are omitted on purpose — the model should not invent a room the plan did not name. Larger homes often publish one plan per storey, so one listing can be several rows; group them. Plan bedroom count can disagree with the advert when a study or staff room is drawn but not marketed. Compare the two.
Low-resolution or rotated plans come back with a low confidence flag. Filter on that if the pipeline is picky. Input, pricing, and the rest of the caveats live on the Apify Store README for Property Floorplan Extractor.
Used-car listings hide a parallel record in the photo gallery. If your queue is body panels rather than rooms, I wrote separately about grading vehicle condition from listing photos.
A 2-bed filter is not a layout
The old cost is the model that treats two flats as comparable because both say two bedrooms, while one kitchen is a galley that cannot turn and the other is the size of the first flat's living room. You already had the drawing. You were using the slogan.
If the listing is public and the rooms are on the plan, read the plan.
The other listing-vision posts on rainminer are the same argument in a different vertical: stop ignoring the image the portal already published.
