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" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"filters": {
"companyName": "Acme",
"tags": [
"enterprise"
],
"emailVerified": true,
"createdAfter": "2025-01-01T00:00:00.000Z"
},
"page": 1,
"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",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"filters": {
"companyName": "Acme",
"tags": [
"enterprise"
],
"emailVerified": true,
"createdAfter": "2025-01-01T00:00:00.000Z"
},
"page": 1,
"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",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"filters": {
"companyName": "Acme",
"tags": [
"enterprise"
],
"emailVerified": true,
"createdAfter": "2025-01-01T00:00:00.000Z"
},
"page": 1,
"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"
},
"page": 1,
"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")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
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['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"filters": {
"companyName": "Acme",
"tags": [
"enterprise"
],
"emailVerified": true,
"createdAfter": "2025-01-01T00:00:00.000Z"
},
"page": 1,
"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,
"city": "San Francisco",
"state": "CA",
"country": "US",
"createdAt": "2025-06-10T10:30:00.000Z"
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 1,
"pages": 1
}
}
/v1/leads/search
Platform API key (sk_user_...) or Workspace API key (sk_...)
The media type of the request body
Search filters (all optional, combined with AND)
Page number (default 1)
Results per page (default 25, max 100)
Cursor for cursor-based pagination
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_...)
Bearer token. API key as Bearer token
Body
Search filters (all optional, combined with AND)
Page number (default 1)
Results per page (default 25, max 100)
Cursor for cursor-based pagination
Responses
Last updated today
Built with Documentation.AI