Skip to main content
POST
Count which selected people a bulk action applies to
The enrich action takes a selection and works through it in batches:
  • selection is either { mode: "ids", ids: [personId, ...] } or { mode: "all", filters: { search?, stage?, groups? }, excludedIds: [...] } (every person matching the filters, minus the excluded ids).
  • scope (best or everyone) applies to a select-all: best is one person per site, everyone is every matching person.
  • Call POST /v3/outreach/prospects/people/bulk-preview with the selection and action: "enrich" first. It changes nothing and returns eligibility: { selected, eligible, skipped, byReason }.
People already looked up, mid-lookup or marked no_email are skipped without a charge. Each call returns { success, succeeded, failed, nextCursor, eligibility, results }. While nextCursor is not null, call again with the same selection and afterId set to nextCursor. results has one entry per person with id, success, creditsCharged and error when the lookup could not be started. Lookups that finish without an address are refunded later, so creditsCharged is not necessarily the final cost. Lookups run in the background. Poll List every person while queued people have status enriching; their rows report the eventual address or failure. POST /v3/outreach/prospects/people/selection returns the people a selection matches. Get person IDs from Outreach Contacts.

Authorizations

Authorization
string
header
required

Your SnowSEO API key (sk_...).

Body

application/json
selection
object
required
action
enum<string>
required

The bulk action to count eligible rows for.

Available options:
enrich
teamId
string
scope
enum<string>

For a select-all: best is one person per site (the pick), everyone is every matching person.

Available options:
best,
everyone

Response

Default Response

eligibility
object