curl --request GET \
--url https://intentleads.si/api/v1/lanes/{code}/sample \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://intentleads.si/api/v1/lanes/{code}/sample', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/lanes/{code}/sample"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"lane": "L1",
"status": "ready",
"checked_at": "2026-10-14T06:12:41.528311+00:00",
"data_window": {
"start": "2026-09-30",
"end": "2026-10-13"
},
"min_strength": "medium",
"filters_used": "industries",
"sample_strength": "medium_plus",
"below_lane_strength": false,
"after_filters": {
"all": 1265,
"medium_plus": 412,
"high": null
},
"rows": [
{
"job_title": "vp of sales",
"seniority": "vp",
"company": "acme medical supply",
"industry": "medical equipment manufacturing",
"employees": 140,
"city": "minneapolis",
"state": "mn",
"keyword_matched": "selling to group purchasing organizations",
"intent_strength": "high",
"intent_score": 81,
"last_active": "2026-10-12",
"has_business_email": true,
"has_phone": true,
"has_linkedin": true
}
]
}{
"error": "unauthorized",
"message": "Send a valid API key as: Authorization: Bearer il_live_…"
}{
"error": "lane_not_found",
"message": "No lane L9."
}{
"error": "internal_error",
"message": "Something went wrong. Try again."
}Get a lane's sample
Up to 25 example people from the lane’s latest checks: role, company and intent fields, plus whether an email, phone and LinkedIn are on file. No names or contact details.
Rows are at the lane’s own strength. If nobody passes at that strength yet, rows at any strength are shown with below_lane_strength: true. Samples come from checks; queue a fresh one with POST /api/v1/lanes/{code}/checks. Values are as stored, so text is often lowercase.
Free. This doesn’t use any contacts from your plan.
curl --request GET \
--url https://intentleads.si/api/v1/lanes/{code}/sample \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://intentleads.si/api/v1/lanes/{code}/sample', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/lanes/{code}/sample"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"lane": "L1",
"status": "ready",
"checked_at": "2026-10-14T06:12:41.528311+00:00",
"data_window": {
"start": "2026-09-30",
"end": "2026-10-13"
},
"min_strength": "medium",
"filters_used": "industries",
"sample_strength": "medium_plus",
"below_lane_strength": false,
"after_filters": {
"all": 1265,
"medium_plus": 412,
"high": null
},
"rows": [
{
"job_title": "vp of sales",
"seniority": "vp",
"company": "acme medical supply",
"industry": "medical equipment manufacturing",
"employees": 140,
"city": "minneapolis",
"state": "mn",
"keyword_matched": "selling to group purchasing organizations",
"intent_strength": "high",
"intent_score": 81,
"last_active": "2026-10-12",
"has_business_email": true,
"has_phone": true,
"has_linkedin": true
}
]
}{
"error": "unauthorized",
"message": "Send a valid API key as: Authorization: Bearer il_live_…"
}{
"error": "lane_not_found",
"message": "No lane L9."
}{
"error": "internal_error",
"message": "Something went wrong. Try again."
}Authorizations
An Intent Leads API key, e.g. il_live_ followed by 32 letters and digits. Create one on the API and CLI page of the dashboard.
Path Parameters
Lane code, e.g. L1. Case-insensitive.
Response
The sample.
ready: rows from the latest checks. ready_check_in_progress: rows shown, a newer check is running. checking: a check is running and there are no rows yet. none: no rows (no check yet, or nobody matched).
ready, ready_check_in_progress, checking, none The 14-day data window a count covers. It can be shorter when fewer consecutive data days are ready.
Show child attributes
Show child attributes
{ "start": "2026-09-30", "end": "2026-10-13" }
The lane strength the check used, as a count band: all (lane min_strength low), medium (medium and high) or high.
all, medium, high, null Which filters the lane's headline count uses: its industries, your company list (company_list_mode replace), or both (narrow).
industries, company_list, industries_and_company_list Strength of the rows shown.
all, medium_plus, high, null True when nobody passes at the lane's strength yet, so the rows are at any strength.
Show child attributes
Show child attributes
Up to 25 rows.
25Show child attributes
Show child attributes
Present only when below_lane_strength is true.