Submissions
The Submissions API provides two endpoints for tech platforms to query our database and find out what contents our OSINT team have found on their platforms as well what alerts we have issued to them. Platforms can refine their queries to specify dates and specific terrorist groups.
Once you're authenticated you can use your JWT to access the Content Hash List
Open API References:
Two endpoints
The Submissions API consists of two endpoints for tech platform TCAP users.
Content endpoint
The first returns a list of urls marked as terrorist content by Tech Against Terrorism:
https://beta.terrorismanalytics.org/integrations/tech_platform_api/content
- Python
- TypeScript
- cURL
import requests
url = "https://beta.terrorismanalytics.org/integrations/tech_platform_api/content"
headers = {
"Authorization": f'Bearer {token}"
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.json())
const url = "https://beta.terrorismanalytics.org/integrations/tech_platform_api/content"
const makeRequest = async (url: string) => {
const response = await fetch(url, {
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
});
const data = await response.json();
console.log(data);
};
const result = await makeRequest(url)
curl -X GET \
https://beta.terrorismanalytics.org/integrations/tech_platform_api/content \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
Alerts endpoint
The second returns a list of alerts we have sent as well as information about the url associated with each alert:
https://beta.terrorismanalytics.org/integrations/tech_platform_api/content_alert
- Python
- TypeScript
- cURL
import requests
url = "https://beta.terrorismanalytics.org/integrations/tech_platform_api/content_alert"
headers = {
"Authorization": f'Bearer {token}"
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.json())
const url = "https://beta.terrorismanalytics.org/integrations/tech_platform_api/content_alert"
const makeRequest = async (url: string) => {
const response = await fetch(url, {
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
});
const data = await response.json();
console.log(data);
};
const result = await makeRequest(url)
curl -X GET \
https://beta.terrorismanalytics.org/integrations/tech_platform_api/content_alert \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
Refining your request
When you send an authenticated request to either of these endpoints, the service will filter content or content alerts based on the tech platform associated with your email address. If your email address happens to be associated with more than one tech platform, it will return data associated with each platform. However, if you wish to refine the search, you can include a query parameter specifying the tech platform.
You can further refine your requests to either endpoint by including the following query paramaters:
Parameter | Type | Description |
---|---|---|
created_on | Datetime | The date the URL was submitted to the TCAP. |
terrorist_group | String | The terrorist group that is associated to the content. |
tech_platform | String | Your tech platform name |
Here are some examples urls:
- Python
- TypeScript
- cURL
import requests
url = "https://beta.terrorismanalytics.org/integrations/tech_platform_api/content?created_on=2023-06-29T10:03:54.828554&terrorist_group=Terrorist Group A"
headers = {
"Authorization": f'Bearer {token}"
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.json())
const url = "https://beta.terrorismanalytics.org/integrations/tech_platform_api/content?created_on=2023-06-29T10:03:54.828554&terrorist_group=Terrorist Group A"
const makeRequest = async (url: string) => {
const response = await fetch(url, {
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
});
const data = await response.json();
console.log(data);
};
const result = await makeRequest(url)
curl -X GET \
https://beta.terrorismanalytics.org/integrations/tech_platform_api/content?created_on=2023-06-29T10:03:54.828554&terrorist_group=Terrorist Group A \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
Content API response
The content endpoint returns the following data on each url that satisfies your query:
Parameter | Type | Description |
---|---|---|
created_on | Date | Timestamp at which the URL was approved for submission to the TCAP |
terrorist_group | String | Terrorist group associated with the content submitted to the TCAP |
tech_platform | String | Platform where the content was collected from |
tier | String | Tier of alert submitted for this URL (Threat To Life, Crisis, Designation, Promotional, Recommended) |
md5_hash | String | MD5 hash encryption of the URL where the content was found |
url_status | "Online" | "Offline" | Online status of the URL found |
extreme_content | Boolean | Whether the URL contains graphic and/or extreme content |
pii | Boolean | Whether the URL contains personally identifiable information (PII) |
content_alert | Date | Time/date when the tech platform was alerted for this URL |
What is the md5 hash?
The MD5 hash is a cryptographic hash of the url associated with the content. In essence it is the unique identifier of that piece of content. We are sending it in this format for security purposes.
Content Alert API response
The content alert endpoint returns the following data on each successfully sent alert that satisfies your query:
Parameter | Type | Description |
---|---|---|
content_item | ContentItem | All of the information from the Content API response above, nested |
to | String | The email address the alert was sent to |
alerted_date | Date | The date the alert was sent |
Open API References: