Candidate outreach, inside your ATS.
Recruiting platforms and talent teams use the Smart API to reach candidates on LinkedIn and email from the ATS or sourcing tool they already run. Candidates in, sequences out, replies back to the pipeline.
What you build on the Smart API
Source, then sequence
Search 1B+ profiles by title, seniority, company and country, or bring a Sales Navigator search or a CSV, then enroll the shortlist in one call.
InMail and email for passive candidates
Reach people outside your network with InMail, InMail open profiles without credits from Sales Navigator or Recruiter seats, and move to email when the candidate has an address.
Your pipeline stays current
The lead.status_changed, message.received and email.received webhooks move each candidate to the right stage in your ATS.
Four calls, then it runs on its own.
The Smart API queues, paces, retries and rotates every step once the campaign is live. Your code only handles what is specific to you.
- 1
POST /database/people/search
Find candidates
Filters on titles, seniority, companies and countries. Each result returned uses AI credits.
- 2
POST /campaigns
Build the sequence
Profile visit, InMail on open profiles, invitation otherwise, email as the fallback.
- 3
POST /campaigns/{id}/leads
Enroll the shortlist
From your ATS by LinkedIn URL, or by email alone.
- 4
POST /webhooks
Sync the pipeline
Replies and status changes update the candidate record on your side.
From search to sequence in two calls
api/v1// Shortlist, then enroll in the candidate sequenceconst { data } = await swarmhit.post("/database/people/search", {filters: {titles: ["Senior Backend Engineer", "Staff Engineer"],countries: ["Germany"],},limit: 25,});await swarmhit.post("/campaigns/" + CAMPAIGN_ID + "/leads", {leads: data.map((p) => ({ profileUrl: p.linkedinUrl, firstName: p.firstName })),});
LinkedIn + email
Reach the passive ones, on the right channel.
Open profiles get an InMail (without credits from Sales Navigator or Recruiter seats, within LinkedIn's monthly allowance), everyone else gets a connection request, and candidates who never accept hear from you by email. One recruiter's accounts or a pool of them, and every reply lands in the same inbox.
- 1Visit the profilevisit_profile
- 2Open profile?if_open_profile
- 3Yes: InMailinmail
- 4No: connection requestinvite
- 5Not accepted: has an email?if_has_email
- 6Email the candidateemail
Operated for you, visible to you.
- 250+ safeguards on every LinkedIn sender
- Per-mailbox caps and bounce suppression
- One dashboard for accounts, API calls, webhooks and limits
- A playground to test campaigns before you code
Smart API pricing
LinkedIn from $16.90 per sender. Cold email from $59 a month.
Each channel is priced on its own: senders for LinkedIn, monthly sends for email. Free trial in the playground, up to 2 senders.
FAQ
Questions from recruiting.
Your ATS has the candidates.
The Smart API reaches them.
Get an API key, search the database or enroll from your ATS, and launch your first candidate sequence with one call.