API

Your numbers, wherever you need them

Every figure in the dashboard is available over a plain REST call. One key per tenant, JSON out, no SDK to install.

Authentication

Each tenant has its own API key. Send it as a bearer token or as x-api-key — they are interchangeable. The key is the tenant: every row you read belongs to whoever owns the key, and nothing in the URL can point at another tenant's data.

Authorization: Bearer <your_api_key>
— or —
x-api-key: <your_api_key>

Two endpoints

One row per store per day, or the full hour-by-hour breakdown. Both take the same filters.

ParameterMeaning
from / toInclusive date range, YYYY-MM-DD
siteIdOne store. Omit for all of them
limitMaximum rows, up to 50 000

Daily totals per store

One row per store per day. visitors is total in, exits is total out.

curl -H "Authorization: Bearer <your_api_key>" \
  "https://app.pcountr.com/api/daily?from=2026-09-01&to=2026-09-15"

[ { "date": "2026-09-01", "siteId": "118",
    "visitors": 303, "exits": 329,
    "peakHour": 17 } ]

Hour by hour

One row per store per day per hour. ins and outs are the counts for that hour, in store-local time.

curl -H "Authorization: Bearer <your_api_key>" \
  "https://app.pcountr.com/api/hourly?from=2026-09-01&to=2026-09-15"

[ { "date": "2026-09-01", "hour": 17,
    "siteId": "118",
    "ins": 41, "outs": 38 } ]
Integrations

Put footfall next to everything else

ERP

Pull daily visitors alongside sales so conversion is a field in the system your finance team already lives in.

BI Tools

Power BI, Tableau, Looker or a plain scheduled script — it is JSON over HTTPS, so anything can read it.

CRM

Attach real store traffic to campaigns and promotions, and measure what a push actually brought through the door.

What you need to start

  1. An account on app.pcountr.com, and your tenant's API key.
  2. The store ids you want — every response carries siteId, so you can start without them.
  3. A date range in YYYY-MM-DD. Ranges are inclusive at both ends.

Hours with no traffic are absent rather than zero, and there is no server-side period total — sum the days yourself. Responses cap at 50 000 rows, so split a long period into windows.

Request an API key →

Build on it

Tell us what you are integrating with and we will point you at the right endpoint.