RESTful API. Bearer token auth. JSON responses. All endpoints return in under 3 seconds.
All requests require a Bearer token in the Authorization header. Generate keys from the API Keys page in your dashboard.
curl https://intentiq.com/api/v1/score \ -G -d domain=stripe.com \ -H "Authorization: Bearer iq_live_sk_••••••••••••••••" # Key format: iq_live_sk_<32 hex chars> # Key scope: read — all GET endpoints # write — GET + bulk + watchlist mutations
Header
Authorization
Scheme
Bearer
Key prefix
iq_live_sk_
Revoke
Dashboard → API Keys
Returns a composite 0–100 intent score for any company domain, with signal breakdown and AI-generated reasoning.
Query Parameters
domainrequired | string | Company domain to score (e.g. stripe.com) |
include_signals | boolean | Include per-signal breakdown in response. Default: true |
include_talk_track | boolean | Include AI-generated talk track. Default: false |
include_email_subject | boolean | Include suggested email subject line. Default: false |
curl https://intentiq.com/api/v1/score \
-G \
-d domain=stripe.com \
-d include_signals=true \
-d include_talk_track=true \
-H "Authorization: Bearer iq_live_sk_••••"
# JavaScript
const res = await fetch(
'/api/v1/score?domain=stripe.com',
{ headers: { Authorization: 'Bearer iq_live_sk_••••' } }
);
const data = await res.json();
# Python
import requests
data = requests.get(
'https://intentiq.com/api/v1/score',
params={'domain': 'stripe.com'},
headers={'Authorization': 'Bearer iq_live_sk_••••'}
).json()Method
GET
Credits
1 per call
Cache
24h TTL
Score
91 / 100
Band
HOT
Latency
~1.2s
Submit up to 1,000 domains at once. Credits are deducted upfront. Results are downloadable as CSV once the job completes.
curl https://intentiq.com/api/v1/score/bulk \ -X POST \ -H "Authorization: Bearer iq_live_sk_••••" \ -F "file=@companies.csv" # CSV format: # company_name,domain # Stripe,stripe.com # Notion,notion.so # Linear,linear.app # Max: 1,000 rows per job # Max concurrent jobs: 3
Poll the poll_url until status: "done", then download the result CSV.
Monitor companies over time. Scores are refreshed periodically. HOT leads (≥75) surface to the top of your dashboard.
curl https://intentiq.com/api/v1/watchlist \
-X POST \
-H "Authorization: Bearer iq_live_sk_••••" \
-H "Content-Type: application/json" \
-d '{
"domain": "stripe.com",
"company_name": "Stripe"
}'curl https://intentiq.com/api/v1/watchlist \ -H "Authorization: Bearer iq_live_sk_••••" # Returns array sorted by score desc # Filter by band: ?band=HOT ?band=WARM
All errors return a JSON body with an error field. HTTP status codes follow REST conventions.
HTTP Status Codes
400 | Bad Request | Missing or invalid domain parameter. |
401 | Unauthorized | Missing, invalid, or revoked API key. |
402 | Payment Required | Insufficient credits. Top up to continue. |
429 | Too Many Requests | Rate limit exceeded (60 req/min). Retry after 1 minute. |
500 | Server Error | Unexpected error. Try again or contact support. |
Limits apply per API key. Bulk jobs count as 1 request against the rate limit regardless of company count.
Score requests
60 / min
Bulk jobs
3 concurrent
Bulk max rows
1,000 / job
Watchlist limit
Plan-dependent
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1741392060