curl --request POST \
--url https://api.pubrio.com/monitors/signals/search \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"page_token": "<string>"
}
'import requests
url = "https://api.pubrio.com/monitors/signals/search"
payload = { "page_token": "<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({page_token: '<string>'})
};
fetch('https://api.pubrio.com/monitors/signals/search', 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/signals/search",
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([
'page_token' => '<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/monitors/signals/search"
payload := strings.NewReader("{\n \"page_token\": \"<string>\"\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/signals/search")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"page_token\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/monitors/signals/search")
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 \"page_token\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"monitor_log_id": "516b72de-79d5-400b-9bae-423a43eca98b",
"page_token": "c2b1…"
},
"data": {
"monitor": {
"monitor_id": "c9cd5421-b327-4243-9cd7-8b341b3da8bd",
"name": "Weekly CFO hires",
"detection_mode": "signal_first",
"record_unit": "signal"
},
"metadata": {
"monitor_log_id": "516b72de-79d5-400b-9bae-423a43eca98b",
"parent_monitor_log_id": null,
"total_signals": 25,
"total_companies": 25,
"total_people": 0,
"window": {
"from": "2026-10-10T02:09:00.000Z",
"to": "2026-10-17T06:09:56.270Z",
"next_page_token": "eyJhbGciOi…"
}
},
"triggered_at": "2026-10-17T06:20:11.002Z",
"signals": [],
"pagination": {
"page": 2,
"per_page": 25,
"total_entries": 395,
"total_pages": 16,
"total_display_pages": 16,
"is_timeout": false,
"is_estimated": 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."
}Recherche des signaux du moniteur
Lit la page suivante d’une livraison paginée (is_paged_delivery: true). La fenêtre est figée à l’exécution : la page ne contient que les signaux de cette fenêtre, selon les filtres, le périmètre d’entreprises, les exclusions et la fenêtre de déduplication d’entreprises actuels du moniteur, dans l’ordre de la livraison. Chaque page est une lecture keyset bornée, facturée comme la recherche équivalente (un crédit de recherche par type de signal lu par la page ; les listes de suivi sont gratuites). La page a la forme de la charge utile du webhook.
curl --request POST \
--url https://api.pubrio.com/monitors/signals/search \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"page_token": "<string>"
}
'import requests
url = "https://api.pubrio.com/monitors/signals/search"
payload = { "page_token": "<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({page_token: '<string>'})
};
fetch('https://api.pubrio.com/monitors/signals/search', 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/signals/search",
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([
'page_token' => '<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/monitors/signals/search"
payload := strings.NewReader("{\n \"page_token\": \"<string>\"\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/signals/search")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"page_token\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/monitors/signals/search")
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 \"page_token\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"monitor_log_id": "516b72de-79d5-400b-9bae-423a43eca98b",
"page_token": "c2b1…"
},
"data": {
"monitor": {
"monitor_id": "c9cd5421-b327-4243-9cd7-8b341b3da8bd",
"name": "Weekly CFO hires",
"detection_mode": "signal_first",
"record_unit": "signal"
},
"metadata": {
"monitor_log_id": "516b72de-79d5-400b-9bae-423a43eca98b",
"parent_monitor_log_id": null,
"total_signals": 25,
"total_companies": 25,
"total_people": 0,
"window": {
"from": "2026-10-10T02:09:00.000Z",
"to": "2026-10-17T06:09:56.270Z",
"next_page_token": "eyJhbGciOi…"
}
},
"triggered_at": "2026-10-17T06:20:11.002Z",
"signals": [],
"pagination": {
"page": 2,
"per_page": 25,
"total_entries": 395,
"total_pages": 16,
"total_display_pages": 16,
"is_timeout": false,
"is_estimated": 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."
}Autorisations
Corps
metadata.window.next_page_token d'une livraison paginée ou de la page précédente. Il porte la fenêtre figée, donc le même jeton lit toujours la même plage ; null sur la dernière page signifie que la fenêtre est terminée.
Réponse
La page, à la forme de la charge utile du webhook plus le même bloc pagination que renvoie toute recherche. L'enveloppe est { metadata: { monitor_log_id, page_token }, data: {...} }.

