Install Jentic One Beta
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.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fo2.cz%2Fo2-socio-demo-api" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fo2.cz%2Fo2-socio-demo-api" | 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.
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
GET STARTED
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.
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.
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.
Inspect dataset and application version metadata via /info before running batch queries
Feed anonymised demographic presence data into siting, planning, and tourism dashboards
Patterns agents use Socio-demo 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
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the O2 Socio-demo API by hand means pointing at the developer.o2.cz sandbox host, handling any production-access step separately, and coding your own retry and rate-limit handling. Through Jentic you install once, import the Socio-demo API from the API Directory, store any production key once, and your agent calls it.
Permission scoping
This API returns anonymised, time-aggregated age and gender presence at locations through read-only GETs, so scope it by operation: limit the agent to the age, gender, and info operations it needs and nothing else. You choose which operations it may call, so no other behaviour runs unless you add it.
Credential isolation
Any production access key is stored once, encrypted, by your own Jentic One instance and injected at execution time, so the agent never sees the raw key. Sandbox calls that need no auth still flow through Jentic's logging and retry layer.
Intent-based discovery
Agents search Jentic by intent such as 'age and gender at a Czech location', and Jentic returns the /age and /gender operations with their input schemas so the agent calls the right endpoint without reading the underlying spec.
Alternatives and complements available in the Jentic catalogue.
Specific to using Socio-demo 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.
Can I limit what my agent is allowed to do with the O2 Socio-demo API?
Yes. Because you run Jentic One yourself, your own rules decide which operations the agent may call, and this API only exposes three read-only GETs: age presence, gender presence, and dataset info. You can allow the agent just the /age/{location} and /gender/{location} operations it needs and withhold the rest, so no other behaviour runs unless you add it. Any production access key is held by your own instance and injected at call time, so the agent never sees the raw credential.