Location Intelligence
for Real Estate

A map toolbar for your search and results pages.
A score widget for your listing detail pages.
Worldwide coverage: OpenStreetMap data for every city on earth.

Mapalizer toolbar showing location scores on a map

Score Badges for Every Listing Page

Add neighborhood quality scores to your property detail pages, no map required. Help visitors compare neighborhoods at a glance, right where they're already deciding.

Mapalizer score widget showing neighborhood scores on a listing page

Built for Real Estate Websites

Add location scoring to your map pages and your listing pages, all with one script tag.

Worldwide Coverage

OpenStreetMap data covers every country on earth, wherever your listings are.

Free to Start

No credit card. No demo call. Free under 10,000 pageviews/month. Try before you commit.

Privacy-first

The Mapalizer Toolbar sets no cookies and does not track individual visitors. Optional third-party map services remain under the website operator's control.

Google Maps, Leaflet & Mapbox

One API works across all three map libraries, so you never need to rewrite your integration when changing libraries.

Fully Customizable

Colors, position, opacity, category weights, and threshold: all via JSON config.

100+ Languages

Available in 100+ languages, configurable per-call for both the map toolbar and listing-page widget.

Filter Listings by Location Fit

As visitors adjust categories and the score threshold, your map can hide or gray properties that fall below their preferences.

All Zoom Levels

Mapalizer keeps working from city view to street view, so visitors can compare location quality at any map zoom.

Why Real Estate Websites Use Mapalizer

Mapalizer helps visitors evaluate neighborhood quality faster, while giving property websites a richer, more informative map experience.

  • It turns raw surroundings into a simple location signal, so visitors can understand an area without inspecting dozens of individual map pins.
  • It helps buyers and renters compare listings more quickly by showing where transit, daily essentials, parks, dining, and similar features are strongest.
  • It adds real value beyond price, photos, and floor plans by making neighborhood quality visible directly on the map.
  • It supports faster shortlisting by helping users focus on properties that match their location priorities.
  • It gives real estate websites a richer map experience that keeps visitors engaged.

How It Works

Mapalizer turns nearby OpenStreetMap features into category scores, then combines the categories each visitor cares about into an interactive location layer.

  1. Distance-based score contribution around a bus stop

    Measure Nearby Places

    For each grid point, Mapalizer measures the distance to relevant OpenStreetMap points, lines, and areas.

  2. Bus stop and railway station contributions combined into a transit score

    Build Fair Category Scores

    Nearby places contribute more. Within each subcategory, only the strongest match counts, so similar amenities do not inflate the result.

  3. Interactive contour layer created from multiple selected categories

    Render Each Visitor's Priorities

    Selected category scores are combined and rendered as an interactive vector contour layer.

Works with Your Map Library

One API, three map libraries. Switch between them without rewriting your integration.

// Google Maps
const map = new google.maps.Map(document.getElementById('map'), {
    center: { lat: 52.505, lng: 13.389 },
    zoom: 13,
});
// ...
mapalizer.addToMap(map, {
    auth: {
        siteToken: 'mpl_pk_live_REPLACE_ME'
    }
});
// Leaflet
const map = L.map('map').setView([52.505, 13.389], 13);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '&copy; <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noopener noreferrer">OpenStreetMap contributors</a>'
}).addTo(map);
// ...
mapalizer.addToMap(map, {
    auth: {
        siteToken: 'mpl_pk_live_REPLACE_ME'
    }
});
// Mapbox JS (Leaflet-based)
L.mapbox.accessToken('your-mapbox-token');
const map = L.mapbox.map('map', 'mapbox.streets').setView([52.505, 13.389], 13);
// ...
mapalizer.addToMap(map, {
    auth: {
        siteToken: 'mpl_pk_live_REPLACE_ME'
    }
});