---
title: "Get Copy Signals"
method: GET
path: "/api/v1/hyperliquid/copy-signals"
tags: ["Hyperliquid Traders"]
---

# Get Copy Signals

`GET /api/v1/hyperliquid/copy-signals`

## Request

- Base URL: `https://cryptodataapi.com`
- URL: `https://cryptodataapi.com/api/v1/hyperliquid/copy-signals`
- Auth: API key in header `X-API-Key`

Top traders with their recent signals in a single response.

Replaces the 3-step workflow (top-traders → watchlist → signals) with one call.
Only returns traders that have signals in the given time window.

Profile filters (min_win_rate, min_profit_factor, min_trades_30d,
min_avg_duration_hours, exclude_types) are optional and only applied when
passed — preserves backward compatibility. Recommended: pass
min_trades_30d=30 to drop tiny-sample wallets.

## Query parameters

- `min_score` integer: Minimum trader score
- `minutes` integer: Signal look-back window in minutes
- `min_win_rate` number, nullable: Minimum 30d win rate (0-1)
- `min_profit_factor` number, nullable: Minimum profit factor
- `min_trades_30d` integer, nullable: Minimum trades in 30d. Pass 30+ to filter tiny-sample wallets (e.g. '100% WR over 2 trades'). Not auto-defaulted here for backward compatibility.
- `min_avg_duration_hours` number, nullable: Min avg trade duration (hours)
- `exclude_types` string, nullable: Comma-separated trader types to exclude, e.g. 'hft,scalper'

## Response `200`

Successful Response

- HLCopySignalsResponse: Top traders with their recent signals in a single response.
  - `traders` object[], required
  - `window_minutes` integer, required
  - `updated_at` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/cryptodataapi/apis/crypto-data-api.md) · [All operations](https://skmtc.dev/cryptodataapi/apis/crypto-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cryptodataapi/apis/crypto-data-api/revisions/8628b754ca81?raw)
