Skip to Content
ReferenceAPI referenceGeo Events

Get geo event totals for a time range

GET
/api/v1/geo-events/summary

Returns the event count and the unique IPs, countries and cities for the range. With comparePrevious it adds the period of the same length that ends at fromTimestamp, and both comparison fields stay null when that period has no events. Unfiltered ranges over 24 hours read the hourly or daily aggregates, which count whole hours or UTC days, from the one that holds fromTimestamp through the last one that starts before toTimestamp, and their unique counts are estimates. A server filter reads the raw rows, which go back only ANALYTICS_RAW_RETENTION_DAYS days, 180 by default.

Authorization

cookiesession<token>

Session cookie authentication.

Query Parameters

countryCodeIn?array<string>|

Keep only these countries, as uppercase two-letter ISO 3166-1 codes such as NO. Repeat the parameter to pass more than one.

cityIn?array<string>|

Keep only these cities, by the exact name GeoIP gives, such as Oslo. Repeat the parameter to pass more than one.

ipAddressIn?array<string>|

Keep only these client IPs. Repeat the parameter to pass more than one. A value that is not an IP gets a 400.

ipAddressNotIn?array<string>|

Leave out these client IPs. Repeat the parameter to pass more than one. A value that is not an IP gets a 400.

serverIn?array<string>|

Keep only rows recorded under these server names. Repeat the parameter to pass more than one.

asnIn?array<integer>|

Keep only these autonomous system numbers, such as 13335. Repeat the parameter to pass more than one. Rows without ASN data are left out.

asnNotIn?array<integer>|

Leave out these autonomous system numbers. Repeat the parameter to pass more than one. Rows without ASN data stay in.

fromTimestamp*string

Start of the range, inclusive, as ISO 8601 with a timezone, such as 2026-11-01T00:00:00Z.

Formatdate-time
toTimestamp*string

End of the range, exclusive, as ISO 8601 with a timezone, such as 2026-11-02T00:00:00Z.

Formatdate-time
comparePrevious?boolean

Also return the period of the same length just before the range, and the percent change from it. Defaults to false.

Defaultfalse

Response Body

Request fulfilled, document follows

application/json
  1. response

Geo event totals for a time range, and optionally for the period of the same length before it.

currentPeriod*

Geo event totals for one period.

endDate*string

The request's toTimestamp, echoed as ISO 8601.

percentChanges*|

Null whenever previousPeriod is null.

previousPeriod*|

Null unless comparePrevious is true and the previous period has events.

startDate*string

The request's fromTimestamp, echoed as ISO 8601.

Example Request
curl -X GET 'https://geometrikks.example.com/api/v1/geo-events/summary?fromTimestamp=2026-11-01T00%3A00%3A00Z&toTimestamp=2026-11-02T00%3A00%3A00Z'
Example Response
{  "currentPeriod": {    "totalEvents": 0,    "uniqueCities": 0,    "uniqueCountries": 0,    "uniqueIps": 0  },  "endDate": "string",  "percentChanges": {    "totalEvents": 0,    "uniqueCities": 0,    "uniqueCountries": 0,    "uniqueIps": 0  },  "previousPeriod": {    "totalEvents": 0,    "uniqueCities": 0,    "uniqueCountries": 0,    "uniqueIps": 0  },  "startDate": "string"}