API and webhooks

This page shows which interfaces exist today, what you can do with them and what is coming soon.

Overview

My Store Locator has a REST API under /api/v1. The web app itself uses this API internally, with session-based login. These internal endpoints are not a customer API and may change without notice.

What is relevant for you today:

  • public endpoints of a published map (get the map, send an enquiry, report an analytics event)
  • API keys and webhooks, which you create in the app under API & Webhooks

Note: An external customer API for reading and writing locations (/api/v1/ext/locations) and webhook delivery are coming soon. You can already create API keys and webhooks today; they will be put to use once these features are switched on.

All responses are JSON. Errors come as { "error": "...", "message": "..." } with a matching HTTP status, for example 400 (invalid), 404 (not found) or 429 (too many requests).

Public endpoints

These endpoints need no login. They only work for published maps of active accounts and are rate-limited per minute. The token is the same as in your embed code.

Base address:

https://app.my-store-locator.com/api/v1/public/maps/YOUR-TOKEN

Get the map

GET /api/v1/public/maps/YOUR-TOKEN

Returns the map with everything the public view needs:

  • map – the map's settings
  • locations – visible locations with address, coordinates, contact details, opening hours, special days, category, status and public custom fields
  • categories, statuses, customFields – the related values
  • company – name, logo, website and brand colours

Locations whose status is hidden from the map are not included, and non-public custom fields are never returned. Each call counts as a map view in your analytics.

Send an enquiry

POST /api/v1/public/maps/YOUR-TOKEN/leads
Content-Type: application/json

{ "locationId": 1003, "name": "Jane Example", "email": "jane@example.com",
  "phone": "", "type": "Enquiry", "message": "Are you open on Saturdays?" }

name and a valid email are required. The enquiry lands in the app's Enquiries inbox. On success the response is { "ok": true }. E-mail notifications are coming soon.

Report an analytics event

POST /api/v1/public/maps/YOUR-TOKEN/track
Content-Type: application/json

{ "type": "search", "term": "Cologne" }

Allowed values for type: search, no_result, store_opened, directions, call, website. For no_result, km can carry the distance to the nearest location. The response is empty (HTTP 204).

Analytics only store daily counters – no cookies and no IP addresses.

Note: The public endpoints are mainly meant for the map itself. Only report events that actually happened, otherwise you distort your own analytics.

API keys

You create API keys under API & Webhooks. Give the key a name and choose its permissions:

PermissionMeaning
locations:readread locations
locations:writewrite locations
maps:readread maps
maps:writewrite maps
leads:readread enquiries
analytics:readread analytics

The key is shown exactly once. We only store a hash and cannot recover it. Keep it in a password manager, for example, and treat it like a password. You can revoke keys you no longer need at any time.

The keys are intended for the external customer API, which is coming soon.

Webhooks

Webhooks notify your own system about changes, for example your ERP, CRM or a chat channel. For each webhook you set:

  • Target URL (https)
  • Events: location.created, location.updated, location.deleted, map.published, lead.created, import.finished
  • Format: JSON, Slack or Discord
  • Status: active or paused

The configuration is already stored today. Delivering events to your URL is coming soon.

Coming soon

  • external customer API /api/v1/ext/locations with API keys, to read and maintain locations from your own system
  • an OpenAPI description of that interface
  • webhook delivery including retries on failure

Planning to connect your ERP or inventory system? Get in touch via the contact form. Until the customer API is available, you can import and export locations via CSV.

Try it with your own locations.

Create an account, import your locations, embed the map. The Free plan stays free – and you can test Pro for 14 days.