Threat Feed API (Sandbox)
Returns synthetic threat intelligence content. The endpoint supports three modes: dark web and telegram posts, public news, and taxonomy listings. The mode is selected through the mode and taxonomy parameters.
This sandbox endpoint mirrors the production get_threat_feeds endpoint in request format and response structure, and returns synthetic data only. In production this endpoint requires the Threat Feed add on. In the sandbox this requirement is relaxed so that trial keys may be used for integration testing.
Endpoint
POST https://api.whiteintel.io/sandbox/get_threat_feeds.php
Content-Type: application/jsonModes
Posts
Default, or any mode other than public_news when taxonomy is not set
Threat intelligence posts with optional filters.
Public News
mode set to public_news
Public security news items.
Taxonomy
taxonomy set to categories, industries, or networks
Distinct taxonomy values with counts. Takes precedence over mode.
Request Parameters
apikey
string
Yes
Your API key.
mode
string
No
posts
Selects the content mode. Set to public_news for the news feed.
taxonomy
string
No
When set, selects taxonomy mode. One of categories, industries, networks.
page
integer
No
1
Page number for pagination.
limit
integer
No
100
Page size. Range 1 to 100. Trial keys are capped at 20.
start_date
string
No
Inclusive start date in YYYY-MM-DD format.
end_date
string
No
Inclusive end date in YYYY-MM-DD format.
search
string
No
Free text search term. Minimum length 4 characters. Applies to posts and public news modes.
category
string or array
No
Filter by category. Accepts at most 2 values. Posts mode only.
industry
string or array
No
Filter by victim industry. Accepts at most 2 values. Posts mode only.
network
string or array
No
Filter by network. Multiple values are allowed. Posts mode only.
Posts Mode
Example Request
Response
success
boolean
Indicates whether the request was processed successfully.
mode
string
Always posts in this mode.
remaining_threat_feed_calls
integer
Remaining Threat Feed calls for the account. Reported for parity and not decremented in the sandbox.
results
array
List of post records, ordered by publication date, newest first.
Each post record contains the following fields.
id
integer
Record identifier.
uuid
string
Record UUID.
published_url
string
Canonical URL of the post.
title
string
Post title.
category
string
Post category.
network
string
Source network.
published_at
string
Publication timestamp.
description
string
Post content.
victim_organization
string
Affected organization.
victim_site
string
Affected organization site.
victim_domain
string
Affected organization domain.
victim_industry
string
Affected organization industry.
victim_country
string
Affected organization country.
threat_actor_names_cached
string
Comma separated list of associated threat actors.
tags_csv
string
Comma separated list of tags.
tags_norm_json
array
Normalized tag list.
threat_actors_norm_json
array
Normalized threat actor list.
screenshots_json
array
Associated screenshot references.
Example Response
Public News Mode
Example Request
News Record Fields
id
integer
Record identifier.
source
string
Publication source.
title
string
Article title.
summary
string
Article summary.
ai_summary
string
Generated article summary.
link
string
Article link.
published_at
string
Publication timestamp.
tags
string
Comma separated tag list.
Example Response
Taxonomy Mode
Example Request
Response
success
boolean
Indicates whether the request was processed successfully.
mode
string
Always taxonomy in this mode.
taxonomy
string
The requested taxonomy.
remaining_threat_feed_calls
integer
Remaining Threat Feed calls for the account. Reported for parity and not decremented in the sandbox.
results
array
Distinct taxonomy values with counts, ordered by count descending then value ascending.
Each taxonomy entry contains a value field and a cnt field, where cnt is returned as a string.
Example Response
Error Responses
400
Invalid JSON body
{"error": "Invalid JSON body."}
403
API key missing
{"error": "API Key is missing."}
403
API key invalid
{"error": "Invalid API Key."}
429
Requests sent too quickly
{"message": "Please wait 5 seconds between requests."}
200
Limit out of range
{"success": false, "error": "Limit must be between 1 and 100."}
400
More than two category values
{"success": false, "error": "category accepts at most 2 values."}
400
More than two industry values
{"success": false, "error": "industry accepts at most 2 values."}
400
Search term too short
{"success": false, "error": "Search must be at least 4 characters long."}
200
Invalid taxonomy value
{"success": false, "error": "Invalid taxonomy. Use 'categories', 'industries', or 'networks'."}
400
Non JSON or non POST request
{"error": "Invalid request method or content type, expected POST with application/json."}
Notes
All modes are served from a single consistent synthetic data set, so taxonomy counts agree with the number of posts that can be retrieved for each category, industry, and network. Date filters reduce taxonomy counts and post results together. Affected organizations and domains are fictional and use the reserved .example suffix. The same request returns the same records on every call.
Last updated