🔥 Try Handled Locator free for 7 days.Start free trial

Store locator features, without the hidden gaps.

All 86 available settings are live today and included on every paid plan. Below is what they give a visitor, followed by the product boundaries most software companies leave out.

New to the category? What store locator software does covers the pieces every tool has, before the ones that differ.

Northwind Cycles locator running inside its example websiteReal widget

A dealer network with category filters and a results grid. Real widget, sample data.

Explore a capability

Start with the part of the locator you are deciding about.

Each page pairs the product claim with a rendered DOM capture, the setup workflow, its practical boundary and the documentation needed to use it.

Your locations

Get your list in once, keep it right afterwards.

Most locators die at the import step. This one takes the spreadsheet you already have and tells you about the rows it could not read instead of dropping them quietly.

Dashboard / Import review

locations.csv

300 rows · 6 columns

Upload1 / 4
Name → nameStreet → addressTags → categories
NameAddressImport status
North Loop Cycles301 W 53rd St, AustinChecking…
Eastside Bike Works1100 E 5th St, AustinChecking…
Hill Country ServiceAddress needs a cityChecking…
Riverside Repairs2410 S Congress AveChecking…
Upload the spreadsheet you already maintain.Reviewing file

Upload stage of the location import review.

  • CSV import with column mapping

    Upload the file you already keep. Columns are detected and mapped for you, addresses are geocoded, and duplicate rows are caught before they land. Rows that fail come back with the reason attached.

    Documentation
  • Everything a location can carry

    Address, coordinates, phone, email, website, description, image, opening hours, categories and your own custom fields. Custom actions can carry a label, URL, color and icon, so booking and ordering links look intentional in cards and popups.

    Documentation
  • Opening hours with live status

    Add hours per location and the locator works out the rest: open now, closing soon, opens tomorrow. Set which day the week starts and place the live status or full weekly schedule in result cards, details and map popups.

    Documentation
  • Priority and sort order

    Promote flagship sites, preferred dealers or key partners above the rest, with a radius beyond which priority stops applying so a promoted branch never outranks the one across the road.

    Documentation
  • Tidy data without editing it

    Phone numbers formatted to a convention, names capitalised consistently, postcode prefixes handled per country. Your source file stays as it is.

    Documentation
  • Export whenever you want

    Take your locations back out as CSV at any time, in the shape you put them in. Your data is not the lock-in.

    Documentation

Design

It should look like part of your site, not a widget on it.

Every capability shown on this page is live today. The locator renders in a shadow root, so your CSS cannot break it and it cannot break yours.

Dashboard / Brand directions
Bramble & Co locator running inside its example websiteReal widget
List + map · responsive
AccentMint
TypeHumanist
CornersSoft
The Bramble locator adapting to a phone-width website

Responsive mobile preview

Layout stage of the responsive brand design.

  • Seven layouts and detailed result controls

    Put the map beside, above or outside the results, use a list or grid, and tune the result-column width, alignment, scrollbar, selected state, outer frame, distance placement and responsive heights.

    Documentation
  • Markers that carry your brand

    Use dots, pins, your logo or uploaded marker artwork with its own size and coordinate anchor. Add marker numbers, cluster crowded areas, and choose circular, rounded or square cluster bubbles.

    Documentation
  • Built-in or custom provider map styles

    Choose Mapbox or Google Maps with streets, light, dark and satellite starting themes. Connect a published Mapbox Studio Style URL or Google cloud Map ID when the map itself needs to follow your brand.

    Documentation
  • Your own CSS when you need it

    Colours, fonts, corner radius and spacing are all controls rather than code. When a design needs something the controls do not cover, you can write CSS against the widget directly.

    Documentation
  • Start from your website, or ask us to do it

    Enter a public website URL in Appearance and Handled prepares an editable first draft from its brand signals. Prefer a guided setup? Send us the site and the locator's job; we configure it, review desktop and mobile, and include one revision on active Starter, Pro or Business plans.

    Documentation
  • Every word is yours

    There is no string in the locator you cannot change. Rename Filters to Ranges, rewrite the empty state, translate the whole thing into another language.

    Documentation
  • Start from a worked example

    Six starting points, each a real running locator rather than a screenshot: logo pins for food brands, clustered pins for stockists, a filtered grid for dealer networks, a coverage radius for mobile services.

    Documentation

When you grow

The parts that only matter once the list gets long.

A locator with twelve branches is easy. These are the things that start to matter at two thousand.

Dashboard / Search analytics

Search demand

Areas visitors looked for this month

Last 30 days
Austin, TX482
Denver, CO361
Portland, OR279
Nashville, TN188

10,000

tested self-serve ceiling

1.65s

first result at 5,000

Searches with no nearby result

143

A shortlist of where customers want you next.

Demand stage of the search analytics view.

  • Built for large lists

    Results page in as the visitor scrolls rather than loading everything at once, and the public query is served by an index built for it. Verified at 5,000 locations with the first result on screen in 1.65 seconds.

    Documentation
  • Service areas, not just addresses

    A location can be a zone rather than a point. Set a coverage radius and the map draws it, which is what a mobile or delivery business actually needs to show.

    Documentation
  • Online stockists

    Show ecommerce sites and distributors alongside physical results, in their own tab, and as the fallback when nothing is nearby.

    Documentation
  • Search analytics

    Which areas visitors search, which locations get opened, and where people are looking without finding anything. That last one is the useful one: it is a map of where to expand.

    Documentation

