curl --request GET \
--url https://api.superx.so/v1/signals/agents \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.superx.so/v1/signals/agents"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.superx.so/v1/signals/agents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.superx.so/v1/signals/agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.superx.so/v1/signals/agents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.superx.so/v1/signals/agents")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.superx.so/v1/signals/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 3,
"name": "Founder prospects",
"status": "active",
"status_detail": null,
"icp_description": "Early-stage SaaS founders posting about growth",
"precision_mode": "high",
"destination_list_id": "contact:V1StGXR8_Z5jdHi6B-myT",
"created_at": "2026-06-20T09:00:00.000Z",
"updated_at": "2026-07-01T18:30:00.000Z",
"deposited_count": 42,
"last_checked": "2026-07-08T06:15:00.000Z",
"signals": [
{
"id": 7,
"type": "profile_watch",
"handle": "naval",
"name": "Naval",
"avatar": "https://pbs.twimg.com/profile_images/...",
"query": null,
"list_name": null,
"status": "active",
"status_detail": null,
"last_run_at": "2026-07-08T06:15:00.000Z",
"created_at": "2026-06-20T09:00:00.000Z"
}
]
}
]
}{
"error": {
"code": "invalid_api_key",
"message": "Unknown or revoked API key"
}
}{
"error": "subscription_required: The SuperX API requires an active subscription"
}{
"error": {
"code": "account_not_found",
"message": "No account with that id belongs to this key"
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded for the Pro plan (30 requests/min). Upgrade for higher limits.",
"retry_after": 42
}
}{
"error": {
"code": "internal_error",
"message": "Failed to fetch posts"
}
}{
"error": {
"code": "accounts_unavailable",
"message": "Account information is temporarily unavailable. Try again shortly."
}
}List signal agents
The account’s signal agents: the automated lead finders from the
SuperX app. Each agent watches one or more signals (profiles,
followers, keywords, or lists) and scores the people it finds
against its ideal customer profile. Agents can be created, paused,
resumed, and deleted through the API; name, ICP, precision, and
destination edits happen in the SuperX app. destination_list_id
joins to GET /v1/contact-lists for the target list’s name. Not
paginated (agent counts are capped per account).
curl --request GET \
--url https://api.superx.so/v1/signals/agents \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.superx.so/v1/signals/agents"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.superx.so/v1/signals/agents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.superx.so/v1/signals/agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.superx.so/v1/signals/agents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.superx.so/v1/signals/agents")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.superx.so/v1/signals/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 3,
"name": "Founder prospects",
"status": "active",
"status_detail": null,
"icp_description": "Early-stage SaaS founders posting about growth",
"precision_mode": "high",
"destination_list_id": "contact:V1StGXR8_Z5jdHi6B-myT",
"created_at": "2026-06-20T09:00:00.000Z",
"updated_at": "2026-07-01T18:30:00.000Z",
"deposited_count": 42,
"last_checked": "2026-07-08T06:15:00.000Z",
"signals": [
{
"id": 7,
"type": "profile_watch",
"handle": "naval",
"name": "Naval",
"avatar": "https://pbs.twimg.com/profile_images/...",
"query": null,
"list_name": null,
"status": "active",
"status_detail": null,
"last_run_at": "2026-07-08T06:15:00.000Z",
"created_at": "2026-06-20T09:00:00.000Z"
}
]
}
]
}{
"error": {
"code": "invalid_api_key",
"message": "Unknown or revoked API key"
}
}{
"error": "subscription_required: The SuperX API requires an active subscription"
}{
"error": {
"code": "account_not_found",
"message": "No account with that id belongs to this key"
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded for the Pro plan (30 requests/min). Upgrade for higher limits.",
"retry_after": 42
}
}{
"error": {
"code": "internal_error",
"message": "Failed to fetch posts"
}
}{
"error": {
"code": "accounts_unavailable",
"message": "Account information is temporarily unavailable. Try again shortly."
}
}Authorizations
A SuperX API key ("sxk_..."), created in the SuperX app under Account > API / MCP / CLI. Keys are server-side secrets.
Query Parameters
Account to act on, from GET /v1/accounts. Defaults to your main account. An id outside your accounts returns 404 account_not_found.
Response
The account's signal agents.
Show child attributes
Show child attributes