API Reference

Pull competitive signals into your own tools, dashboards, or workflows.

Authentication

All API endpoints require an API key. Generate one in Dashboard → Settings → API Access.

Pass your key as a query parameter or request header:

# Query parameter
curl https://www.argusintel.net/api/signals?api_key=argus_your_key_here

# Header (preferred for production)
curl https://www.argusintel.net/api/signals \
  -H "X-Argus-Key: argus_your_key_here"
Note: API keys start with argus_ followed by 48 hex characters. Keep your key secret — it's also used as the HMAC secret for webhook signatures.

Base URL

https://www.argusintel.net

All endpoints return JSON unless otherwise noted.

List signals All plans

GET/api/signals
Returns an array of signals for companies in your account, sorted newest first.
ParameterTypeDescription
api_keystringYour API key (or use X-Argus-Key header)
company_idintegerFilter to a specific company
sourcestringFilter by source: github, jobs, news, website, patents, sec, reviews
min_importanceintegerMinimum importance score (1–5). Default: 1
since_hoursintegerOnly signals from the last N hours. E.g. 24, 168
starred0 or 1Set to 1 to return only starred signals
qstringFull-text search across title, summary, and company name
limitintegerMax results. Default: 100, max: 200
# Get high-importance signals from the last 24 hours
curl "https://www.argusintel.net/api/signals?api_key=argus_...&min_importance=4&since_hours=24"

# Response
[
  {
    "id": 42,
    "company_name": "Notion",
    "source": "jobs",
    "signal_type": "hiring_spike",
    "title": "Hiring spike in ML_AI: 8 of 34 roles (24%)",
    "summary": "Notion is aggressively scaling AI infrastructure...",
    "importance": 5,
    "url": "https://notion.so/careers",
    "ts_utc": "2026-03-06T14:22:31",
    "starred": 0,
    "note": ""
  }
]

RSS feed Pro

GET/api/signals/rss
Returns an RSS 2.0 feed of your signals. Plug directly into Slack, Feedly, Zapier, or any RSS reader.
ParameterTypeDescription
api_keystringYour API key
min_importanceintegerMinimum importance. Default: 3
company_idintegerFilter to one company
# Use in Slack's /feed command or Zapier RSS trigger
https://www.argusintel.net/api/signals/rss?api_key=argus_...&min_importance=4

CSV export All plans

GET/api/signals/export
Download all signals as a CSV file. Supports the same filters as the list endpoint.
ParameterTypeDescription
api_keystringYour API key
min_importanceintegerMinimum importance score
sourcestringFilter by source
since_hoursintegerLimit to last N hours
# Download all signals from the last 7 days as CSV
curl "https://www.argusintel.net/api/signals/export?api_key=argus_...&since_hours=168" \
  -o signals.csv

Star and annotate signals All plans

PATCH/api/signals/{id}
Star or unstar a signal, or add a private note. Requires session auth (not API key).
FieldTypeDescription
starredbooleanStar or unstar the signal
notestringPrivate annotation, max 500 chars
curl -X PATCH https://www.argusintel.net/api/signals/42 \
  -H "Content-Type: application/json" \
  -H "Cookie: argus_session=YOUR_SESSION" \
  -d '{"starred": true, "note": "Share with CEO"}'

Webhook setup Pro

Argus can POST high-importance signals to your endpoint in real time as they're discovered. Set your webhook URL in Dashboard → Settings → Alert Preferences → Outgoing webhook URL.

Webhooks fire when a new signal meets or exceeds your configured minimum importance threshold.

Payload format

// POST to your webhook URL
{
  "company": "Notion",
  "signals": [
    {
      "title": "Hiring spike in ML_AI: 8 of 34 roles (24%)",
      "summary": "Notion is aggressively scaling AI infrastructure...",
      "source": "jobs",
      "importance": 5,
      "url": "https://notion.so/careers"
    }
  ]
}

Verifying signatures

Every webhook request includes an X-Argus-Signature header. The value is sha256=<hex_digest> where the digest is an HMAC-SHA256 of the raw request body using your API key as the secret.

Always verify signatures before processing webhook payloads to ensure requests come from Argus.

Python

import hmac, hashlib

def verify_signature(body: bytes, signature: str, api_key: str) -> bool:
    expected = hmac.new(
        api_key.encode(),
        body,
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(f"sha256={expected}", signature)

# In your Flask/FastAPI handler:
body = await request.body()
sig  = request.headers.get("X-Argus-Signature", "")
if not verify_signature(body, sig, "argus_your_key_here"):
    return Response(status_code=401)

Node.js

const crypto = require('crypto');

function verifySignature(body, signature, apiKey) {
  const expected = crypto
    .createHmac('sha256', apiKey)
    .update(body)
    .digest('hex');
  return signature === `sha256=${expected}`;
}

// Express handler:
app.post('/webhook', express.raw({type: 'application/json'}), (req, res) => {
  if (!verifySignature(req.body, req.headers['x-argus-signature'], process.env.ARGUS_API_KEY)) {
    return res.status(401).send('Invalid signature');
  }
  const payload = JSON.parse(req.body);
  // ... process payload
  res.json({ok: true});
});

Signal object

FieldTypeDescription
idintegerUnique signal ID
company_namestringCompany this signal belongs to
sourcestringgithub · jobs · news · website · patents · sec · reviews · producthunt
signal_typestringFine-grained type, e.g. hiring_spike, new_repo, price_change
titlestringShort headline describing the signal
summarystringAI-generated one-sentence strategic interpretation
contentstringRaw extracted content (may be empty)
importanceinteger 1–5AI-scored importance: 1=noise, 3=notable, 5=critical
urlstringSource URL (may be empty)
ts_utcstringISO 8601 timestamp in UTC
starredinteger 0/1Whether you've starred this signal
notestringYour private annotation

Importance scale

ScoreLabelExamples
5CriticalFunding round, acquisition, CEO hire, product launch
4HighMajor hiring spike, pricing change, new patent cluster
3NotableNew GitHub repo, moderate news coverage, SEC filing
2LowMinor job postings, review activity, small commits
1NoiseRoutine activity with no strategic signal

Errors

CodeMeaning
401Missing or invalid API key / session
402Trial expired — upgrade your plan
403Forbidden — plan limit reached or not your resource
404Resource not found
429Rate limited — wait before retrying
argusintel.net Dashboard hello@argusintel.net © 2026 ArgusIntel.net