Installing it

One line of script, then it is live.

No plugin to keep updated, no app to authorise, no build step, nothing to redeploy when you change a setting.

Dashboard / Install check
Your embed code
<div id="biz-locator-root"></div>
<script src="https://cdn.handledlocal.com/widget.js"
  data-site-id="your-site-id" async></script>

The snippet stays the same when settings or locations change.

Install check

Paste
Snippet foundWaiting
Site ID connectedWaiting
Locator returned 300 locationsWaiting
Waiting for the first live view.

Paste stage of the widget install check.

  • Works where your site already is

    Shopify, WordPress, Squarespace, Webflow and Wix each have a step-by-step guide, and any page you can paste HTML into works the same way.

    Documentation
  • Under 95 KB, gzipped

    That is the whole thing, including search, filters and the results list. It loads after your page rather than blocking it.

    Documentation
  • Chromium, Firefox and WebKit

    Verified against the deployed build running on a third-party origin, not in a development server on our own machine.

    Documentation
  • Settings change without redeploying

    Change a setting in the dashboard and the live locator picks it up. You do not touch the snippet again after you paste it.

    Documentation
  • Versioned browser events

    Listen for privacy-safe events when the locator is ready, a visitor searches, selects a location, gets no results, requests directions or clicks a configured action. Payloads exclude the visitor's query, coordinates and contact details.

    Documentation

One line of script. Wherever your site lives.

The locator is a single custom element. If you can paste HTML into a page, you can install it. There is no plugin to keep updated and no app to authorise.

WordPressShopifySquarespaceWebflowWixBigCommerceGhost
FramerElementorDrupalJoomlaHubSpotReact and Next.jsAny HTML page

Three ways to do this, and what each one costs you.

Not a scoreboard against named products. The decision really only takes three shapes: buy a hosted widget, install a plugin, or build it yourself. Here is what changes between them.

A store locator compared three ways: Handled Locator, a store locator plugin, and custom development.
Compared onHandled LocatorA store locator pluginCustom development
Time to something liveOne guided setup from a spreadsheet, inside the 7-day trial.Minutes to install. The time goes afterwards, into making it look like it belongs there.Weeks, and the first of them goes on the data model rather than the map.
Matching your siteColour, type, corner radius, marker shape and every visible word are settings. No CSS to write.Typically an accent colour and a logo. Past that you are overriding a stylesheet you did not write.Anything at all, because you are the one writing it.
Who bills you for the mapYour own Mapbox or Google key. The provider meters it and bills you directly; we add no margin.Often bundled into the subscription, so map traffic is priced in rather than shown to you.Your key, plus the code that has to talk to it.
How large it can getUp to 10,000 locations self-serve, paged as the visitor scrolls, on an indexed public query.Depends entirely on the implementation. Worth testing against your real list before you commit to it.Whatever you engineer for, at the cost of engineering for it.
Keeping it workingOne script tag. Fixes ship to the hosted widget, so there is nothing on your site to update.Updates arrive on the platform's schedule and land on your live site when they do.Every browser change and provider deprecation is yours to notice and yours to fix.
What it costsFrom $19 a month, published, with the location capacity and seat count printed beside it.Varies. The question to ask is whether map usage is included, and what happens when you pass it.Someone to build it, then someone to keep it alive. The second one is the expensive one.

Where a column says it varies, it varies. We are not going to publish a figure for a product we do not run, and a number nobody can source is worth less to you than the admission.

Being straight with you

What we have not built.

Everything here is something a competitor sells today. If one of them is the reason you are shopping, buy theirs. We would rather you knew now than found out at the install screen.

  • A page per location

    The locator is embedded in your site rather than generating indexable pages of its own.

    Request this
  • Public location write API

    Locations are managed in the dashboard, by CSV or from Google Sheets. The widget emits documented browser events, but there is no public REST API for creating or updating locations.

    Request this
  • Scheduled banners and promotions

    No rules engine for showing a message in a region during a date range.

    Request this
  • More than one locator per account

    One account styles and serves one locator. There is no per-page variant showing a filtered subset of your locations, because the embed snippet carries no configuration id.

    Request this
  • Serving several languages at once

    Every label is yours to rewrite, so a locator can be entirely in your language. What it cannot do is hold several languages and give each visitor the closest match.

    Request this
  • Drawn service-area zones

    You can set a search radius and hide markers outside it, which covers most delivery questions. There is no drawing a polygon on a map to publish an exact coverage area.

    Request this

Tell us what is blocking your purchase. Requests go to a person and help decide what is built next; this is not a promise of a date.

Request a feature

When you get stuck

You reach the person who built it.

Email and live chat on every plan, including the trial. Not a tier, not a queue, and not a bot pretending to be a person. Matching your brand, wiring up filters, or an import that will not behave: the reply comes from whoever wrote that part of the product.

Something unusual in mind?

An integration that is not listed, a setup that does not fit the shapes above, or a feature from the list we have not built. Tell us what it is and what it is for. We will tell you straight whether it is something we would build, and when.

Try it on your own list.

Import your locations, style it, put it on your site. Seven days, no card, and a guided setup that starts from the spreadsheet your addresses are already in.