curl --request POST \
--url https://api.newscatcherapi.com/agent/monitors \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"kind": "companies",
"name": "<string>",
"companies": [
{
"domain": "<string>",
"name": "<string>"
}
],
"list_id": "<string>",
"from_run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"query": "<string>",
"topic": "<string>",
"schedule": {
"every": "day",
"at": "09:00",
"tz": "UTC",
"weekday": 3,
"hours": 12
},
"settings": {
"include_market_activity": false
},
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.newscatcherapi.com/agent/monitors"
payload = {
"kind": "companies",
"name": "<string>",
"companies": [
{
"domain": "<string>",
"name": "<string>"
}
],
"list_id": "<string>",
"from_run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"query": "<string>",
"topic": "<string>",
"schedule": {
"every": "day",
"at": "09:00",
"tz": "UTC",
"weekday": 3,
"hours": 12
},
"settings": { "include_market_activity": False },
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
kind: 'companies',
name: '<string>',
companies: [{domain: '<string>', name: '<string>'}],
list_id: '<string>',
from_run_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
query: '<string>',
topic: '<string>',
schedule: {every: 'day', at: '09:00', tz: 'UTC', weekday: 3, hours: 12},
settings: {include_market_activity: false},
conversation_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.newscatcherapi.com/agent/monitors', 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.newscatcherapi.com/agent/monitors",
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([
'kind' => 'companies',
'name' => '<string>',
'companies' => [
[
'domain' => '<string>',
'name' => '<string>'
]
],
'list_id' => '<string>',
'from_run_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'query' => '<string>',
'topic' => '<string>',
'schedule' => [
'every' => 'day',
'at' => '09:00',
'tz' => 'UTC',
'weekday' => 3,
'hours' => 12
],
'settings' => [
'include_market_activity' => false
],
'conversation_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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.newscatcherapi.com/agent/monitors"
payload := strings.NewReader("{\n \"kind\": \"companies\",\n \"name\": \"<string>\",\n \"companies\": [\n {\n \"domain\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"list_id\": \"<string>\",\n \"from_run_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"query\": \"<string>\",\n \"topic\": \"<string>\",\n \"schedule\": {\n \"every\": \"day\",\n \"at\": \"09:00\",\n \"tz\": \"UTC\",\n \"weekday\": 3,\n \"hours\": 12\n },\n \"settings\": {\n \"include_market_activity\": false\n },\n \"conversation_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-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.newscatcherapi.com/agent/monitors")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"kind\": \"companies\",\n \"name\": \"<string>\",\n \"companies\": [\n {\n \"domain\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"list_id\": \"<string>\",\n \"from_run_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"query\": \"<string>\",\n \"topic\": \"<string>\",\n \"schedule\": {\n \"every\": \"day\",\n \"at\": \"09:00\",\n \"tz\": \"UTC\",\n \"weekday\": 3,\n \"hours\": 12\n },\n \"settings\": {\n \"include_market_activity\": false\n },\n \"conversation_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.newscatcherapi.com/agent/monitors")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"kind\": \"companies\",\n \"name\": \"<string>\",\n \"companies\": [\n {\n \"domain\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"list_id\": \"<string>\",\n \"from_run_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"query\": \"<string>\",\n \"topic\": \"<string>\",\n \"schedule\": {\n \"every\": \"day\",\n \"at\": \"09:00\",\n \"tz\": \"UTC\",\n \"weekday\": 3,\n \"hours\": 12\n },\n \"settings\": {\n \"include_market_activity\": false\n },\n \"conversation_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"companies": [
{}
],
"schedule": {},
"settings": {},
"enabled": true,
"kind": "companies",
"dataset": {},
"list_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"query": "<string>",
"paused_reason": "<string>",
"last_opened_at": "2023-11-07T05:31:56Z",
"next_run_at": "2023-11-07T05:31:56Z",
"last_run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source_run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}Create Monitor
Create a monitor; it first runs at its next scheduled time (POST /{id}/run runs it now).
curl --request POST \
--url https://api.newscatcherapi.com/agent/monitors \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"kind": "companies",
"name": "<string>",
"companies": [
{
"domain": "<string>",
"name": "<string>"
}
],
"list_id": "<string>",
"from_run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"query": "<string>",
"topic": "<string>",
"schedule": {
"every": "day",
"at": "09:00",
"tz": "UTC",
"weekday": 3,
"hours": 12
},
"settings": {
"include_market_activity": false
},
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.newscatcherapi.com/agent/monitors"
payload = {
"kind": "companies",
"name": "<string>",
"companies": [
{
"domain": "<string>",
"name": "<string>"
}
],
"list_id": "<string>",
"from_run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"query": "<string>",
"topic": "<string>",
"schedule": {
"every": "day",
"at": "09:00",
"tz": "UTC",
"weekday": 3,
"hours": 12
},
"settings": { "include_market_activity": False },
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
kind: 'companies',
name: '<string>',
companies: [{domain: '<string>', name: '<string>'}],
list_id: '<string>',
from_run_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
query: '<string>',
topic: '<string>',
schedule: {every: 'day', at: '09:00', tz: 'UTC', weekday: 3, hours: 12},
settings: {include_market_activity: false},
conversation_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.newscatcherapi.com/agent/monitors', 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.newscatcherapi.com/agent/monitors",
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([
'kind' => 'companies',
'name' => '<string>',
'companies' => [
[
'domain' => '<string>',
'name' => '<string>'
]
],
'list_id' => '<string>',
'from_run_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'query' => '<string>',
'topic' => '<string>',
'schedule' => [
'every' => 'day',
'at' => '09:00',
'tz' => 'UTC',
'weekday' => 3,
'hours' => 12
],
'settings' => [
'include_market_activity' => false
],
'conversation_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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.newscatcherapi.com/agent/monitors"
payload := strings.NewReader("{\n \"kind\": \"companies\",\n \"name\": \"<string>\",\n \"companies\": [\n {\n \"domain\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"list_id\": \"<string>\",\n \"from_run_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"query\": \"<string>\",\n \"topic\": \"<string>\",\n \"schedule\": {\n \"every\": \"day\",\n \"at\": \"09:00\",\n \"tz\": \"UTC\",\n \"weekday\": 3,\n \"hours\": 12\n },\n \"settings\": {\n \"include_market_activity\": false\n },\n \"conversation_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-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.newscatcherapi.com/agent/monitors")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"kind\": \"companies\",\n \"name\": \"<string>\",\n \"companies\": [\n {\n \"domain\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"list_id\": \"<string>\",\n \"from_run_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"query\": \"<string>\",\n \"topic\": \"<string>\",\n \"schedule\": {\n \"every\": \"day\",\n \"at\": \"09:00\",\n \"tz\": \"UTC\",\n \"weekday\": 3,\n \"hours\": 12\n },\n \"settings\": {\n \"include_market_activity\": false\n },\n \"conversation_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.newscatcherapi.com/agent/monitors")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"kind\": \"companies\",\n \"name\": \"<string>\",\n \"companies\": [\n {\n \"domain\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"list_id\": \"<string>\",\n \"from_run_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"query\": \"<string>\",\n \"topic\": \"<string>\",\n \"schedule\": {\n \"every\": \"day\",\n \"at\": \"09:00\",\n \"tz\": \"UTC\",\n \"weekday\": 3,\n \"hours\": 12\n },\n \"settings\": {\n \"include_market_activity\": false\n },\n \"conversation_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"companies": [
{}
],
"schedule": {},
"settings": {},
"enabled": true,
"kind": "companies",
"dataset": {},
"list_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"query": "<string>",
"paused_reason": "<string>",
"last_opened_at": "2023-11-07T05:31:56Z",
"next_run_at": "2023-11-07T05:31:56Z",
"last_run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source_run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}Authorizations
Body
POST /monitors: a company monitor (companies) or a dataset monitor (kind: dataset, from_run_id).
companies: their new stories. dataset: re-run a finished research run and deliver its new rows.
companies, dataset A name (default: its companies, or its topic).
120Company monitors: at least one (or list_id).
Show child attributes
Show child attributes
Company monitors: a company list's id (a UUID) instead of companies. The monitor follows the list: companies added to or removed from it are monitored from the next run on.
"Monitor this": one of your succeeded runs. An events run is re-run (same mode and columns); a companies run gives a company monitor of its companies.
What to watch for. Company monitors: only stories about this, e.g. "funding and acquisitions" (blank: every story about the companies; from a companies run: its query). Dataset monitors: the research request (blank: the run's query with its time window removed).
5000Deprecated: the old name of query for dataset monitors.
5000Default: daily at 09:00 UTC; Standard/Max dataset monitors default to weekly (today's weekday), and may run daily too.
Show child attributes
Show child attributes
What the monitor delivers.
Show child attributes
Show child attributes
Your chat conversation where each run's result is also posted.
Response
Successful Response
A monitor.
Its companies now (a list monitor: its list's).
Show child attributes
Show child attributes
companies or dataset.
Dataset monitors: topic, columns, mode, max_rows, source_run_id, window_to (where the last complete run ended).
The company list it follows (companies added to or removed from the list are monitored from the next run on).
What it watches for: a company monitor's query (null: every story), a dataset monitor's research request.
Why the service paused it: "out_of_credits" (its organization's credits no longer cover it; top up, then resume) or "idle" (the organization's free monitor, its results not opened for 14 days; resume it). Null when running or paused by its user.
When its owner last opened its runs, stories or rows (the free monitor pauses after 14 days without).
Next scheduled run (UTC).
The run it was made from ("Keep updated", "Monitor this"): its first run.
Was this page helpful?

