curl --request GET \
--url 'https://api.kloo.li/v1/logs/' \
--header 'Authorization: Bearer {api_key}'
const response = await fetch('https://api.kloo.li/v1/logs/', {
method: 'GET',
headers: {
Authorization: 'Bearer {api_key}',
Accept: 'application/json'
}
});
const data = await response.json();
console.log(data);
const response = await fetch('https://api.kloo.li/v1/logs/', {
method: 'GET',
headers: {
Authorization: 'Bearer {api_key}',
Accept: 'application/json'
}
});
const data = await response.json();
console.log(data);
import requests
url = 'https://api.kloo.li/v1/logs/'
headers = {
'Authorization': 'Bearer {api_key}',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
print(response.json())
<?php
$ch = curl_init('https://api.kloo.li/v1/logs/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {api_key}',
'Accept: application/json',
],
]);
echo curl_exec($ch);
curl_close($ch);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.kloo.li/v1/logs/", nil)
req.Header.Set("Authorization", "Bearer {api_key}")
req.Header.Set("Accept", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.kloo.li/v1/logs/"))
.header("Authorization", "Bearer {api_key}")
.header("Accept", "application/json")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer {api_key}");
client.DefaultRequestHeaders.Add("Accept", "application/json");
var response = await client.SendAsync(new HttpRequestMessage(HttpMethod.Get, "https://api.kloo.li/v1/logs/"));
Console.WriteLine(await response.Content.ReadAsStringAsync());
require 'net/http'
require 'uri'
uri = URI('https://api.kloo.li/v1/logs/')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer {api_key}'
req['Accept'] = 'application/json'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body
{
"data": [
{
"type": "login.success",
"ip": "127.0.0.1",
"device_type": "mobile",
"continent_code": "EU",
"country_code": "IT",
"city_name": "Rome",
"datetime": "2026-01-15 12:00:00"
}
],
"meta": {
"page": 1,
"results_per_page": 25,
"total": 1,
"total_pages": 1
},
"links": {
"first": "https://api.kloo.li/v1/logs?page=1",
"last": "https://api.kloo.li/v1/logs?page=1",
"next": null,
"prev": null,
"self": "https://api.kloo.li/v1/logs?page=1"
}
}
Retrieve all
Logs — Retrieve all. GET /logs/
curl --request GET \
--url 'https://api.kloo.li/v1/logs/' \
--header 'Authorization: Bearer {api_key}'
const response = await fetch('https://api.kloo.li/v1/logs/', {
method: 'GET',
headers: {
Authorization: 'Bearer {api_key}',
Accept: 'application/json'
}
});
const data = await response.json();
console.log(data);
const response = await fetch('https://api.kloo.li/v1/logs/', {
method: 'GET',
headers: {
Authorization: 'Bearer {api_key}',
Accept: 'application/json'
}
});
const data = await response.json();
console.log(data);
import requests
url = 'https://api.kloo.li/v1/logs/'
headers = {
'Authorization': 'Bearer {api_key}',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
print(response.json())
<?php
$ch = curl_init('https://api.kloo.li/v1/logs/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {api_key}',
'Accept: application/json',
],
]);
echo curl_exec($ch);
curl_close($ch);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.kloo.li/v1/logs/", nil)
req.Header.Set("Authorization", "Bearer {api_key}")
req.Header.Set("Accept", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.kloo.li/v1/logs/"))
.header("Authorization", "Bearer {api_key}")
.header("Accept", "application/json")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer {api_key}");
client.DefaultRequestHeaders.Add("Accept", "application/json");
var response = await client.SendAsync(new HttpRequestMessage(HttpMethod.Get, "https://api.kloo.li/v1/logs/"));
Console.WriteLine(await response.Content.ReadAsStringAsync());
require 'net/http'
require 'uri'
uri = URI('https://api.kloo.li/v1/logs/')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer {api_key}'
req['Accept'] = 'application/json'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body
{
"data": [
{
"type": "login.success",
"ip": "127.0.0.1",
"device_type": "mobile",
"continent_code": "EU",
"country_code": "IT",
"city_name": "Rome",
"datetime": "2026-01-15 12:00:00"
}
],
"meta": {
"page": 1,
"results_per_page": 25,
"total": 1,
"total_pages": 1
},
"links": {
"first": "https://api.kloo.li/v1/logs?page=1",
"last": "https://api.kloo.li/v1/logs?page=1",
"next": null,
"prev": null,
"self": "https://api.kloo.li/v1/logs?page=1"
}
}
GET /logs/.
Bearer {api_key}.curl --request GET \
--url 'https://api.kloo.li/v1/logs/' \
--header 'Authorization: Bearer {api_key}'
const response = await fetch('https://api.kloo.li/v1/logs/', {
method: 'GET',
headers: {
Authorization: 'Bearer {api_key}',
Accept: 'application/json'
}
});
const data = await response.json();
console.log(data);
const response = await fetch('https://api.kloo.li/v1/logs/', {
method: 'GET',
headers: {
Authorization: 'Bearer {api_key}',
Accept: 'application/json'
}
});
const data = await response.json();
console.log(data);
import requests
url = 'https://api.kloo.li/v1/logs/'
headers = {
'Authorization': 'Bearer {api_key}',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
print(response.json())
<?php
$ch = curl_init('https://api.kloo.li/v1/logs/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer {api_key}',
'Accept: application/json',
],
]);
echo curl_exec($ch);
curl_close($ch);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.kloo.li/v1/logs/", nil)
req.Header.Set("Authorization", "Bearer {api_key}")
req.Header.Set("Accept", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.kloo.li/v1/logs/"))
.header("Authorization", "Bearer {api_key}")
.header("Accept", "application/json")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer {api_key}");
client.DefaultRequestHeaders.Add("Accept", "application/json");
var response = await client.SendAsync(new HttpRequestMessage(HttpMethod.Get, "https://api.kloo.li/v1/logs/"));
Console.WriteLine(await response.Content.ReadAsStringAsync());
require 'net/http'
require 'uri'
uri = URI('https://api.kloo.li/v1/logs/')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer {api_key}'
req['Accept'] = 'application/json'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body
{
"data": [
{
"type": "login.success",
"ip": "127.0.0.1",
"device_type": "mobile",
"continent_code": "EU",
"country_code": "IT",
"city_name": "Rome",
"datetime": "2026-01-15 12:00:00"
}
],
"meta": {
"page": 1,
"results_per_page": 25,
"total": 1,
"total_pages": 1
},
"links": {
"first": "https://api.kloo.li/v1/logs?page=1",
"last": "https://api.kloo.li/v1/logs?page=1",
"next": null,
"prev": null,
"self": "https://api.kloo.li/v1/logs?page=1"
}
}
Authorizations
Get your API key at https://kloo.li/account-api. Use Authorization: Bearer {api_key}.
Query Parameters
The search string
Allowed values are: type, ip, os_name, browser_name, browser_language
Allowed values: desktop, tablet, mobile
Allowed values:
Allowed values:
Allowed values: datetime
Filter results starting from this datetime. Y-m-d H:i:s format
Filter results up to this datetime. Y-m-d H:i:s format
What field to order the results by. Allowed values are: id, datetime
The ordering of the results. Allowed values are: ASC for ascending ordering, and DESC for descending ordering
The page number that you want results from. Defaults to 1
How many results you want per page. Allowed values are: 10, 25, 50, 100, 250, 500, 1000. Defaults to 25
10, 25, 50, 100, 250, 500, 1000 Response
Success

