Get the locations with events as GeoJSON
Returns a GeoJSON FeatureCollection with one point per location that had events in the range, busiest first, and totals in stats. Ranges over 24 hours read the location aggregates, which count whole hours or UTC days, from the one that holds fromTimestamp through the last one that starts before toTimestamp. An IP or ASN filter reads the raw rows instead, which go back only ANALYTICS_RAW_RETENTION_DAYS days, 180 by default. A server filter does the same on a database whose location aggregates predate server tracking.
session<token>Session cookie authentication.
fromTimestamp*stringStart of the range, inclusive, as ISO 8601 with a timezone, such as 2026-11-01T00:00:00Z.
date-timetoTimestamp*stringEnd of the range, exclusive, as ISO 8601 with a timezone, such as 2026-11-02T00:00:00Z.
date-timecountryCode?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.
city?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.
Request fulfilled, document follows
application/json- response
The locations with events in a time range, as a GeoJSON FeatureCollection, busiest first.
features*array<>stats*Totals over every feature in the collection.
type*stringAlways FeatureCollection.
curl -X GET 'https://geometrikks.example.com/api/v1/geo-locations/geojson?fromTimestamp=2026-11-01T00%3A00%3A00Z&toTimestamp=2026-11-02T00%3A00%3A00Z'{ "features": [ { "geometry": { "coordinates": [ 0, 0 ], "type": "Point" }, "properties": { "city": "string", "countryCode": "string", "countryName": "string", "eventCount": 0, "geohash": "string", "id": 0, "lastHit": "2019-08-24T14:15:22Z", "postalCode": "string", "state": "string", "stateCode": "string", "timezone": "string", "topIps": [ { "asOrganization": "string", "asn": 0, "eventCount": 0, "ipAddress": "string", "location": { "city": "string", "countryCode": "string", "countryName": "string", "id": 0, "latitude": 0, "longitude": 0 } } ] }, "type": "string" } ], "stats": { "cities": 0, "countries": 0, "events": 0, "locations": 0 }, "type": "string"}List the stored locations GET
Returns every location GeoMetrikks has resolved, paged with `currentPage` and `pageSize`. It takes no time range or filters. Pass an item's `id` to `/api/v1/geo-locations/{location_id}/top-ips`.
Get the map location of every server GET
Returns the location recorded for each server, and this instance's own location in `default`. The map puts a server without a recorded location at `default`.