API Reference
The IntelBrief REST API lets you pull competitive signals, weekly digests, and account data into your CRM, automations, or internal dashboards. Available on the Business plan.
Authentication
All API requests require a Bearer token in the Authorization header. Generate your API key in Settings → API.
Authorization: Bearer ibk_your_key_here
403 Forbidden.Keep your key secret — it grants full read/write access to your account data. If compromised, revoke it from Settings and generate a new one.
Base URL
https://intelbrief.xyz/api/v1
All endpoints are HTTPS only. Responses are JSON with Content-Type: application/json.
Errors
| Status | Meaning | |
|---|---|---|
| 400 | Bad request — missing or invalid parameter. Check the error field in the response body. | |
| 401 | Missing or invalid API key. | |
| 403 | API access requires the Business plan. | |
| 404 | Resource not found or does not belong to your account. | |
| 500 | Internal server error. Retry with exponential backoff. | |
Error responses always include an error string:
{ "error": "Account limit (100) reached for your plan" }Accounts
An "account" is any entity you monitor — a competitor, customer, or prospect. Accounts correspond to what the dashboard calls Competitors / Customers / Prospects.
List accounts
Returns all accounts for your workspace, sorted alphabetically by name.
curl https://intelbrief.xyz/api/v1/accounts \ -H "Authorization: Bearer ibk_your_key_here"
[
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Acme Corp",
"domain": "acme.com",
"type": "competitor",
"status": "active",
"createdAt": "2025-01-15T09:00:00.000Z"
}
]Create account
Creates a new monitored account and queues its first scrape jobs using your default source preferences from Settings.
| Field | Description | |
|---|---|---|
| name | required | Company name, up to 200 characters. |
| domain | required | Bare domain without protocol, e.g. acme.com. Must be unique per workspace. |
| type | optional | competitor (default), client, or prospect. |
curl -X POST https://intelbrief.xyz/api/v1/accounts \
-H "Authorization: Bearer ibk_your_key_here" \
-H "Content-Type: application/json" \
-d '{"name":"Acme Corp","domain":"acme.com","type":"competitor"}'{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Acme Corp",
"domain": "acme.com",
"type": "competitor",
"status": "pending",
"createdAt": "2025-06-01T10:00:00.000Z"
}Returns 201 Created on success. Accounts created through the API are picked up by the next weekly scan (Sunday); signals appear in /signals after that scan.
Signals
Signals are individual detected changes — a pricing update, new job posting, product launch, etc. Each signal has an importance level classified by AI: critical, notable, or minor.
List signals
| Param | Description | |
|---|---|---|
| days | optional | Look-back window in days. Default 7, max 90. |
| importance | optional | Comma-separated filter: critical, notable, minor. Default: all three. |
| account_id | optional | UUID of a specific account. Omit to return signals across all accounts. |
| limit | optional | Max signals to return. Default 100, max 500. |
curl "https://intelbrief.xyz/api/v1/signals?days=14&importance=critical,notable&limit=50" \ -H "Authorization: Bearer ibk_your_key_here"
[
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"accountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"changeType": "pricing",
"importance": "critical",
"summary": "Acme Corp removed the free tier from their pricing page",
"detectedAt": "2025-06-10T14:23:00.000Z"
}
]Digests
Weekly AI-edited briefs select the stories worth reading from the previous week's signals across your accounts (under 400 words, never repeating a story already published). Digests are generated every Monday morning (between 4 and 7 AM UTC) and sent to your email.
Get latest digest
Returns the most recently generated digest. Returns 404 if no digests have been generated yet (new accounts wait until the next Monday cron).
curl https://intelbrief.xyz/api/v1/digests/latest \ -H "Authorization: Bearer ibk_your_key_here"
{
"id": "d9e8f7a6-b5c4-3210-fedc-ba9876543210",
"weekOf": "2025-06-09",
"status": "sent",
"createdAt": "2025-06-09T04:00:00.000Z",
"content": {
"headline": "3 critical signals this week",
"sections": [...]
}
}List digests
| Param | Description | |
|---|---|---|
| limit | optional | Number of digests to return. Default 10, max 52 (one year of weeklies). |
curl "https://intelbrief.xyz/api/v1/digests?limit=4" \ -H "Authorization: Bearer ibk_your_key_here"
Returns an array of digest objects in descending order (most recent first), each with the same shape as the /latest response.