Every search your visitors run and every store they click on is recorded against your store locator account. As well as viewing this inside the admin area, you can pull the raw data out over HTTPS as JSON and use it in your own reporting: a spreadsheet, a BI tool such as Looker Studio or Power BI, a scheduled script, or your own internal dashboard.
The reporting API is read-only. There is nothing to install and no OAuth flow to complete — you make an ordinary GET request to a URL that includes your API key and a date range, and you get your data back.
Before you start: find your API key
Every request must include your account's unique identifier, passed as the uid parameter.
- Sign in to your store locator admin area.
- Go to https://www.storelocatorwidgets.com/admin/Details.
- Copy the value shown under Store Locator API key.
Keep your API key private. Anyone who has it can read your search and click history. Don't publish it in client-side JavaScript on a public page, and don't commit it to a public code repository. If you think it has been exposed, contact support and we can issue you a new one.
The endpoints
There are two reports, selected with the type parameter. Both live at the same base URL:
https://reporting.storelocatorwidgets.com/reports
Search report
Returns the searches visitors have run against your locator in the period you request.
https://reporting.storelocatorwidgets.com/reports?type=searches&uid=YOUR_API_KEY&startstamp=1784505600&endstamp=1787615999
Click report
Returns the clicks visitors have made on your locations in the period you request.
https://reporting.com/reports?type=clicks&uid=YOUR_API_KEY&startstamp=1784505600&endstamp=1787615999
Replace YOUR_API_KEY with the key you copied from the Details page, and set the two timestamps to the period you want.
startstamp and endstamp are both required. If you leave either out, or pass a value that isn't a UNIX timestamp, the request will not return the data you expect.
Note that UNIX timestamps are measured in seconds, not milliseconds. If your timestamp is 13 digits long it has come from something like JavaScript's Date.now() and needs dividing by 1000.
JSON or JSONP
By default the endpoints return plain JSON, which is what you want for server-side scripts, curl, spreadsheets and most BI tools.
If you are calling the API from JavaScript running in a browser on your own domain, you may run into a cross-origin (CORS) restriction. In that case, add a callback parameter and the response will be wrapped as JSONP — a JavaScript function call that you can load with a script tag:
https://reporting.storelocatorwidgets.com/reports?type=searches&uid=YOUR_API_KEY&startstamp=1784505600&endstamp=1787615999&callback=slwds
The value you pass to callback is the name of the function that will be called with your data — in the example above, the response is wrapped as slwds({ ... }).
Remember that anything running in a browser exposes your API key to whoever is looking at the page. For anything public-facing, call the API from your server instead and pass the results to the page.
Converting dates to UNIX timestamps
If you need to work out the timestamps by hand, epochconverter.com will do it for you. Otherwise:
JavaScript
javascript
const startstamp = Math.floor(new Date('2026-07-20T00:00:00Z').getTime() / 1000);
const endstamp = Math.floor(new Date('2026-08-24T23:59:59Z').getTime() / 1000);
PHP
php
$startstamp = strtotime('2026-07-20 00:00:00');
$endstamp = strtotime('2026-08-24 23:59:59');
Python
python
from datetime import datetime, timezone
startstamp = int(datetime(2026, 7, 20, tzinfo=timezone.utc).timestamp())
Google Sheets or Excel — where A1 holds a date:
=INT((A1-("1/1/1970"-"1/1/1900"+2))*86400)
A useful shortcut for rolling reports: 24 hours is 86400 seconds, so "the last 30 days" is simply the current timestamp minus 2592000.
A worked example
To pull the click report covering 20 July 2026 to 24 August 2026:
startstamp=1784505600(20 July 2026, 00:00:00 UTC)endstamp=1787615999(24 August 2026, 23:59:59 UTC)
https://reporting.storelocatorwidgets.com/reports?type=clicks&uid=YOUR_API_KEY&startstamp=1784505600&endstamp=1787615999
Paste that into your browser's address bar with your own API key in place and you'll see the raw JSON immediately — this is the quickest way to check the range you've built is the one you meant.
Calling the API from your own code
curl
bash
curl "https://reporting.storelocatorwidgets.com/reports?type=searches&uid=YOUR_API_KEY&startstamp=1784505600&endstamp=1787615999"
PHP
php
$uid = 'YOUR_API_KEY';
$url = 'https://reporting.storelocatorwidgets.com/reports?type=searches'
. '&uid=' . urlencode($uid)
. '&startstamp=' . (time() - 2592000) // last 30 days
. '&endstamp=' . time();
$data = json_decode(file_get_contents($url), true);
Python
python
import time, requests
params = {
'type': 'clicks',
'uid': 'YOUR_API_KEY',
'startstamp': int(time.time()) - 2592000, # last 30 days'endstamp': int(time.time()),
}
data = requests.get('https://reporting.storelocatorwidgets.com/reports', params=params).json()
JSONP in the browser
html
<script>
function slwds(data) {
console.log(data);
}
script>
<script src="https://reporting.storelocatorwidgets.com/reports?type=searches&uid=YOUR_API_KEY&startstamp=1784505600&endstamp=1787615999&callback=slwds">script>
Troubleshooting
I get no data back, or an unexpected response. Check that both startstamp and endstamp are present and are 10-digit UNIX timestamps in seconds. A 13-digit value (milliseconds) is the most common cause.
My date range looks right but the report is empty. Confirm there was locator activity in that period by checking the reports inside your admin area for the same dates. Also check startstamp is earlier than endstamp.
I get a CORS error in the browser console. Use the callback parameter to switch to JSONP, or better, make the request from your server.
The response is wrapped in a function call and my JSON parser fails. You have a callback parameter in your URL. Remove it to get plain JSON.
Still stuck? Get in touch with support with the URL you are calling — with the uid removed — and we'll take a look.
Related articles
- Accessing your Search and Click data inside Google Sheets via JSON
- Location Management API
- Location Search API
