Get Signals

Retrieve historical signals within a specified date range.

Endpoint

GET https://enterprise.guardis.io/v1/signals

Authentication

Include your API key in the X-API-Key header.

X-API-Key: your_api_key_here

Query Parameters

Parameter
Type
Required
Description

from_date

string

Yes

Start of the date range (ISO 8601 format)

to_date

string

No

End of the date range (ISO 8601 format). Defaults to current time if omitted

model_name

string

No

Filter by model name. If omitted, signals from all models are returned


Example Request

curl -X GET "https://enterprise.guardis.io/v1/signals?from_date=2025-12-01T00:00:00Z&to_date=2025-12-07T23:59:59Z&model_name=influx_high_on_dip" \
  -H "X-API-Key: your_api_key_here"

Response Format

{
  "from_date": "2025-12-01T00:00:00Z",
  "to_date": "2025-12-07T23:59:59Z",
  "model_name": "influx_high_on_dip",
  "count": 284,
  "signals": [
    {
      "row_id": 284,
      "token_address": "5GTRGGnmbMCjCUnc3xMweCgVqDEtSDxTdvVdwutcpump",
      "pair_address": "GRQB4P9MmorUwut8kb43RyHKJWo3Ce1EAvENPmNUbAhN",
      "image": "https://static.guardis.dev/5GTRGGnmbMCjCUnc3xMweCgVqDEtSDxTdvVdwutcpump.png",
      "name": "predictionXBT",
      "symbol": "PREDICT",
      "signal_market_cap": "27257.412229931748286176100000",
      "liquidity_usd": "17477.80574674832758436675120",
      "ath_market_cap_usd": "73825.3034958005000000000",
      "roi_percentage": "170.84487284795104068293606087",
      "max_drawdown_percentage": "1.391816058888317383346729900",
      "max_drawdown_market_cap": "26878.03918927817000000000",
      "version": 2,
      "model_name": "influx_high_on_dip",
      "created_at": "2025-12-07T07:11:03"
    },
    {
      "row_id": 283,
      "token_address": "9XyBv7eTpLzK8mQwCjR4nHfYsA2vPdWuJkN3gMxFpump",
      "pair_address": "HkL9mNoPqRsTuVwXyZ1aBcDeFgHiJkLmNoPqRsTuVw",
      "image": "https://static.guardis.dev/9XyBv7eTpLzK8mQwCjR4nHfYsA2vPdWuJkN3gMxFpump.png",
      "name": "AlphaToken",
      "symbol": "ALPHA",
      "signal_market_cap": "45892.847291635000000000000000",
      "liquidity_usd": "28472.91847293650000000000000",
      "ath_market_cap_usd": "142847.2918473650000000000",
      "roi_percentage": "211.29847293650000000000000000",
      "max_drawdown_percentage": "8.472918473650000000000000000",
      "max_drawdown_market_cap": "42003.847291847000000000",
      "version": 2,
      "model_name": "influx_high_on_dip",
      "created_at": "2025-12-07T06:45:22"
    }
  ]
}

Field Reference

Response Wrapper

Field
Type
Description

from_date

string

Start of the requested date range

to_date

string

End of the requested date range

model_name

string | null

Model filter applied, or null if all models

count

integer

Total number of signals returned

signals

array

Array of signal objects ordered by creation time (newest first)

Signal

Field
Type
Description

row_id

integer

Unique identifier for this signal

token_address

string

The mint address of the token

pair_address

string

The on-chain address of the liquidity pool

image

string

URL to the token image

name

string

Token name

symbol

string

Token ticker symbol

signal_market_cap

string

Market cap at the time of signal generation (USD)

liquidity_usd

string

Pool liquidity at signal time (USD)

ath_market_cap_usd

string

All-time high market cap achieved after signal (USD)

roi_percentage

string

Maximum ROI percentage from signal to ATH

max_drawdown_percentage

string

Maximum drawdown percentage before reaching ATH

max_drawdown_market_cap

string

Market cap at the point of maximum drawdown (USD)

version

integer

Signal model version

model_name

string

Name of the model that generated this signal

created_at

string

ISO 8601 timestamp when the signal was generated

Note: Decimal values are returned as strings to preserve precision.


Example Usage

JavaScript:

const params = new URLSearchParams({
  from_date: "2025-12-01T00:00:00Z",
  to_date: "2025-12-07T23:59:59Z"
});

const response = await fetch(
  `https://enterprise.guardis.io/v1/signals?${params}`,
  {
    headers: {
      "X-API-Key": "your_api_key_here"
    }
  }
);

const data = await response.json();

console.log(`Retrieved ${data.count} signals`);

for (const signal of data.signals) {
  console.log(`${signal.name} (${signal.symbol}): ${parseFloat(signal.roi_percentage).toFixed(2)}% ROI`);
}

// Calculate average ROI
const avgRoi = data.signals.reduce(
  (sum, s) => sum + parseFloat(s.roi_percentage), 0
) / data.signals.length;

console.log(`Average ROI: ${avgRoi.toFixed(2)}%`);

Python:

import requests

response = requests.get(
    "https://enterprise.guardis.io/v1/signals",
    params={
        "from_date": "2025-12-01T00:00:00Z",
        "to_date": "2025-12-07T23:59:59Z",
        "model_name": "influx_high_on_dip"
    },
    headers={"X-API-Key": "your_api_key_here"}
)

data = response.json()

print(f"Retrieved {data['count']} signals")

for signal in data["signals"]:
    roi = float(signal["roi_percentage"])
    print(f"{signal['name']} ({signal['symbol']}): {roi:.2f}% ROI")

# Calculate average ROI
avg_roi = sum(float(s["roi_percentage"]) for s in data["signals"]) / len(data["signals"])
print(f"Average ROI: {avg_roi:.2f}%")

Error Responses

Status Code
Description

400

Missing required parameter or invalid format

401

Missing or invalid API key

422

Invalid date format or date range

500

Internal server error

{
  "code": 400,
  "message": "Missing required parameter: from_date"
}
{
  "code": 422,
  "message": "Invalid date format. Use ISO 8601 format (e.g., 2025-12-01T00:00:00Z)"
}
{
  "code": 422,
  "message": "Invalid model_name. Available models: influx_high_on_dip, smart_money_surge, organic_momentum"
}

Last updated