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-TOKENGet the map
GET /api/v1/public/maps/YOUR-TOKENReturns the map with everything the public view needs:
map– the map's settingslocations– visible locations with address, coordinates, contact details, opening hours, special days, category, status and public custom fieldscategories,statuses,customFields– the related valuescompany– 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:
| Permission | Meaning |
|---|---|
locations:read | read locations |
locations:write | write locations |
maps:read | read maps |
maps:write | write maps |
leads:read | read enquiries |
analytics:read | read 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/locationswith 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.