List websites
curl --request GET \
--url https://intentleads.si/api/v1/sites \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://intentleads.si/api/v1/sites', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/sites"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"sites": [
{
"code": "V1",
"kind": "visitors",
"name": "Main site",
"domain": "example.com",
"status": "active",
"monthly_cap": 500,
"identified_this_period": 137,
"period": {
"start": "2026-11-09",
"end": "2026-12-09"
},
"install_snippet": "<script src=\"https://…/p.js\" async></script>",
"setup_error": null,
"note": "Identified visitors arrive as leads on this site's lane (GET /api/v1/leads?lane=V1&since=last). Each person is charged once per billing month on the intent meter of your balance, up to monthly_cap."
}
]
}{
"error": "unauthorized",
"message": "Send a valid API key as: Authorization: Bearer il_live_…"
}{
"error": "internal_error",
"message": "Something went wrong. Try again."
}List websites
Websites: the people we identify among a site’s US visitors arrive as leads. Each is charged once per billing month at intent prices, from your balance, up to monthly_cap.
Free. This doesn’t spend your balance.
GET
/
api
/
v1
/
sites
List websites
curl --request GET \
--url https://intentleads.si/api/v1/sites \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://intentleads.si/api/v1/sites', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/sites"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"sites": [
{
"code": "V1",
"kind": "visitors",
"name": "Main site",
"domain": "example.com",
"status": "active",
"monthly_cap": 500,
"identified_this_period": 137,
"period": {
"start": "2026-11-09",
"end": "2026-12-09"
},
"install_snippet": "<script src=\"https://…/p.js\" async></script>",
"setup_error": null,
"note": "Identified visitors arrive as leads on this site's lane (GET /api/v1/leads?lane=V1&since=last). Each person is charged once per billing month on the intent meter of your balance, up to monthly_cap."
}
]
}{
"error": "unauthorized",
"message": "Send a valid API key as: Authorization: Bearer il_live_…"
}{
"error": "internal_error",
"message": "Something went wrong. Try again."
}Authorizations
Headers
Only with an organization key: the workspace to act in (its id; ?workspace=<id> works too). Lanes, leads, exports, lists, websites and webhooks live in workspaces. Without it, an organization key acts in its only workspace, or gets 400 workspace_required (with the list of workspaces) when it has several. Workspace keys don't need it. On keys, team and activity it switches from the organization's own to that workspace's.