Firehose

Some clients may require a real-time stream of all IP address activity in the Synthient database. The firehose can be accessed via a WebSocket connection or a Google Pub/Sub channel, providing a continuous stream of IP address data as it is added or updated.

Connection Methods

The firehose provides two methods for receiving real-time events: WebSocket and Google Pub/Sub.

WebSocket

The WebSocket endpoint streams real-time updates of IP address activity. Each message is a JSON object containing information about an IP address.

Event Payload

  • Name
    ip
    Type
    string
    Description

    The IP address that was observed.

  • Name
    provider
    Type
    string
    Description

    The name of the provider associated with the IP.

  • Name
    timestamp
    Type
    string
    Description

    The UNIX timestamp when the IP was seen as active.

Request

WSS/v3/stream
wscat -c wss://v3api.synthient.com/v3/stream \
  -H "Authorization: $API_KEY"

Events

{"ip":"38.238.45.9","provider":"DATAIMPULSE","timestamp":"1762605697"}
{"ip":"113.173.255.217","provider":"DATAIMPULSE","timestamp":"1762605697"}
{"ip":"103.10.28.141","provider":"IPIDEA","timestamp":"1762605697"}
...

Redis Pub/Sub

For high-throughput applications, you can consume events from our Redis Pub/Sub channel. The event payload is identical to the WebSocket message format.

  • Channel Name: proxy_feed

Please contact support to get access to the Pub/Sub feed.

Event Data Models

Here are some examples of how you can model the event data in different programming languages.

Event Model

from typing import TypedDict

class ProxyEvent(TypedDict):
    ip: str
    provider: str
    timestamp: str