MapScale for property portals

Buyers search by area. Thai areas have no agreed boundaries.

A listing filed under the wrong subdistrict is invisible to the search that would have sold it — and to the landing page you built for that subdistrict.

Where a listing files

One pin. Everything downstream depends on it.

Drag the pin anywhere in Bangkok. The province, district and subdistrict under it resolve as it moves, and with them the URL this listing would live on — the one your filters and your search pages are built from.

What breaks

Property search is area search. The area a buyer types is a neighbourhood name with no administrative existence, and the area your database filters on is a tambon whose name is shared with tambons in other provinces. Both have to resolve to the same place.

The areas buyers search for are not administrative units

Thonglor, Ari and Ekkamai are how people describe where they want to live. None of them is a district, and none has an official boundary to look up.

A wrong tambon files the listing under the wrong search

Filters, URLs and per-area landing pages are all built on the administrative hierarchy. One wrong level and the listing is absent from the only page it should have been on.

Buyers decide on commute time, not distance

“15 minutes from the office” and “6 km from the office” select completely different sets of properties, and only one of them is the question being asked.

What it costs

Portals track listings and leads. The rate in the middle is the one worth measuring before it is worth fixing.

listings × share filed under the wrong area × probability that costs a lead × value of a lead

Put your own numbers in the calculator

The endpoints you would use

GET/v1/admin-areas/reverse

Turn a listing's coordinate into the province, district and subdistrict your filters and URLs are built on.

GET/styles/v1/{styleId}

A branded interactive map for the listing page, restyled to your palette by query parameter.

GET/v1/isochrone

Commute-time areas, so “20 minutes from Asok” becomes a filter rather than a description.

GET/v1/static/{lonLatZoom}/{sizeFile}

A map image for listing cards, emailed brochures and social previews.

A request you can run

Reverse a listing coordinate to its administrative areas, then generate the static map its card needs.

# The listing has a coordinate. Which province, district and subdistrict is
# it in? This is what your filters, your URLs and your SEO pages are built on,
# so getting the tambon wrong files the listing under the wrong search.
curl -H "X-MapScale-Key: $MAPSCALE_API_KEY" \
  "https://api.mapscale.io/v1/admin-areas/reverse?point=100.5348,13.7466&lang=th"

# A map image for the listing card and the emailed brochure — no JavaScript,
# no canvas, works in an email client and a PDF.
curl -o listing.png -H "X-MapScale-Key: $MAPSCALE_API_KEY" \
  "https://api.mapscale.io/v1/static/100.5348,13.7466,15/1200x630.png?markers=100.5348,13.7466&lang=th"

What we can actually claim

This is the audience we can prove. MapScale is the map layer behind our own property network and consumer portal — the administrative reverse lookup, the styles and the static maps on this page are the ones those products run in production.

Bring us your data.

A 30-minute review against your own addresses — not a demo dataset. You will see the failure rate before you see a price.