List lanes
curl --request GET \
--url https://intentleads.si/api/v1/lanes \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://intentleads.si/api/v1/lanes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/lanes"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"lanes": [
{
"code": "L1",
"name": "Medical device distributors",
"priority": 1,
"min_strength": "medium",
"company_list_mode": "off",
"keywords_live": 8,
"keywords_pending": 2,
"researching_latest_day": {
"all": 1840,
"medium_plus": 620,
"high": 95,
"as_of": "2026-10-13",
"deliverable": false,
"note": "Quick topic signal from a separate preview index for one day, before any filter. Not people you could receive; use after_filters for that."
},
"researching_14d": {
"all": 21450,
"medium_plus": 7310,
"data_window": {
"start": "2026-09-30",
"end": "2026-10-13"
}
},
"after_filters": {
"all": 1265,
"medium_plus": 412,
"at_lane_strength": 412,
"filters_used": "industries",
"data_window": {
"start": "2026-09-30",
"end": "2026-10-13"
},
"checked_at": "2026-10-14T06:12:41.528311+00:00"
}
}
]
}{
"error": "unauthorized",
"message": "Send a valid API key as: Authorization: Bearer il_live_…"
}{
"error": "internal_error",
"message": "Something went wrong. Try again."
}List lanes
Your lanes in priority order, with keyword counts and three kinds of numbers:
researching_latest_day: a quick one-day topic signal before any filter. Not people you could export.researching_14d: people researching the lane’s keywords over the 14-daydata_window, before filters, from the latest check.after_filters: people who pass every filter over the same window, from the latest check. Everyone already exported to you this billing period was left out when the check ran.at_lane_strengthis the number at the lane’smin_strength; this is what an export draws from.
researching_14d and after_filters are null until a lane’s first check finishes. For the live number an export could take now, use a dry run of POST /api/v1/exports.
Free. This doesn’t use any contacts from your plan.
GET
/
api
/
v1
/
lanes
List lanes
curl --request GET \
--url https://intentleads.si/api/v1/lanes \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://intentleads.si/api/v1/lanes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/lanes"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"lanes": [
{
"code": "L1",
"name": "Medical device distributors",
"priority": 1,
"min_strength": "medium",
"company_list_mode": "off",
"keywords_live": 8,
"keywords_pending": 2,
"researching_latest_day": {
"all": 1840,
"medium_plus": 620,
"high": 95,
"as_of": "2026-10-13",
"deliverable": false,
"note": "Quick topic signal from a separate preview index for one day, before any filter. Not people you could receive; use after_filters for that."
},
"researching_14d": {
"all": 21450,
"medium_plus": 7310,
"data_window": {
"start": "2026-09-30",
"end": "2026-10-13"
}
},
"after_filters": {
"all": 1265,
"medium_plus": 412,
"at_lane_strength": 412,
"filters_used": "industries",
"data_window": {
"start": "2026-09-30",
"end": "2026-10-13"
},
"checked_at": "2026-10-14T06:12:41.528311+00:00"
}
}
]
}{
"error": "unauthorized",
"message": "Send a valid API key as: Authorization: Bearer il_live_…"
}{
"error": "internal_error",
"message": "Something went wrong. Try again."
}