Filter your leads
Narrow the leads table by period, search, ICP score, traffic source and any field.
Authenticated with ?privateKey=YOUR_KEY (see Authentication).
| GET | /v3/leads | List website leads |
| GET | /admin/location/countries | Get list of all available countries for location filtering |
| GET | /admin/location/states | Get US states for location filtering |
| GET | /admin/location/cities | Search cities for lead filtering and targeting |
GET
Try:
Parameters
Website IdWebsite id (24 hex characters) from list_websites.
Date FromStart of the range, matched on the lead's last visit date (whole day). Accepts YYYY-MM-DD, MM/DD/YYYY, a full ISO 8601 timestamp or epoch milliseconds.
Date ToEnd of the range (inclusive, whole day). Same formats as dateFrom.
PagePage number, 1-based, 50 leads per page. Default 1; pages beyond 100 return page 100.
DomainFree-text search across company name and domain, person names and emails, e.g. "acme.example" or "Jane Smith".
IndustriesOne industry to match (case-insensitive, partial match), e.g. "Software". A single value, not a list.
SectorsOne company sector to match (case-insensitive, partial match).
Visitor LocationVisitor country as a two-letter ISO code, e.g. "US", "GB" (case-insensitive).
Visitor Location StateVisitor state/region, e.g. "California". When set without visitorLocation, results are limited to US visitors.
TagTag name (not id) to filter by, e.g. "HOT"; tag names are stored in upper case and matched case-insensitively. Names come from list_tags.
Visits_lower_boundMinimum number of visits (sessions). Default 0.
Visits_upper_boundMaximum number of visits (sessions). Leave it out to include every lead, however many visits.
Employees MinSmallest company headcount to include, e.g. 10.
Employees MaxLargest company headcount to include, e.g. 200.
TechTechnology the company uses, case-insensitive partial match, e.g. "HubSpot", or a JSON array string of several: '["HubSpot","Shopify"]'.
Exact Visitortrue to list only leads where the exact person was identified (name and contact details), false for all leads. Leave it out for all leads.
Utm SourceJSON array string of [operator, value] pairs, e.g. '[["contains","google"]]'. Operators: contains, not-contains, starts-with, ends-with. A plain string (not JSON) makes the call fail.
Utm MediumJSON array string of [operator, value] pairs, e.g. '[["contains","cpc"]]'. Same operators as utmSource.
Page VisitedJSON array string of [operator, value] pairs matched against visited page paths, e.g. '[["contains","pricing"]]' or '[["not-contains","careers"]]'. Operators: contains, not-contains, starts-with (value without the leading slash), ends-with. A plain string makes the call fail.
curl -X GET "https://rest-admin.happierleads.com/v3/leads?privateKey=YOUR_KEY&websiteId=64b7f0a1c2d3e4f5a6b7c8d9&dateFrom=2026-10-01&dateTo=2026-10-30&visitorLocation=Germany&employeesMin=50&exactVisitor=true&page=1"Response
Press Send request to try it with sample data.
Use case: Decision makers from Germany
visitorLocation=Germany, employeesMin=50 and exactVisitor=true over the month: people at mid-size German companies, not just their company.
Use case: Who came from your Google Ads
utmSource=google (and utmMedium=cpc) with the period you want.
Use case: Who looked at pricing
pageVisited=/pricing. Combine with visits_lower_bound=2 for people who came back.