Monitoring Trending Stories

Looking to keep track of trending events and storeis currently being discussed across OSINT, Social, and Darkweb sources? You're in the right place.

First, get all listing of all current stories. Sort by 'reference_count' with a 24h created_after. Make sure to

Stories Index

get

Get paginated list of stories.

Stories are collections of related references that have been clustered together based on content similarity and temporal proximity.

Query parameters
filterstringOptional

A string used to filter stories. Allowed filter terms:

  • title:: filter by title (case insensitive substring)
  • description:: filter by description (case insensitive substring)
  • min_refs:: filter by minimum reference count (e.g., min_refs:5)
  • max_refs:: filter by maximum reference count (e.g., max_refs:10)
  • If no prefix is provided, the filter will search in the title.
created_afterstringOptional

Filter stories created after this date. Supports various formats including ISO 8601 (e.g., '2024-01-01T00:00:00Z'), date only (e.g., '2024-01-01'), and common formats (e.g., 'Jan 1, 2024', '1/1/2024')

created_beforestringOptional

Filter stories created before this date. Supports various formats including ISO 8601 (e.g., '2024-12-31T23:59:59Z'), date only (e.g., '2024-12-31'), and common formats (e.g., 'Dec 31, 2024', '12/31/2024')

updated_afterstringOptional

Filter stories updated after this date. Supports various formats including ISO 8601 (e.g., '2024-01-01T00:00:00Z'), date only (e.g., '2024-01-01'), and common formats (e.g., 'Jan 1, 2024', '1/1/2024')

updated_beforestringOptional

Filter stories updated before this date. Supports various formats including ISO 8601 (e.g., '2024-12-31T23:59:59Z'), date only (e.g., '2024-12-31'), and common formats (e.g., 'Dec 31, 2024', '12/31/2024')

sortstringOptional

Field to sort by - either created_at, updated_at, title, or reference_count

Default: created_atPattern: ^(created_at|updated_at|title|reference_count)$
orderstringOptional

Sort order - either asc or desc

Default: descPattern: ^(asc|desc)$
offsetintegerOptional

The number of items to skip before starting to collect the result set.

Default: 0
limitinteger · min: 1 · max: 1000Optional

The maximum number of items to return.

Default: 100
Responses
200

Successful Response

application/json
get
/v1/stories
GET /v1/stories HTTP/1.1
Host: 
Accept: */*
{
  "total": 1,
  "offset": 1,
  "limit": 1,
  "message": "text",
  "data": [
    {
      "uuid": "text",
      "title": "text",
      "description": "text",
      "created_at": "2025-10-24T20:14:44.980Z",
      "updated_at": "2025-10-24T20:14:44.980Z",
      "reference_count": 1,
      "references": [
        {
          "uuid": "text",
          "url": "text",
          "url_hash": "text",
          "type": "STRUCTURED",
          "source": "text",
          "created_at": "2025-10-24T20:14:44.980Z",
          "updated_at": "2025-10-24T20:14:44.980Z",
          "published_at": "2025-10-24T20:14:44.980Z",
          "first_collected_at": "2025-10-24T20:14:44.980Z",
          "last_collected_at": "2025-10-24T20:14:44.980Z",
          "screenshotted_at": "2025-10-24T20:14:44.980Z",
          "user_generated_content": true,
          "synthetic": true,
          "content_type": "text",
          "topic": "text",
          "authors": [
            "text"
          ],
          "content_chunk_uuids": [
            "text"
          ],
          "final_url": "text",
          "last_http_status": 1,
          "submitter": "text",
          "screenshot_url": "text"
        }
      ]
    }
  ]
}

Next, using the UUID of the story, you can get the story, and supporting datapoints.

Single Story

get

Retrieve a story by its UUID.

  • identifier: The unique UUID of the story to retrieve.

This endpoint returns the story object associated with the given UUID. If no story is found, a 404 error is returned.

Path parameters
identifierstringRequired

The unique UUID of the story to retrieve

Responses
200

Successful Response

application/json
get
/v1/stories/{identifier}
GET /v1/stories/{identifier} HTTP/1.1
Host: 
Accept: */*
{
  "uuid": "text",
  "title": "text",
  "description": "text",
  "created_at": "2025-10-24T20:14:44.980Z",
  "updated_at": "2025-10-24T20:14:44.980Z",
  "reference_count": 1,
  "references": [
    {
      "uuid": "text",
      "url": "text",
      "url_hash": "text",
      "type": "STRUCTURED",
      "source": "text",
      "created_at": "2025-10-24T20:14:44.980Z",
      "updated_at": "2025-10-24T20:14:44.980Z",
      "published_at": "2025-10-24T20:14:44.980Z",
      "first_collected_at": "2025-10-24T20:14:44.980Z",
      "last_collected_at": "2025-10-24T20:14:44.980Z",
      "screenshotted_at": "2025-10-24T20:14:44.980Z",
      "user_generated_content": true,
      "synthetic": true,
      "content_type": "text",
      "topic": "text",
      "authors": [
        "text"
      ],
      "content_chunk_uuids": [
        "text"
      ],
      "final_url": "text",
      "last_http_status": 1,
      "submitter": "text",
      "screenshot_url": "text"
    }
  ]
}

If you'd like to get additional detail, including related stories, and supporting events, use the following endpoints.

Story Events

get

Get timeline events for a specific story with pagination and sorting.

Returns a chronological list of events that have occurred for this story, such as creation and reference assignments. Events are sorted by created_at.

Path parameters
identifierstringRequired

The unique UUID of the story

Query parameters
filterstringOptional

Filter parameter (e.g., 'event_type:story_created', 'event_type:reference_assigned')

orderstringOptional

