POST/v2/campaigns/lead-finder/search

Search people

Searches a licensed people database by job title, seniority, company, location, and more. Returns masked email/mobile — use Reveal a field to unmask one for a specific person.

Stablescope: write API KeyLearn about API scopes →

Costs 1 credit per page, refunded on zero results

Charged up front; if the page comes back empty, the credit is refunded automatically. A cached identical search (same filters + page, within 24h) doesn't re-spend against Stynar's own monthly provider budget, but still charges your account the same way.

At least one filter is required

An empty-filter "browse everyone" search isn't supported — provide domain, companyName, jobTitle, seniority, personLocation, industry, headcountRange, companyLocation, technology, or one of the other filter fields.

Request

AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

Parameters

FieldTypeRequiredDescription
domainstringOptionalCompany domain, e.g. "acme.com".
companyNamestringOptionalCompany name (fuzzy-matched by the provider).
jobTitlestringOptionalCurrent job title.
senioritystring[]OptionalUp to 20 seniority values, e.g. ["director", "vp"].
departmentstring[]OptionalUp to 20 department values.
personLocationstring[]OptionalUp to 20 location values (city/state/country).
industrystring[]OptionalUp to 20 industry values.
headcountRangestring[]OptionalUp to 20 company-size bucket values.
companyLocationstring[]OptionalUp to 20 company HQ location values.
technologystring[]OptionalUp to 20 technologies the company uses.
minYearsExperience / maxYearsExperiencenumberOptional0–60.
pagenumberOptional1–1000. Defaults to 1.
…—OptionalPlus minRevenue/maxRevenue, fundingStages, jobChangeRecent, hiringForTitles, minJobPostings/maxJobPostings, minTimeInRole/maxTimeInRole, minTimeInCompany/maxTimeInCompany — the same full filter set the Stynar app's Lead Finder page exposes.
curl -X POST "https://api.stynar.com/v2/campaigns/lead-finder/search" \
  -H "Authorization: Bearer esk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"jobTitle":"VP Sales","personLocation":["United States"],"headcountRange":["51-200"],"page":1}'

Response

✓ 200 OK
200 response
{
  "results": [
    {
      "personId": "prs_a1b2c3",
      "firstName": "Jane",
      "lastName": "Doe",
      "jobTitle": "VP Sales",
      "seniority": "vp",
      "linkedinUrl": "https://linkedin.com/in/janedoe",
      "country": "United States",
      "city": "Austin",
      "company": "Acme Inc",
      "companyInfo": {
        "name": "Acme Inc",
        "domain": "acme.com",
        "website": "https://acme.com",
        "logoUrl": null,
        "industry": "Software",
        "employeeCount": 120,
        "employeeRange": "51-200",
        "country": "United States",
        "city": "Austin"
      },
      "emailMasked": "j***@acme.com",
      "mobileMasked": "+1 512-4**-****"
    }
  ],
  "pagination": {
    "currentPage": 1,
    "totalPages": 8,
    "totalCount": 152
  }
}

Response fields

Errors

StatusCodeMeaning
✕ 402 INSUFFICIENT_CREDITSNot enough credits for this search (or your trial's lead-credit cap is reached).
✕ 503 SERVICE_UNAVAILABLELead search isn't configured for this environment, or Stynar's own monthly provider budget for lead search is exhausted — try again next month or contact support.
✕ 401 UnauthorizedUNAUTHORIZEDMissing, malformed, unknown, revoked, or expired key.
✕ 403 ForbiddenAPI_ACCESS_DISABLEDAPI access is turned off for your account.
✕ 403 ForbiddenINSUFFICIENT_SCOPEThe key doesn't have the scope this endpoint requires.
✕ 404 Not FoundNOT_FOUNDUnknown route, or a resource that doesn't exist / isn't yours.
✕ 409 ConflictCONFLICTThe action can't be applied to the resource's current state.
✕ 429 Too Many RequestsRATE_LIMIT_EXCEEDEDPer-minute or per-second limit hit.
✕ 429 Too Many RequestsQUOTA_EXCEEDEDMonthly quota exhausted.
✕ 500 Internal Server ErrorINTERNAL_ERRORSomething broke on Stynar's end.
Full error reference →