curl --request POST \
--url https://api.pubrio.com/api_keys/usage/daily \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"start_date": "2026-05-01",
"end_date": "2026-05-14",
"profile_id": 123,
"keys": [
"<string>"
],
"log_type_slugs": [
"<string>"
]
}
'import requests
url = "https://api.pubrio.com/api_keys/usage/daily"
payload = {
"start_date": "2026-05-01",
"end_date": "2026-05-14",
"profile_id": 123,
"keys": ["<string>"],
"log_type_slugs": ["<string>"]
}
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({
start_date: '2026-05-01',
end_date: '2026-05-14',
profile_id: 123,
keys: ['<string>'],
log_type_slugs: ['<string>']
})
};
fetch('https://api.pubrio.com/api_keys/usage/daily', 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/api_keys/usage/daily",
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([
'start_date' => '2026-05-01',
'end_date' => '2026-05-14',
'profile_id' => 123,
'keys' => [
'<string>'
],
'log_type_slugs' => [
'<string>'
]
]),
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/api_keys/usage/daily"
payload := strings.NewReader("{\n \"start_date\": \"2026-05-01\",\n \"end_date\": \"2026-05-14\",\n \"profile_id\": 123,\n \"keys\": [\n \"<string>\"\n ],\n \"log_type_slugs\": [\n \"<string>\"\n ]\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/api_keys/usage/daily")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"start_date\": \"2026-05-01\",\n \"end_date\": \"2026-05-14\",\n \"profile_id\": 123,\n \"keys\": [\n \"<string>\"\n ],\n \"log_type_slugs\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/api_keys/usage/daily")
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 \"start_date\": \"2026-05-01\",\n \"end_date\": \"2026-05-14\",\n \"profile_id\": 123,\n \"keys\": [\n \"<string>\"\n ],\n \"log_type_slugs\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"filters": {
"start_date": "2026-05-01",
"end_date": "2026-05-14"
}
},
"data": {
"series": [
{
"date": "2026-05-01",
"credits": 26352,
"requests": 2827
},
{
"date": "2026-05-05",
"credits": 798,
"requests": 402
},
{
"date": "2026-05-11",
"credits": 187,
"requests": 187
}
],
"by_log_type": [
{
"slug": "people_redeem",
"name": "Redeem People",
"totals": {
"credits": 40835,
"requests": 4083
},
"series": [
{
"date": "2026-05-01",
"credits": 26140,
"requests": 2614
},
{
"date": "2026-05-11",
"credits": 185,
"requests": 15
}
]
},
{
"slug": "people_search",
"name": "People Search",
"totals": {
"credits": 633,
"requests": 212
},
"series": [
{
"date": "2026-05-05",
"credits": 594,
"requests": 199
}
]
}
],
"totals": {
"credits": 41892,
"requests": 4896
}
}
}{
"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."
}Daily API Usage
Retrieve a daily breakdown of API requests and credits consumed by the workspace within a date range. The response includes a per-day timeseries and a stacked per-endpoint series suitable for building usage charts.
curl --request POST \
--url https://api.pubrio.com/api_keys/usage/daily \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"start_date": "2026-05-01",
"end_date": "2026-05-14",
"profile_id": 123,
"keys": [
"<string>"
],
"log_type_slugs": [
"<string>"
]
}
'import requests
url = "https://api.pubrio.com/api_keys/usage/daily"
payload = {
"start_date": "2026-05-01",
"end_date": "2026-05-14",
"profile_id": 123,
"keys": ["<string>"],
"log_type_slugs": ["<string>"]
}
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({
start_date: '2026-05-01',
end_date: '2026-05-14',
profile_id: 123,
keys: ['<string>'],
log_type_slugs: ['<string>']
})
};
fetch('https://api.pubrio.com/api_keys/usage/daily', 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/api_keys/usage/daily",
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([
'start_date' => '2026-05-01',
'end_date' => '2026-05-14',
'profile_id' => 123,
'keys' => [
'<string>'
],
'log_type_slugs' => [
'<string>'
]
]),
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/api_keys/usage/daily"
payload := strings.NewReader("{\n \"start_date\": \"2026-05-01\",\n \"end_date\": \"2026-05-14\",\n \"profile_id\": 123,\n \"keys\": [\n \"<string>\"\n ],\n \"log_type_slugs\": [\n \"<string>\"\n ]\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/api_keys/usage/daily")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"start_date\": \"2026-05-01\",\n \"end_date\": \"2026-05-14\",\n \"profile_id\": 123,\n \"keys\": [\n \"<string>\"\n ],\n \"log_type_slugs\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/api_keys/usage/daily")
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 \"start_date\": \"2026-05-01\",\n \"end_date\": \"2026-05-14\",\n \"profile_id\": 123,\n \"keys\": [\n \"<string>\"\n ],\n \"log_type_slugs\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"filters": {
"start_date": "2026-05-01",
"end_date": "2026-05-14"
}
},
"data": {
"series": [
{
"date": "2026-05-01",
"credits": 26352,
"requests": 2827
},
{
"date": "2026-05-05",
"credits": 798,
"requests": 402
},
{
"date": "2026-05-11",
"credits": 187,
"requests": 187
}
],
"by_log_type": [
{
"slug": "people_redeem",
"name": "Redeem People",
"totals": {
"credits": 40835,
"requests": 4083
},
"series": [
{
"date": "2026-05-01",
"credits": 26140,
"requests": 2614
},
{
"date": "2026-05-11",
"credits": 185,
"requests": 15
}
]
},
{
"slug": "people_search",
"name": "People Search",
"totals": {
"credits": 633,
"requests": 212
},
"series": [
{
"date": "2026-05-05",
"credits": 594,
"requests": 199
}
]
}
],
"totals": {
"credits": 41892,
"requests": 4896
}
}
}{
"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
Start of the date range in YYYY-MM-DD format (interpreted in the workspace timezone).
"2026-05-01"
End of the date range in YYYY-MM-DD format (interpreted in the workspace timezone).
"2026-05-14"
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.
Optional list of masked API key identifiers (e.g. 0••••••••••••••••f39) to restrict the results to specific keys. Use the masked values returned by /api_keys or by the masked_authentication field on a log entry.
Optional list of log type slugs (e.g. people_search, company_search, people_redeem) to restrict the results to specific endpoints.