Sort order - either asc or desc

Default: descPattern: ^(asc|desc)$
offsetintegerOptional

The number of items to skip before starting to collect the result set.

Default: 0
limitinteger · min: 1 · max: 1000Optional

The maximum number of items to return.

Default: 100
Responses
200

Successful Response

application/json
get
/v1/stories/{identifier}/events
GET /v1/stories/{identifier}/events HTTP/1.1
Host: 
Accept: */*
{
  "total": 1,
  "offset": 1,
  "limit": 1,
  "message": "text",
  "data": [
    {
      "uuid": "text",
      "story_uuid": "text",
      "event_type": "text",
      "created_at": "2025-10-24T20:14:44.980Z",
      "event_data": {
        "reference_uuid": "text"
      }
    }
  ]
}

Story References

get

Get references associated with a specific story with pagination and sorting.

Returns a list of references that have been clustered into this story.

Path parameters
identifierstringRequired

The unique UUID of the story

Query parameters
sortstringOptional

Field to sort by - either published_at, created_at, updated_at, title, or source_slug

Default: published_atPattern: ^(published_at|created_at|updated_at|title|source_slug)$
orderstringOptional

Sort order - either asc or desc

Default: descPattern: ^(asc|desc)$
offsetintegerOptional

The number of items to skip before starting to collect the result set.

Default: 0
limitinteger · min: 1 · max: 1000Optional

The maximum number of items to return.

Default: 100
Responses
200

Successful Response

application/json
get
/v1/stories/{identifier}/references
GET /v1/stories/{identifier}/references HTTP/1.1
Host: 
Accept: */*
{
  "total": 1,
  "offset": 1,
  "limit": 1,
  "message": "text",
  "data": [
    {
      "uuid": "text",
      "url": "text",
      "url_hash": "text",
      "type": "STRUCTURED",
      "source": "text",
      "created_at": "2025-10-24T20:14:44.980Z",
      "updated_at": "2025-10-24T20:14:44.980Z",
      "published_at": "2025-10-24T20:14:44.980Z",
      "first_collected_at": "2025-10-24T20:14:44.980Z",
      "last_collected_at": "2025-10-24T20:14:44.980Z",
      "screenshotted_at": "2025-10-24T20:14:44.980Z",
      "user_generated_content": true,
      "synthetic": true,
      "content_type": "text",
      "topic": "text",
      "authors": [
        "text"
      ],
      "content_chunk_uuids": [
        "text"
      ],
      "final_url": "text",
      "last_http_status": 1,
      "submitter": "text",
      "screenshot_url": "text"
    }
  ]
}

Similar Stories

get

Find stories similar to the specified story.

Uses the story's embedding vector to find other stories with similar content using inner product similarity. Results are ordered by similarity (most similar first).

Returns an empty list if the story doesn't have an embedding vector.

Path parameters
identifierstringRequired

The unique UUID of the story

Query parameters
thresholdnumber · min: -1 · max: 1Optional

Similarity threshold (higher values are more similar, range: -1 to 1)

Default: 0.6
created_afterstringOptional

Filter similar stories created after this date. Supports various formats including ISO 8601 (e.g., '2024-01-01T00:00:00Z'), date only (e.g., '2024-01-01'), and common formats (e.g., 'Jan 1, 2024', '1/1/2024')

created_beforestringOptional

Filter similar stories created before this date. Supports various formats including ISO 8601 (e.g., '2024-12-31T23:59:59Z'), date only (e.g., '2024-12-31'), and common formats (e.g., 'Dec 31, 2024', '12/31/2024')

updated_afterstringOptional

Filter similar stories updated after this date. Supports various formats including ISO 8601 (e.g., '2024-01-01T00:00:00Z'), date only (e.g., '2024-01-01'), and common formats (e.g., 'Jan 1, 2024', '1/1/2024')

updated_beforestringOptional

Filter similar stories updated before this date. Supports various formats including ISO 8601 (e.g., '2024-12-31T23:59:59Z'), date only (e.g., '2024-12-31'), and common formats (e.g., 'Dec 31, 2024', '12/31/2024')

offsetintegerOptional

The number of items to skip before starting to collect the result set.

Default: 0
limitinteger · min: 1 · max: 100Optional

The maximum number of items to return.

Default: 10
Responses
200

Successful Response

application/json
get
/v1/stories/{identifier}/similar
GET /v1/stories/{identifier}/similar HTTP/1.1
Host: 
Accept: */*
{
  "total": 1,
  "offset": 1,
  "limit": 1,
  "message": "text",
  "data": [
    {
      "uuid": "text",
      "title": "text",
      "description": "text",
      "created_at": "2025-10-24T20:14:44.980Z",
      "updated_at": "2025-10-24T20:14:44.980Z",
      "reference_count": 1,
      "references": [
        {
          "uuid": "text",
          "url": "text",
          "url_hash": "text",
          "type": "STRUCTURED",
          "source": "text",
          "created_at": "2025-10-24T20:14:44.980Z",
          "updated_at": "2025-10-24T20:14:44.980Z",
          "published_at": "2025-10-24T20:14:44.980Z",
          "first_collected_at": "2025-10-24T20:14:44.980Z",
          "last_collected_at": "2025-10-24T20:14:44.980Z",
          "screenshotted_at": "2025-10-24T20:14:44.980Z",
          "user_generated_content": true,
          "synthetic": true,
          "content_type": "text",
          "topic": "text",
          "authors": [
            "text"
          ],
          "content_chunk_uuids": [
            "text"
          ],
          "final_url": "text",
          "last_http_status": 1,
          "submitter": "text",
          "screenshot_url": "text"
        }
      ]
    }
  ]
}

Last updated