List leads
Returns a paginated list of leads in the workspace. Supports filtering by search text, tags, and email verification status.
curl -X GET "https://api.sendkit.ai/v1/leads?search=example_string&tags=example_string&emailVerified=true&emailStatus=valid%2Crisky&emailType=all&hasCompany=true&hasPhone=true&segProtected=true&cursor=665d4e5f6a7b8c9d0e1f2a3b&limit=25" \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_API_KEY"
import requests
import json
url = "https://api.sendkit.ai/v1/leads?search=example_string&tags=example_string&emailVerified=true&emailStatus=valid%2Crisky&emailType=all&hasCompany=true&hasPhone=true&segProtected=true&cursor=665d4e5f6a7b8c9d0e1f2a3b&limit=25"
headers = {
"Content-Type": "application/json",
"X-Api-Key": "YOUR_API_KEY"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://api.sendkit.ai/v1/leads?search=example_string&tags=example_string&emailVerified=true&emailStatus=valid%2Crisky&emailType=all&hasCompany=true&hasPhone=true&segProtected=true&cursor=665d4e5f6a7b8c9d0e1f2a3b&limit=25", {
method: "GET",
headers: {
"Content-Type": "application/json",
"X-Api-Key": "YOUR_API_KEY"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.sendkit.ai/v1/leads?search=example_string&tags=example_string&emailVerified=true&emailStatus=valid%2Crisky&emailType=all&hasCompany=true&hasPhone=true&segProtected=true&cursor=665d4e5f6a7b8c9d0e1f2a3b&limit=25", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-Api-Key", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.sendkit.ai/v1/leads?search=example_string&tags=example_string&emailVerified=true&emailStatus=valid%2Crisky&emailType=all&hasCompany=true&hasPhone=true&segProtected=true&cursor=665d4e5f6a7b8c9d0e1f2a3b&limit=25')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['X-Api-Key'] = 'YOUR_API_KEY'
response = http.request(request)
puts response.body
{
"success": true,
"data": [
{
"_id": "665d4e5f6a7b8c9d0e1f2a3b",
"email": "john@acme.com",
"firstName": "John",
"lastName": "Doe",
"companyName": "Acme Corp",
"jobTitle": "VP of Sales",
"tags": [
"vip",
"enterprise"
],
"emailVerified": true,
"emailVerificationResult": "deliverable",
"segProtected": true,
"segProvider": "proofpoint",
"segProviderName": "Proofpoint",
"city": "San Francisco",
"state": "CA",
"country": "US",
"createdAt": "2025-06-10T10:30:00.000Z"
},
{
"_id": "665d4e5f6a7b8c9d0e1f2a3c",
"email": "jane@example.com",
"firstName": "Jane",
"lastName": "Smith",
"companyName": "Example Inc",
"jobTitle": "Marketing Director",
"tags": [],
"emailVerified": false,
"emailVerificationResult": null,
"segProtected": false,
"segProvider": "microsoft_atp",
"segProviderName": "Microsoft",
"city": null,
"state": null,
"country": "US",
"createdAt": "2025-06-12T14:00:00.000Z"
}
],
"pagination": {
"limit": 25,
"total": 2,
"hasMore": false,
"nextCursor": "665d4e5f6a7b8c9d0e1f2a3c"
}
}
/v1/leads
Target server for requests. Edit to use your own host.
Platform API key (sk_user_...) or Workspace API key (sk_...)
Search across email, firstName, lastName, companyName (case-insensitive partial match)
Filter by email verification status
Comma-separated email verification statuses. Filters leads by their email quality. - valid: Verified deliverable emails, safe to send to - invalid: Incorrect or non-existent email addresses - risky: May exist but could bounce or have low reliability - catchAll: Domain accepts all emails, but delivery is uncertain - unknown: Could not be fully verified
Filter by email type. - all: Includes every email regardless of category (default) - personal: Emails from personal providers (e.g., Gmail, Yahoo, Outlook) - business: Emails associated with company domains (e.g., name@company.com)
When "true", returns only leads that have a company name
When "true", returns only leads that have a phone number
Filter by Secure Email Gateway (SEG) protection status. - true: Protected by SEG (strong spam/security filters) - false: No advanced email security detected
Cursor for pagination - use the nextCursor value from the previous response to fetch the next page
Items per page (default 25, max 100)
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. Platform API key (sk_user_...) or Workspace API key (sk_...)
Query Parameters
Search across email, firstName, lastName, companyName (case-insensitive partial match)
Comma-separated email verification statuses. Filters leads by their email quality.
- valid: Verified deliverable emails, safe to send to
- invalid: Incorrect or non-existent email addresses
- risky: May exist but could bounce or have low reliability
- catchAll: Domain accepts all emails, but delivery is uncertain
- unknown: Could not be fully verified
valid,riskyFilter by email type.
- all: Includes every email regardless of category (default)
- personal: Emails from personal providers (e.g., Gmail, Yahoo, Outlook)
- business: Emails associated with company domains (e.g., name@company.com)
allpersonalbusinessFilter by Secure Email Gateway (SEG) protection status.
- true: Protected by SEG (strong spam/security filters)
- false: No advanced email security detected
truefalseCursor for pagination - use the nextCursor value from the previous response to fetch the next page
665d4e5f6a7b8c9d0e1f2a3bItems per page (default 25, max 100)