Returns a paginated list of leads for the project associated with your API key. Supports filtering, searching, and sorting.
Query parameters
Number of leads per page. Min: 1, max: 100.
Filtering
Filter by lead status. Supports comma-separated values for multiple statuses (e.g. open,pending).
Filter by unique identifier (exact match). Returns leads that match the user-provided CRM or external system ID.
Filter by email address (exact match).
Filter by phone number (exact match).
Only return leads created on or after this date (ISO 8601 format).
Only return leads created on or before this date (ISO 8601 format).
Search
Search across first name, last name, email, phone, and company name. Minimum 2 characters.
Sorting
sort
string
default:"createdAt:desc"
Sort field and direction, formatted as field:direction. Allowed fields: createdAt, firstName, lastName, email, price, status. Directions: asc, desc.
Attribution filters
Filter leads that have (true) or don’t have (false) a Google Click ID.
Filter leads that have (true) or don’t have (false) a Client ID.
Filter leads that have (true) or don’t have (false) a Facebook Browser ID.
Filter leads that have (true) or don’t have (false) a Facebook Click ID.
Response
Array of lead objects. See Get Lead for the full lead object shape.
Total number of leads matching the filters.
Number of leads per page.
Whether there are more pages after the current one.
curl -X GET "https://app.leadtrackr.io/api/leads/getLeads?limit=10&page=1&status=open&sort=createdAt:desc" \
-H "X-API-Key: your-api-key-here"
{
"message": "Leads retrieved",
"leads": [
{
"id": 42,
"status": "open",
"formName": "Contact Form",
"firstName": "John",
"lastName": "Doe",
"phone": "+31612345678",
"email": "john@example.com",
"companyName": "Acme Inc.",
"price": null,
"note": null,
"formData": null,
"userData": null,
"attributionData": null,
"channelFlow": null,
"uniqueIdentifier": "crm-lead-456",
"createdAt": "2026-03-15T10:30:00.000Z"
}
],
"total": 1,
"page": 1,
"limit": 10,
"totalPages": 1,
"hasMore": false
}