The OutPulse REST API lets you verify emails, find contacts, manage leads and sequences, and check deliverability from your own applications. All endpoints return JSON.
Base URL
https://outpulse.io/apiAuthenticate by passing your API key in the Authorization header. Generate keys in Settings → API Access.
curl -X POST https://outpulse.io/api/verify/single \
-H "Authorization: Bearer op_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"email":"john@acme.com"}'Errors return a JSON body with an error string. Standard HTTP status codes are used.
| Status | Meaning |
|---|---|
| 400 | Bad request - missing or invalid parameters |
| 401 | Unauthorized - missing or invalid API key |
| 402 | Insufficient credits |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
| 502 | Upstream provider error |
API calls are metered against your plan's credit balance. Each single verification or finder lookup costs 1 credit. Bulk jobs cost 1 credit per email processed. Hitting your credit limit returns 402. Rate-limited requests (too many per minute) return 429.
Verify individual email addresses or submit bulk jobs.
/api/verify/singleapi-keyVerify a single email address (syntax, DNS, SMTP, disposable, catch-all).
Parameters
emailstringrequiredEmail address to verify.Example Body
{"email":"john@acme.com"}/api/verify/bulkapi-keyEnqueue a bulk verification job. Returns a job ID; poll /api/verify/bulk/{id} for results.
Parameters
emailsstring[]requiredArray of email addresses (max 10,000).Example Body
{"emails":["a@acme.com","b@acme.com"]}/api/verify/bulk/{id}api-keyPoll the status and results of a bulk verification job.
Find email addresses by name + domain or by company domain.
/api/finder/singleapi-keyFind a single contact email given first name, last name, and company domain.
Parameters
firstNamestringrequiredContact first name.lastNamestringrequiredContact last name.domainstringrequiredCompany domain (e.g. acme.com).Example Body
{"firstName":"John","lastName":"Doe","domain":"acme.com"}/api/finder/domainapi-keyFind all discoverable email addresses for a company domain.
Parameters
domainstringrequiredCompany domain.Example Body
{"domain":"acme.com"}Create, list, and manage leads.
/api/leadsapi-keyList leads with optional status filter and pagination.
Parameters
statusstringFilter by status: valid | invalid | risky | unknown | accept-all.limitnumberPage size (default 50, max 200).offsetnumberPagination offset./api/leadsapi-keyCreate a single lead.
Parameters
emailstringrequiredLead email address.firstNamestringFirst name.lastNamestringLast name.companystringCompany name.Example Body
{"email":"jane@acme.com","firstName":"Jane","lastName":"Doe"}/api/leads/importapi-keyBulk import leads from a JSON array with duplicate strategy.
Parameters
leadsobject[]requiredArray of lead objects.duplicateStrategystringskip | update | create (default: skip).Manage email sequences and enroll leads.
/api/sequencesapi-keyList all sequences.
/api/sequences/{id}/enrollapi-keyEnroll one or more leads into a sequence. Creates scheduled email log entries.
Parameters
leadIdsstring[]requiredArray of lead UUIDs.Example Body
{"leadIds":["uuid1","uuid2"]}Check SPF, DKIM, and DMARC configuration for a sender domain.
/api/deliverabilityapi-keyRun a full SPF/DKIM/DMARC analysis and return a 0–100 deliverability score.
Parameters
domainstringrequiredSender domain to analyse.Example Body
{"domain":"acme.com"}/api/deliverabilityapi-keyRetrieve the latest cached analysis and history for a domain.
Parameters
domainstringrequiredDomain to query.limitnumberHistory entries (default 10).Export or permanently delete all data for the authenticated user.
/api/user/gdprsessionExport all personal data as a JSON archive (leads, sequences, credits, integrations, API keys).
/api/user/gdprsessionPermanently delete all user data and the account (right to erasure).