Skip to main content

Search leads

Search for people who match one or more Lead Finder criteria. This endpoint returns a compact result set intended for discovery, filtering, and selecting leads for further enrichment.

Use the returned lead uid and other lead details when queueing a lead for enrichment with the queue lead enrichments endpoint.

Request

Each request must include a non-empty search_criteria array. Every criterion contains a name, a value, and an operator, where INCLUDE narrows the search to matching values and EXCLUDE removes matching values from the result set.

To match multiple values for the same criterion, add multiple search_criteria objects with the same name. Build requests from the current search criteria catalog. For enumerated criteria such as COUNTRY or INDUSTRY, fetch current allowed values from search criteria values before building the request. Criteria and allowed values can change over time, so do not hardcode the example values from this page.

Credit usage

This call can use account credits. Searching for leads and viewing returned lead data costs 1 credit per lead.

Endpoint

POST https://api.woodpecker.co/rest/v2/lead_finder/leads

Headers

x-api-key: {YOUR_API_KEY}
Content-Type: application/json

For details on how to authenticate your requests, please see the authentication guide.

Body

{
"search_criteria": [
{
"name": "INDUSTRY",
"value": "banking",
"operator": "INCLUDE"
},
{
"name": "CURRENT_JOB_TITLE",
"value": "ceo",
"operator": "INCLUDE"
},
{
"name": "COUNTRY",
"value": "poland",
"operator": "EXCLUDE"
}
],
"size": 2,
"next_page": null
}

Body schema

FieldTypeRequiredDescription
search_criteriaarray[object]YesNon-empty list of filters to apply
  └─ namestringYesCriterion name from the search criteria catalog. Case-sensitive.
  └─ valuestringYesCriterion value. For enumerated criteria (case-sensitive), fetch allowed values from search criteria values.
  └─ operatorstringYesFilter behavior: INCLUDE keeps matches, EXCLUDE removes matches
sizeintegerNoNumber of leads to return. Default: 1. Maximum: 50 for PREMIUM accounts and 25 for TRIAL accounts
next_pagestringNoPagination token returned by a previous search response. Available only for PREMIUM accounts

Request samples

Search for leads with inclusion and exclusion filters

curl --request POST \
--url "https://api.woodpecker.co/rest/v2/lead_finder/leads" \
--header "x-api-key: {YOUR_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"search_criteria": [
{
"name": "INDUSTRY",
"value": "banking",
"operator": "INCLUDE"
},
{
"name": "COUNTRY",
"value": "poland",
"operator": "EXCLUDE"
},
{
"name": "CURRENT_JOB_TITLE",
"value": "ceo",
"operator": "INCLUDE"
}
],
"size": 2,
"next_page": null
}'

Response

Response examples

Preview of the leads matching the search criteria

{
"size": 2,
"leads": [
{
"uid": "0SVOUN5zYlkzJ5fMrBxUdiQ_0000",
"full_name": "Erlich Bachman",
"first_name": "Erlich",
"last_name": "Bachman",
"gender": "Male",
"linkedin_url": "linkedin.com/in/erlich-bachman-404xyz",
"company_name": "Bachmanity",
"company_website": "bachmanity.com",
"industry": "Software as a Service",
"job_title": "Ceo",
"job_title_role": "Operations",
"job_title_levels": [
"Cxo"
],
"location_name": "Palo Alto, California, United States",
"city": "Palo Alto",
"state": "California",
"country": "United States"
},
{
"uid": "4fl-ZIc98WqIFbOFgcRzkw_0000",
"full_name": "Jared Dunn",
"first_name": "Jared",
"last_name": "Dunn",
"gender": null,
"linkedin_url": null,
"company_name": "Pied Piper",
"company_website": "piedpiper.com",
"industry": "Software as a Service",
"job_title": "Ceo",
"job_title_role": null,
"job_title_levels": [],
"location_name": "Palo Alto, California, United States",
"city": "Palo Alto",
"state": null,
"country": "United States"
}
],
"total_found": 28639,
"next_page": "206$8.458225"
}

Profile fields depend on data availability. When a scalar profile value is not available, it is returned as null. When an array profile value is not available, it is returned as an empty array.

Body schema

FieldTypeDescription
sizeintegerNumber of leads requested in this page
leadsarray[object]Lead search result items
  └─ uidstringLead identifier
  └─ full_namestring/nullFull name of the lead
  └─ first_namestring/nullFirst name
  └─ last_namestring/nullLast name
  └─ genderstring/nullGender
  └─ linkedin_urlstring/nullLinkedIn profile URL without a http prefix
  └─ company_namestring/nullCurrent company name
  └─ company_websitestring/nullCurrent company website
  └─ industrystring/nullCurrent industry
  └─ job_titlestring/nullCurrent job title
  └─ job_title_rolestring/nullJob title role when available
  └─ job_title_levelsarray[string]Job seniority levels. Empty when not available
  └─ location_namestring/nullFull human-readable location
  └─ citystring/nullCity
  └─ statestring/nullState or region
  └─ countrystring/nullCountry
total_foundintegerTotal number of matches available for the current search
next_pagestringPagination cursor. Use to request the next page of results

Pagination

This endpoint uses cursor-based pagination. The response includes a next_page token when another page is available. Store the token and resend it exactly as returned in the next request body.

Fetching additional pages is available only for PREMIUM accounts. TRIAL accounts can retrieve only the first page of results. Requests for additional pages from TRIAL accounts return 400 Bad Request.

Request first page:

curl --request POST \
--url "https://api.woodpecker.co/rest/v2/lead_finder/leads" \
--header "x-api-key: {YOUR_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"search_criteria": [
{
"name": "INDUSTRY",
"value": "banking",
"operator": "INCLUDE"
}
],
"size": 2
}'

Example response excerpt:

{
"size": 2,
"leads": [
{
"uid": "0SVOUNZGlkzJ5fMrBxUdiQ_0000",
"full_name": "Erlich Bachman"
}
],
"total_found": 28639,
"next_page": "206$8.458299"
}

Request the next page:

curl --request POST \
--url "https://api.woodpecker.co/rest/v2/lead_finder/leads" \
--header "x-api-key: {YOUR_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"search_criteria": [
{
"name": "INDUSTRY",
"value": "banking",
"operator": "INCLUDE"
}
],
"size": 2,
"next_page": "206$8.458299"
}'