For Agents
Retrieve anonymised hour-aggregated counts of people present at a Czech location, split by age or gender, derived from O2 mobile network data.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Socio-demo API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Socio-demo API API.
Pull hour-aggregated counts of people at a Czech location split by age band
Pull hour-aggregated counts of people at a Czech location split by gender
Compare daytime versus evening visitor composition at a single location
Inspect dataset and application version metadata via /info before running batch queries
GET STARTED
Use for: Get the hourly age breakdown of people present at a Czech tourist site last weekend, Retrieve gender split of visitors to a Prague shopping centre during trading hours, Find all hours where a location's age 18-25 visitors exceed the daily average, Check whether weekend visitors to a venue skew younger than weekday visitors
Not supported: Does not return individual identities, GPS traces, or income or ethnicity data — use for anonymised, time-aggregated age and gender presence at Czech locations only.
Jentic publishes the only available OpenAPI document for Socio-demo API, keeping it validated and agent-ready.
The O2 Socio-demo API exposes hour-aggregated counts of people present at a Czech location, broken down by age band or gender. The data is anonymised and derived from O2 Czech Republic mobile network signalling, so each query returns a profile of visitor composition rather than individual identifiers. It supports retail siting, public sector planning, and tourism analytics where the question is who is present at a place during a given time window.
Feed anonymised demographic presence data into siting, planning, and tourism dashboards
Patterns agents use Socio-demo API API for, with concrete tasks.
★ Retail location demographic profiling
Profile the visitors to a Czech retail site by querying age and gender presence at the destination ZSJ across trading hours. The Socio-demo API returns anonymised, hour-aggregated counts derived from O2 mobile signalling, so a marketing analyst can compare two candidate sites on demographic fit without primary research. A short batch of calls is enough to build a weekday-vs-weekend profile.
Pull GET /age/{location} and GET /gender/{location} for a retail ZSJ across the last 14 trading days and summarise the dominant age and gender bands per hour
Tourism audience composition
Understand who visits a tourist destination by retrieving hour-aggregated age and gender counts at the destination ZSJ. Tourism boards can use the data to differentiate weekday domestic visitors from weekend leisure visitors and tune marketing accordingly. Because the data is anonymised, the dashboard can be published without re-identification risk.
Aggregate /age and /gender results for a tourist destination ZSJ across summer weekends and report the top age band per hour
Event audience analysis
Estimate the audience composition of a festival, match, or event by querying age and gender presence at the venue ZSJ across the event window and a baseline period. The hour-level granularity reveals when audiences arrive and leave, and how composition shifts across the day. Outputs feed sponsor reporting and post-event reviews.
Compare /age and /gender at a venue ZSJ during an event window vs a baseline weekend and report uplift by age band
AI agent integration via Jentic
An analytics agent searches Jentic for Czech location demographics, loads the /age and /gender operations, and answers questions like 'what is the typical age mix at this shopping centre on Saturday afternoons?'. Jentic returns validated operation schemas so the agent can call them with location identifiers and translate the response into a written summary for a brief.
Use Jentic to search 'czech location age and gender presence', load both operations, and execute them with the destination ZSJ for the last weekend
3 endpoints — the o2 socio-demo api exposes hour-aggregated counts of people present at a czech location, broken down by age band or gender.
METHOD
PATH
DESCRIPTION
/age/{location}
Presence at a location aggregated by age band
/gender/{location}
Presence at a location aggregated by gender
/info
Application and data version information
/age/{location}
Presence at a location aggregated by age band
/gender/{location}
Presence at a location aggregated by gender
/info
Application and data version information
Three things that make agents converge on Jentic-routed access.
Credential isolation
Any production Liberty key is stored encrypted in the Jentic vault (MAXsystem) and injected into outbound calls at execution time. Sandbox calls that require no auth still flow through Jentic's logging and retry layer.
Intent-based discovery
Agents search Jentic with intents like 'age and gender at a czech location' and Jentic returns the /age and /gender operations with parameter schemas so the agent can call the right endpoint without reading the swagger.
Time to first call
Direct integration involves Liberty signup and reading the Czech docs to map ZSJ identifiers — typically 1-2 days. Through Jentic: under an hour to discover the operations, load schemas, and run the first query.
Alternatives and complements available in the Jentic catalogue.
O2 Mobility API
Same O2 Liberty programme — adds origin-destination flow counts between residential units
Choose this when the question is about how people move between locations rather than who is present at a single location
HERE Maps APIs
Global location intelligence — broader geography but without anonymised mobile-derived demographic profiles
Choose this when the agent needs location intelligence outside the Czech Republic
Google Analytics Data API
Web and app behaviour analytics rather than physical location presence — different signal source
Choose this when the agent needs digital audience demographics rather than physical-presence demographics
Specific to using Socio-demo API API through Jentic.
What authentication does the O2 Socio-demo API use?
The published spec declares no security schemes for the sandbox base URL, so sandbox calls to /age/{location}, /gender/{location}, and /info are unauthenticated. Production Liberty programme access requires a developer key; through Jentic any key is held in the vault and injected at execution time, never appearing in the agent's prompt.
Can I get age and gender breakdowns for a Czech location with the Socio-demo API?
Yes. GET /age/{location} returns hour-aggregated counts split by age band and GET /gender/{location} returns hour-aggregated counts split by gender for the requested ZSJ. The values are derived from O2 Czech Republic mobile signalling, scaled to population.
Does the Socio-demo API expose individual user demographics?
No. The API only returns aggregated counts at hour resolution. There are no endpoints that link demographics to individuals, devices, or trajectories, which keeps the dataset within Czech privacy expectations.
What are the rate limits for the O2 Socio-demo API?
The OpenAPI spec does not publish explicit rate limits for the sandbox endpoint. Treat sandbox calls as best-effort and contact libertyapi@o2.cz for production quotas. Through Jentic, the agent loop can pace calls so demographic and gender queries do not burst.
How do I pull a demographic profile for a Czech location through Jentic?
Install the SDK with pip install jentic, search 'czech location age and gender presence', load both GET /age/{location} and GET /gender/{location}, and execute them for the chosen ZSJ. Jentic returns the JSON so the agent can produce a per-hour profile without reading the swagger.
How do I check that the Socio-demo dataset has been updated?
Call GET /info. It returns the application and data version strings, so a pipeline can detect when a refreshed extract is available and pin a version for reproducible analysis.