A map toolbar for your search and results pages.
A score widget for your listing detail pages.
One script tag. One site token. Both products.
Add location scoring to your map pages and your listing pages — with one script tag.
OpenStreetMap data covers every country on earth, wherever your listings are.
No setup needed on your server. Add one line of code to your page, enter your API token, and Mapalizer covers both the toolbar and the listing-page widget instantly.
No user data stored or shared. GDPR-friendly by design. No consent banner needed.
One API works across all three map libraries — no need to rewrite your integration when changing libraries.
Colors, position, opacity, category weights, and threshold: all via JSON config.
Available in 100+ languages, configurable per-call for both the map toolbar and listing-page widget.
No credit card. No demo call. Free under 10,000 pageviews/month. Try before you commit.
Mapalizer keeps working from city view to street view, so visitors can compare location quality at any map zoom.
Mapalizer helps visitors evaluate neighborhood quality faster, while giving property websites a richer, more informative map experience.
Each place type relevant to real estate that we track from OpenStreetMap Features contributes a score to its surrounding area.
Each place type relevant to real estate belongs to a subcategory, and each subcategory has its own maximum score and its own maximum distance. As distance increases, that contribution decreases linearly until it reaches zero at the configured maximum distance.
For example, two different bus stops located side by side will not have a greater impact than the maximum score that can be obtained from the "Bus Stop" subcategory. In this way, different subcategories are added together to determine the main category score between 0 and 1.
Bus stop
Railway station
Combined transit score
When calculating the score of a point on the map, the average score of the categories selected from the Mapalizer Toolbar at that point is taken into account. By default, all selected categories are weighted the same when calculating the average score.
railway=stationhighway=bus_stoppublic_transport=stop_positionshop=supermarketshop=convenienceshop=bakeryamenity=hospitalamenity=clinicamenity=doctorsleisure=parkleisure=nature_reservenatural=woodamenity=restaurantamenity=cafeamenity=fast_foodleisure=sports_centreleisure=swimming_poolleisure=fitness_centreshop=mallshop=clothesshop=supermarketamenity=theatreamenity=cinematourism=museum
Interactive score overlay
The result is more than a simple heatmap: Mapalizer generates interactive, contour-based location intelligence that reveals spatial patterns, transitions, and relative attractiveness directly on the map.
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: '© <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' } });