Custom Webhook API
Send trading signals from any source using Algrow's webhook endpoint.
Endpoint
POST https://api.algrow.biz/api/signals/webhook?token=YOUR_TOKENYour unique webhook token can be found in the Signals page of your Algrow dashboard.
Authentication
Signals are authenticated via the token query parameter. Each account has a unique token. You can regenerate it from Settings if compromised.
Keep your webhook token secret. Anyone with the token can send signals to your account.
Request Format
Send a POST request with a JSON body:
{
"symbol": "NIFTY",
"action": "buy",
"quantity": 50,
"price": 24500.50,
"order_type": "market",
"strategy_id": "optional-uuid"
}Fields
| Field | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Trading symbol (e.g., NIFTY, RELIANCE) |
action | string | Yes | "buy" or "sell" |
quantity | number | Yes | Number of shares/lots |
price | number | No | Limit price (0 or omit for market) |
order_type | string | No | "market", "limit", "stop" (default: market) |
strategy_id | string | No | Link signal to a specific strategy |
Response
Success (200)
{
"status": "received",
"signal_id": "sig_abc123",
"message": "Signal received and queued for processing"
}Error (400/401)
{
"error": "Invalid token",
"message": "The webhook token is invalid or expired"
}Examples
cURL
curl -X POST \
"https://api.algrow.biz/api/signals/webhook?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"symbol":"NIFTY","action":"buy","quantity":50}'Python
import requests
url = "https://api.algrow.biz/api/signals/webhook"
params = {"token": "YOUR_TOKEN"}
payload = {
"symbol": "NIFTY",
"action": "buy",
"quantity": 50,
"order_type": "market"
}
response = requests.post(url, params=params, json=payload)
print(response.json())Node.js
const response = await fetch(
"https://api.algrow.biz/api/signals/webhook?token=YOUR_TOKEN",
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
symbol: "NIFTY",
action: "buy",
quantity: 50,
}),
}
);
const data = await response.json();
console.log(data);