Use this API to retrieve recent most common cities in a specified date range. The city name base on the visitor's IP address.
import { U301 } from 'u301';
const apiKey = '<YOUR_API_KEY>';
const workspaceId = '<YOUR_WORKSPACE_ID>';
const u301 = new U301({
apiKey,
workspaceId,
});
const clicks = await u301.analytics.getTopCities({
range: '1m',
timezone: 'Europe/London'
})Request
| Name | Location | Type | Required | Default | Description |
|---|---|---|---|---|---|
| Authorization | Header | string | Bearer token used for authentication. | ||
| workspaceId | Query | string | Workspace identifier for multi‑tenant routing. | ||
| range | Query | string | Date range for data aggregation. | ||
| timezone | Query | string | UTC | Timezone for data aggregation. See Timezone for details. |
Response
Data is an array of objects, each object contains the city label and click count. City examples: New York, London, San Francisco, Beijing, Berlin, Tokyo.
| Name | Type | Description |
|---|---|---|
| datetimeRange | string[] | Date range for data aggregation. The format is an array of two strings, each string is a timestamp in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ. |
| range | string | Date range for data aggregation. |
| data[].label | string | Label for data aggregation. |
| data[].click | number | Click count for data aggregation. |
{
"datetimeRange": [
"2025-11-01T00:00:00.000Z",
"2025-11-30T23:59:59.999Z"
],
"range": "1m",
"data": [
{
"label": "London",
"click": 27
},
{
"label": "New York",
"click": 25
},
{
"label": "Berlin",
"click": 17
},
{
"label": "San Francisco",
"click": 11
},
{
"label": "Tokyo",
"click": 8
},
{
"label": "The Dalles",
"click": 6
}
]
}Last updated on