Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
curl --request POST \
--url https://gdeltcloud.com/api/v2/monitors \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"subject": {
"type": "entity",
"entity_ids": [
"<string>"
],
"match": "coverage"
},
"trigger": {
"type": "new_matches"
},
"schedule": {
"timezone": "UTC",
"daily_hour": 8
},
"delivery": {
"email": true,
"webhook_url": "<string>"
}
}
'import requests
url = "https://gdeltcloud.com/api/v2/monitors"
payload = {
"name": "<string>",
"subject": {
"type": "entity",
"entity_ids": ["<string>"],
"match": "coverage"
},
"trigger": { "type": "new_matches" },
"schedule": {
"timezone": "UTC",
"daily_hour": 8
},
"delivery": {
"email": True,
"webhook_url": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
subject: {type: 'entity', entity_ids: ['<string>'], match: 'coverage'},
trigger: {type: 'new_matches'},
schedule: {timezone: 'UTC', daily_hour: 8},
delivery: {email: true, webhook_url: '<string>'}
})
};
fetch('https://gdeltcloud.com/api/v2/monitors', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"monitor": {
"id": "5e1d3b89-9c34-4fa1-80fc-17f72f782b33",
"organization_id": "88949d2a-4f00-45cb-9d23-2d242ddfe74d",
"created_by": "c6951b53-952b-40bf-99fd-c9d97a176f38",
"name": "Port disruption watch",
"description": "New coverage of port closures and shipping disruption in the United States.",
"enabled": true,
"subject": {
"type": "topic"
},
"criteria": {
"data": "events_and_stories",
"search": "port closure shipping disruption",
"countries": [
"USA"
],
"family_filters": {
"cameoplus": {
"domains": [
"INFRASTRUCTURE"
],
"subcategories": []
},
"story": {
"categories": [
"cameoplus_infrastructure"
]
}
},
"fatalities_only": false
},
"trigger": {
"type": "new_matches"
},
"schedule": {
"cadence": "hourly",
"timezone": "UTC",
"daily_hour": 8
},
"delivery": {
"email": true,
"webhook": {
"configured": true,
"endpoint": "https://example.com/gdelt-webhook",
"consecutive_failures": 0,
"last_success_at": "2026-08-23T14:05:00.000Z",
"last_failure_at": null
}
},
"created_at": "2026-08-23T13:00:00.000Z",
"updated_at": "2026-08-23T14:05:00.000Z",
"last_checked_at": "2026-08-23T14:00:00.000Z",
"last_triggered_at": "2026-08-23T14:00:00.000Z",
"legacy": false
},
"webhook_signing_secret": "whsec_returned_only_once"
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}Create one organization-shared Monitor. When a webhook destination is first configured, webhook_signing_secret is returned once.
curl --request POST \
--url https://gdeltcloud.com/api/v2/monitors \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"subject": {
"type": "entity",
"entity_ids": [
"<string>"
],
"match": "coverage"
},
"trigger": {
"type": "new_matches"
},
"schedule": {
"timezone": "UTC",
"daily_hour": 8
},
"delivery": {
"email": true,
"webhook_url": "<string>"
}
}
'import requests
url = "https://gdeltcloud.com/api/v2/monitors"
payload = {
"name": "<string>",
"subject": {
"type": "entity",
"entity_ids": ["<string>"],
"match": "coverage"
},
"trigger": { "type": "new_matches" },
"schedule": {
"timezone": "UTC",
"daily_hour": 8
},
"delivery": {
"email": True,
"webhook_url": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
subject: {type: 'entity', entity_ids: ['<string>'], match: 'coverage'},
trigger: {type: 'new_matches'},
schedule: {timezone: 'UTC', daily_hour: 8},
delivery: {email: true, webhook_url: '<string>'}
})
};
fetch('https://gdeltcloud.com/api/v2/monitors', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"monitor": {
"id": "5e1d3b89-9c34-4fa1-80fc-17f72f782b33",
"organization_id": "88949d2a-4f00-45cb-9d23-2d242ddfe74d",
"created_by": "c6951b53-952b-40bf-99fd-c9d97a176f38",
"name": "Port disruption watch",
"description": "New coverage of port closures and shipping disruption in the United States.",
"enabled": true,
"subject": {
"type": "topic"
},
"criteria": {
"data": "events_and_stories",
"search": "port closure shipping disruption",
"countries": [
"USA"
],
"family_filters": {
"cameoplus": {
"domains": [
"INFRASTRUCTURE"
],
"subcategories": []
},
"story": {
"categories": [
"cameoplus_infrastructure"
]
}
},
"fatalities_only": false
},
"trigger": {
"type": "new_matches"
},
"schedule": {
"cadence": "hourly",
"timezone": "UTC",
"daily_hour": 8
},
"delivery": {
"email": true,
"webhook": {
"configured": true,
"endpoint": "https://example.com/gdelt-webhook",
"consecutive_failures": 0,
"last_success_at": "2026-08-23T14:05:00.000Z",
"last_failure_at": null
}
},
"created_at": "2026-08-23T13:00:00.000Z",
"updated_at": "2026-08-23T14:05:00.000Z",
"last_checked_at": "2026-08-23T14:00:00.000Z",
"last_triggered_at": "2026-08-23T14:00:00.000Z",
"legacy": false
},
"webhook_signing_secret": "whsec_returned_only_once"
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}GDELT Cloud API key. Send as Authorization: Bearer gdelt_sk_....
Show child attributes
Show child attributes
Show child attributes
At least one delivery channel is required. Omit email to accept its true default, set email=true, or provide webhook_url.
Show child attributes
Show child attributes
