Early accessRead the docs

outbound.dev

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

Base URL
https://api.outbound.dev

Every 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

SurfaceWhat it doesWhere to start
People searchSearch 800M+ contacts with filters, a saved search or a plain-language query.POST /v1/people/search
ListsSave search results to a list, then find emails and phones for everyone on it.POST /v1/people/search/save-to-list
EnrichmentFind a person's work email or phone. Misses are free.POST /v1/emails/find
Email verificationValid, risky or invalid, with the reason.POST /v1/emails/verify
Connected accountsConnect the inboxes and LinkedIn accounts you send from.POST /v1/accounts/email
CampaignsEmail 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, and balanceUsd, 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 Accepted with a job you poll. Nothing long-running blocks a request.
  • Retries are safe with an Idempotency-Key header: 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.