People counting
Accurate footfall, unique visitors and repeat visits with session-only re-identification — never a face stored at rest.
Privacy-aware computer vision turns any camera into real-time audience data — count, demographics, dwell & engagement. We own the analytics engine; you keep your dashboard.
Built for the operators and networks that already own their screens
One detection engine, every metric your dashboard needs — exposed through a clean, documented REST API and real-time webhooks.
Accurate footfall, unique visitors and repeat visits with session-only re-identification — never a face stored at rest.
Age brackets, gender split, mask & eyewear — each detection scored with a confidence so you can trust the numbers.
Head-pose "opportunity to see" tells you who actually looked at the screen — not just who walked past it.
Per-visit dwell and viewing duration, aggregated by minute, hour, day, week and month for instant queries.
A trained classifier gives every face a valence score and emotion class — measure how your space actually feels.
Subscribe to viewer, crowd and daily-summary events. Signed, real-time deliveries straight into your systems.
The backend is independent of the vision implementation — swap YOLO, DeepStream, OpenVINO or any future edge pipeline without touching your integration.
Any camera feeds the AI detection engine.
Age, gender, gaze, dwell & mood in real time.
Raw events kept immutable; metrics rolled up.
Everything available through the REST API.
Your dashboard, BI tool or SDK — your choice.
We don't build another dashboard. We become the analytics engine behind the one you already have.
Pre-computed hourly, daily & monthly rollups keep dashboard queries instant, even across thousands of cameras.
Session-only embeddings, TTL forgetting, zero PII at rest.
Live occupancy & viewer streams with webhook push.
Every customer's data fully isolated — from a single screen to a global network.
Plain-language daily summaries generated automatically for every location.
“1,253 visitors · avg dwell 42s · peak 6 PM. Women viewed 24% longer than men; engagement up 12% week-over-week.”
Wherever people gather in front of a screen or a storefront, we turn attention into measurable data.
Conversion, footfall by hour and demographic mix per store — benchmark locations against each other.
Prove opportunity-to-see and audience demographics per screen for advertisers and network reporting.
Live occupancy, peak-hour trends and repeat-visitor rates without a single manual head-count.
Zone-level crowd analytics and dwell heatmaps across concourses and food courts at scale.
Queue and dwell insight plus mood signals to tune service and layout in real time.
Offer analytics as a value-add to your clients — white-label the data, keep your brand.
No feature exists only in the UI. Everything the dashboard shows, your code can pull — with keys you manage yourself.
/docs, exports on demand.# Live audience for a location
curl https://api.audience.dev/analytics/live \
-H "Authorization: Bearer $AA_API_KEY"
# → 200 OK
{
"in_frame": 47,
"viewers": 29,
"avg_dwell_s": 42,
"occupancy": "busy"
}
from aa_client import AudienceAnalytics
aa = AudienceAnalytics(api_key="aa_live_…")
live = aa.live(location_id="loc_42")
print(live.viewers, live.avg_dwell_s)
# subscribe to real-time viewer events
aa.webhooks.create(
url="https://you.dev/hook",
events=["viewer_started", "crowd_alert"],
)
import { AudienceAnalytics } from "aa-client";
const aa = new AudienceAnalytics({ apiKey: "aa_live_…" });
const demo = await aa.demographics({
location: "loc_42",
viewersOnly: true,
});
console.log(demo.genderSplit, demo.avgViewerAge);
Start free, scale by cameras and API calls. No dashboard lock-in, no per-seat surprises.
For a single location testing the waters.
For multi-site chains and networks that scale.
For 100+ screens with custom SLAs.
Turn every camera into an audience-analytics endpoint. Start free — no dashboard to rip out, no lock-in.
Tell us about your screens and we'll map the fastest path from camera to your dashboard.