Skip to main content
GET
List the people found at a prospect's site
Getting someone to write to is deliberately two steps: first find out who works at a site, then buy an address only for the people you actually want. That split is what stops you paying for forty addresses when one person was the right one.
Requests are scoped to the brand your API key belongs to. See Authentication.

Find people

POST /outreach/prospects/find-people Open the request and response reference. Looks up the people worth pitching at one site or a batch of them - editors, writers, whoever can actually add the link. Nothing is bought here: you get names, job titles and seniority so you can decide. Body: prospectIds, up to 50. Optionally pass terms, 3-25 distinct job titles to match; omit it for the default editorial, SEO, marketing, and owner roles. Runs in the background. The response has enqueuedCount, enqueuedProspectIds, skipped, and creditsCharged. Poll Outreach Prospects while each enqueued site’s status is finding_people, then read the result with List a prospect’s people. Costs 5 AI credits per site. Sites whose search is already running are skipped and cost nothing, so a retry is safe. Do not re-run it on prospects that already have people. GET /outreach/prospects/people-search-terms returns suggested title groups, defaults, and the allowed term count before a custom search.

List a prospect’s people

GET /outreach/prospects/{id}/people Everyone found at one site.
For a link on a blog post, a content editor or head of content answers far more reliably than a founder. Read title, not seniority.

List every person

GET /outreach/prospects/people The same rows across all prospects, with their site, role and resolved address, for export. Cap with limit; the response flags when the ceiling was hit.

Resolve email addresses

Use Find Outreach Email for people at one prospect, or Find Emails in Bulk for people across prospects. Both pages render the request and response schemas from OpenAPI. Costs 10 AI credits per person actually looked up. Anyone already enriched or mid-lookup is dropped server-side and costs nothing, so a retry is safe. Anyone with no findable address is refunded automatically.
There is no product cap on how many people you enrich at once, only a request-size bound well above any real contact list. The cost is per person, so check the count before you send it.

List a prospect’s addresses

GET /outreach/prospects/{id}/emails Every address found for one prospect, best first. The id of a row here is the prospectEmailId that Queue pitches and Draft a pitch take.

What verifiedStatus means

Sending to invalid addresses is the fastest way to damage a sending domain’s reputation, and a held-back reputation affects every email you send afterwards. Filter them out before queueing.

Choose a person’s address

PATCH /outreach/prospects/{id}/emails/{emailId} Body: isPrimary: true. Picks which of one person’s addresses to write to, so promoting one leaves the other people at the site untouched. Most people have a single address, where it is already set.

Choose who to write to

PATCH /outreach/prospects/{id}/people/{personId} Body: isTarget - true, false or null. Marks one person as the site’s outreach target and clears the flag on the others. false rules a person out, and null leaves it undecided, which is the default: with nobody chosen, the strongest address wins.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

Prospect ID.

Response

200 - application/json

Default Response

people
object[]