Skip to content

Threat intelligence API / Reference / Feeds

Feeds endpoints

Saved feeds built from typed entities or keywords, with the personal-feed keywords behind feed_type=my_feed. Create, list, update, delete. Starter and up. Starter and up.

GET /feeds · POST /feeds · GET /feeds/{feed_id}/entities · POST /feeds/{feed_id}/entities · GET /feed · PATCH /feeds/{feed_id} · DELETE /feeds/{feed_id} · DELETE /feeds/{feed_id}/entities/{keyword} · GET /keywords · POST /keywords · DELETE /keywords/{keyword}

GET /feeds

List your custom feeds · 1 credit per call

List your custom feeds in the requested slice (defaults to personal).

Pass `?mssp_customer_id=N` to scope the read to a specific managed customer.

Parameters

NameInTypeRequiredMeaning
mssp_customer_idqueryinteger or null

Response 200 · FeedsListResponse

FieldTypeMeaning
feeds *array of FeedSummary
count *integer
curl -H "X-API-Key: $TC_KEY" \
  "https://threatcluster.io/api/public/v1/feeds"

POST /feeds

Create a custom feed on your account · 1 credit per call

Create a personal custom feed seeded with keywords. Returns the feed_id you read back via GET /feeds. (For a managed customer: use /mssp/customers/{id}/feed.)

Request body · FeedCreate

FieldTypeMeaning
name *stringFeed name (required).
keywordsarray or nullUntyped keywords to seed the feed — matched against the entity values extracted from articles.
entitiesarray or nullTyped entities to seed the feed, e.g. {"keyword": "FortiOS", "entity_type": "platform"}. Use this for a stack or supply-chain feed.
descriptionstring or nullOptional feed description.
mssp_customer_idinteger or nullCreate the feed on one of your managed customers (MSSP). Omit for a personal feed.
curl -H "X-API-Key: $TC_KEY" -X POST \
  "https://threatcluster.io/api/public/v1/feeds"

GET /feeds/{feed_id}/entities

Entities tracked by a feed · 1 credit per call

Get entities tracked in a custom feed.

Pass `?mssp_customer_id=N` to read a customer-scoped feed (default: personal).

Parameters

NameInTypeRequiredMeaning
feed_idpathstringyes
mssp_customer_idqueryinteger or null

Response 200 · FeedEntitiesResponse

FieldTypeMeaning
feed_id *string
entities *array of FeedEntity
count *integer
curl -H "X-API-Key: $TC_KEY" \
  "https://threatcluster.io/api/public/v1/feeds/{feed_id}/entities"

POST /feeds/{feed_id}/entities

Add typed entities or keywords to a feed · 1 credit per call

Parameters

NameInTypeRequiredMeaning
feed_idpathstringyes

Request body · FeedEntitiesAdd

FieldTypeMeaning
entitiesarray or null
keywordstring or nullShorthand for a single entity.
entity_typestring or null
is_customboolean
mssp_customer_idinteger or null
curl -H "X-API-Key: $TC_KEY" -X POST \
  "https://threatcluster.io/api/public/v1/feeds/{feed_id}/entities"

GET /feed

Threats matching your feed filters · 1 credit per call

Query the threat feed with full filtering.

Query parameters

  • limit: Max results (default: 50, max: 100)
  • offset: Pagination offset (default: 0)
  • time_filter: 1h, 24h, 7d, 30d (default: 7d)
  • sort_by: trending, latest, popular, threat_score (default: trending)
  • content_type: all, threats, articles (default: all)
  • feed_type: trending, popular, latest, my_feed, custom (default: trending)
  • feed_id: UUID of custom feed (required when feed_type=custom)
  • keyword: Optional keyword filter
  • urgency: "hot" for high-velocity only (optional)

Use feed_type=my_feed to query your personal keyword feed. Use feed_type=custom with feed_id to query a specific custom feed.

Parameters

NameInTypeRequiredMeaning
limitqueryinteger
offsetqueryinteger
time_filterquerystring
sort_byquerystring
content_typequerystring
feed_typequerystring
feed_idquerystring
keywordquerystring
urgencyquerystring
mssp_customer_idqueryinteger or null
sincequerystring

Response 200 · FeedResponse

FieldTypeMeaning
items *array of ThreatListItem
countinteger or null
totalinteger or null
limitinteger or null
offsetinteger or null
time_filterstring or null
sort_bystring or null
content_typestring or null
feed_typestring or null
curl -H "X-API-Key: $TC_KEY" \
  "https://threatcluster.io/api/public/v1/feed"

PATCH /feeds/{feed_id}

Rename or describe a feed · 1 credit per call

Parameters

NameInTypeRequiredMeaning
feed_idpathstringyes

Request body · FeedUpdate

FieldTypeMeaning
namestring or null
descriptionstring or null
mssp_customer_idinteger or nullThe managed customer the feed belongs to, if not personal.
curl -H "X-API-Key: $TC_KEY" -X PATCH \
  "https://threatcluster.io/api/public/v1/feeds/{feed_id}"

DELETE /feeds/{feed_id}

Delete a feed · 1 credit per call

Parameters

NameInTypeRequiredMeaning
feed_idpathstringyes
mssp_customer_idqueryinteger or null
curl -H "X-API-Key: $TC_KEY" -X DELETE \
  "https://threatcluster.io/api/public/v1/feeds/{feed_id}"

DELETE /feeds/{feed_id}/entities/{keyword}

Remove an entity or keyword from a feed · 1 credit per call

Parameters

NameInTypeRequiredMeaning
feed_idpathstringyes
keywordpathstringyes
mssp_customer_idqueryinteger or null
curl -H "X-API-Key: $TC_KEY" -X DELETE \
  "https://threatcluster.io/api/public/v1/feeds/{feed_id}/entities/{keyword}"

GET /keywords

List the keywords behind your personal feed · 1 credit per call

Parameters

NameInTypeRequiredMeaning
mssp_customer_idqueryinteger or null
curl -H "X-API-Key: $TC_KEY" \
  "https://threatcluster.io/api/public/v1/keywords"

POST /keywords

Track a keyword or entity on your personal feed · 1 credit per call

Request body · KeywordCreate

FieldTypeMeaning
keyword *string
entity_typestring or null
is_customboolean
mssp_customer_idinteger or null
curl -H "X-API-Key: $TC_KEY" -X POST \
  "https://threatcluster.io/api/public/v1/keywords"

DELETE /keywords/{keyword}

Stop tracking a keyword · 1 credit per call

Parameters

NameInTypeRequiredMeaning
keywordpathstringyes
mssp_customer_idqueryinteger or null
curl -H "X-API-Key: $TC_KEY" -X DELETE \
  "https://threatcluster.io/api/public/v1/keywords/{keyword}"