Advanced lead search
Advanced search with structured filters via POST body. Supports filtering by email, name, company, job title, tags, email verification status, location, and creation date range. Results are paginated.
curl -X POST "https://api.sendkit.ai/v1/leads/search" \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_API_KEY" \
-d '{
"filters": {
"companyName": "Acme",
"tags": [
"enterprise"
],
"emailVerified": true,
"createdAfter": "2025-01-01T00:00:00.000Z"
},
"limit": 50
}'
import requests
import json
url = "https://api.sendkit.ai/v1/leads/search"
headers = {
"Content-Type": "application/json",
"X-Api-Key": "YOUR_API_KEY"
}
data = {
"filters": {
"companyName": "Acme",
"tags": [
"enterprise"
],
"emailVerified": true,
"createdAfter": "2025-01-01T00:00:00.000Z"
},
"limit": 50
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.sendkit.ai/v1/leads/search", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Api-Key": "YOUR_API_KEY"
},
body: JSON.stringify({
"filters": {
"companyName": "Acme",
"tags": [
"enterprise"
],
"emailVerified": true,
"createdAfter": "2025-01-01T00:00:00.000Z"
},
"limit": 50
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"filters": {
"companyName": "Acme",
"tags": [
"enterprise"
],
"emailVerified": true,
"createdAfter": "2025-01-01T00:00:00.000Z"
},
"limit": 50
}`)
req, err := http.NewRequest("POST", "https://api.sendkit.ai/v1/leads/search", bytes.NewBuffer(data))
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')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['X-Api-Key'] = 'YOUR_API_KEY'
request.body = '{
"filters": {
"companyName": "Acme",
"tags": [
"enterprise"
],
"emailVerified": true,
"createdAfter": "2025-01-01T00:00:00.000Z"
},
"limit": 50
}'
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": [
"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"
}
],
"pagination": {
"limit": 50,
"total": 1,
"hasMore": false,
"nextCursor": "665d4e5f6a7b8c9d0e1f2a3b"
}
}
/v1/leads/search
Target server for requests. Edit to use your own host.
Platform API key (sk_user_...) or Workspace API key (sk_...)
The media type of the request body
Search filters (all optional, combined with AND)
Cursor for pagination - use the nextCursor value from the previous response to fetch the next page
Results 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_...)
Body
Search filters (all optional, combined with AND)
Cursor for pagination - use the nextCursor value from the previous response to fetch the next page
Results per page (default 25, max 100)