List monitor statistics logs
curl --request POST \
--url https://api.pubrio.com/monitors/statistics/logs \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"per_page": 25,
"page": 1,
"profile_id": 123
}
'import requests
url = "https://api.pubrio.com/monitors/statistics/logs"
payload = {
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"per_page": 25,
"page": 1,
"profile_id": 123
}
headers = {
"pubrio-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'pubrio-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
monitor_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
per_page: 25,
page: 1,
profile_id: 123
})
};
fetch('https://api.pubrio.com/monitors/statistics/logs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pubrio.com/monitors/statistics/logs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'monitor_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'per_page' => 25,
'page' => 1,
'profile_id' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"pubrio-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.pubrio.com/monitors/statistics/logs"
payload := strings.NewReader("{\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"per_page\": 25,\n \"page\": 1,\n \"profile_id\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("pubrio-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.pubrio.com/monitors/statistics/logs")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"per_page\": 25,\n \"page\": 1,\n \"profile_id\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/monitors/statistics/logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["pubrio-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"per_page\": 25,\n \"page\": 1,\n \"profile_id\": 123\n}"
response = http.request(request)
puts response.read_body{
"data": {
"pagination": {
"page": 1,
"per_page": 25,
"total_entries": 45,
"total_pages": 2,
"total_display_pages": 2,
"is_timeout": false
},
"monitor_logs": [
{
"monitor_log_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"monitor_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"parent_monitor_log_id": "",
"detection_mode": "company_first",
"signal_type": [
"jobs",
"news",
"advertisements"
],
"destination_type": "email",
"response_status_code": 200,
"status": "success",
"error_message": "",
"total_signals": 25,
"total_companies": 11,
"total_people": 32,
"trigger_credit": 15,
"total_company_credit": 11,
"total_people_credit": 33,
"redeem_email_credit": 0,
"redeem_phone_credit": 0,
"total_credit": 59,
"retry_attempt": 0,
"processing_time_ms": 97952,
"created_at": "2026-04-05T18:28:05.000Z",
"retry_logs": [],
"is_retry_succeed": false
},
"..."
]
}
}{
"code": 40001,
"message": "Errors and codes will vary depending on the scenario, please see the documentation for information.",
"details": {}
}{
"error": "Request rate limit exceeded. Please wait and try again later."
}{
"error": "An unexpected error occurred on the server."
}Statistics
Monitor Statistic Logs
Retrieve a paginated list of detection logs for a specific monitor.
POST
/
monitors
/
statistics
/
logs
List monitor statistics logs
curl --request POST \
--url https://api.pubrio.com/monitors/statistics/logs \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"per_page": 25,
"page": 1,
"profile_id": 123
}
'import requests
url = "https://api.pubrio.com/monitors/statistics/logs"
payload = {
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"per_page": 25,
"page": 1,
"profile_id": 123
}
headers = {
"pubrio-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'pubrio-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
monitor_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
per_page: 25,
page: 1,
profile_id: 123
})
};
fetch('https://api.pubrio.com/monitors/statistics/logs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pubrio.com/monitors/statistics/logs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'monitor_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'per_page' => 25,
'page' => 1,
'profile_id' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"pubrio-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.pubrio.com/monitors/statistics/logs"
payload := strings.NewReader("{\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"per_page\": 25,\n \"page\": 1,\n \"profile_id\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("pubrio-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.pubrio.com/monitors/statistics/logs")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"per_page\": 25,\n \"page\": 1,\n \"profile_id\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/monitors/statistics/logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["pubrio-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"per_page\": 25,\n \"page\": 1,\n \"profile_id\": 123\n}"
response = http.request(request)
puts response.read_body{
"data": {
"pagination": {
"page": 1,
"per_page": 25,
"total_entries": 45,
"total_pages": 2,
"total_display_pages": 2,
"is_timeout": false
},
"monitor_logs": [
{
"monitor_log_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"monitor_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"parent_monitor_log_id": "",
"detection_mode": "company_first",
"signal_type": [
"jobs",
"news",
"advertisements"
],
"destination_type": "email",
"response_status_code": 200,
"status": "success",
"error_message": "",
"total_signals": 25,
"total_companies": 11,
"total_people": 32,
"trigger_credit": 15,
"total_company_credit": 11,
"total_people_credit": 33,
"redeem_email_credit": 0,
"redeem_phone_credit": 0,
"total_credit": 59,
"retry_attempt": 0,
"processing_time_ms": 97952,
"created_at": "2026-04-05T18:28:05.000Z",
"retry_logs": [],
"is_retry_succeed": false
},
"..."
]
}
}{
"code": 40001,
"message": "Errors and codes will vary depending on the scenario, please see the documentation for information.",
"details": {}
}{
"error": "Request rate limit exceeded. Please wait and try again later."
}{
"error": "An unexpected error occurred on the server."
}Authorizations
Body
application/json
Unique identifier of the monitor to retrieve logs for.
Number of results per page. Defaults to 25.
Page number for pagination. Defaults to 1.
Optional. An identifier for the user profile (workspace) making the request. This is no longer required as the API key already includes your workspace information. If provided, it helps in associating the lookup with a specific user, allowing for data retrieval and credit tracking.
Check out user details endpoints under the Profile tab for more information.
Response
Successful response containing paginated monitor logs.
Show child attributes
Show child attributes
⌘I

