Introduction
Programmatic access to outbound.dev: people search, email and phone lookups, email verification, lists, campaigns, and the inboxes and LinkedIn accounts you send from.
The outbound.dev API lets you run outbound from your own systems: find people, save them to lists, find and verify their emails and phones, connect the inboxes and LinkedIn accounts you send from, and run campaigns from them.
Everything the API returns is plain JSON over HTTPS, authenticated with an API key you create in the console. If you have used APIs like Stripe or Anthropic, the shape will feel familiar: predictable resource-oriented paths, standard status codes, one error envelope everywhere, and rate-limit headers on every response.
Building with an AI agent? Give it outbound.dev/llms.txt: the API in plain text, for the agent to read before it calls.
Base URL
https://api.outbound.devEvery path starts with /v1, the API's version, and is relative to this base URL. The API is served only over HTTPS.
A 30-second tour
- Quickstart: create a key and make your first call in about five minutes.
- API reference: every endpoint, what it does and what it costs.
- Errors and limits: the one envelope every failure uses, every status code, and the rate limits.
- llms.txt: the same API in a format an agent can read.
What you can build
| Surface | What it does | Where to start |
|---|---|---|
| People search | Search 800M+ contacts with filters, a saved search or a plain-language query. | POST /v1/people/search |
| Lists | Save search results to a list, then find emails and phones for everyone on it. | POST /v1/people/search/save-to-list |
| Enrichment | Find a person's work email or phone. Misses are free. | POST /v1/emails/find |
| Email verification | Valid, risky or invalid, with the reason. | POST /v1/emails/verify |
| Connected accounts | Connect the inboxes and LinkedIn accounts you send from. | POST /v1/accounts/email |
| Campaigns | Email and LinkedIn steps, sent from your accounts, and the replies they get. | POST /v1/campaigns |
Conventions used throughout
- IDs are opaque strings (
"list_8c1"). Never parse or construct them. - Timestamps are ISO 8601 in UTC (
"2026-11-06T10:00:00.000Z"). - Money is in US dollars. A response that can cost money carries
usdCharged, what the call cost, andbalanceUsd, what is left in your balance. - Errors always use one envelope with a stable machine-readable
code(errors and limits). - Long-running work, such as saving a search to a list or enriching a list, returns
202 Acceptedwith a job you poll. Nothing long-running blocks a request. - Retries are safe with an
Idempotency-Keyheader: the same key brings back the first response for 24 hours, and never a second charge.
Need help?
Write to hello@outbound.dev and include the request_id from any error response: it lets us trace the exact request in our logs.