The Redeem People API turns aDocumentation Index
Fetch the complete documentation index at: https://docs.pubrio.com/llms.txt
Use this file to discover all available pages before exploring further.
people_search_id (or LinkedIn URL) into the full set of verified contacts — work email, personal email, phone — for that person. You only spend credits when contact data is actually returned.
When to use Redeem
Use Redeem when you already know who the person is and you need their contact details:- You ran People Search and want to unlock contacts for the matches
- You have a LinkedIn profile URL and want to reach out to the person
- You have a
people_search_idfrom a previous Pubrio response
Three flavors
| Endpoint | Use when | Behavior |
|---|---|---|
POST /redeem/people | One person at a time | Synchronous. Returns contacts in the response. |
POST /redeem/people/batch | 2–N people in one shot | Asynchronous. Returns a redeem_query_id immediately. |
POST /redeem/people/batch/query | Polling for batch results | Returns the full result set when the batch completes. |
Quick start — single redeem
profile echoes your post-charge balance and the credits this call cost, so you can update an in-app meter without a separate /profile/usage round-trip.
Identifiers
You can identify the person to redeem in two ways:| Identifier | Description |
|---|---|
people_search_id | UUID returned by any Pubrio search/lookup endpoint. Cheapest and most reliable — no resolution step. |
linkedin_url | A LinkedIn profile URL (e.g., https://www.linkedin.com/in/jane-doe-123). Pubrio resolves it to a people_search_id first; if the profile is new, this can include a one-time external enrichment step. |
people_contact_types is the contract for what you want back. Mix any of email-work, email-personal, phone — you’re charged per type returned, not per type requested. Asking for ["email-work", "phone"] and getting only email-work back charges only for the email.
Bulk redeem (async pattern)
For more than one person, use the batch flow. It runs each redeem in parallel server-side and avoids the per-request roundtrip cost. Step 1 — submit:is_completed is true, the response contains the full peoples array with resolved contacts and the total credit cost for the batch.
Credit costs
Credits are deducted per contact returned, not per request. Pricing per record:| Contact type | Credits per record |
|---|---|
email-work / email-personal | 5 |
phone | 10 |
email-work, you’re charged nothing for that record. If you requested both an email and a phone and Pubrio returns both, you’re charged for both. See the full pricing table for plan-specific rates.
Common patterns
Search → redeem pipeline
Run People Search, let the user pick rows in your UI, then send the selected
people_search_ids through /redeem/people/batch. Charge only for what’s used.LinkedIn-URL paste flow
Accept a list of LinkedIn URLs from a CRM export or browser extension. Submit them via
/redeem/people (single) or build a small batch wrapper.Sequence enrollment
Before adding contacts to an outbound cadence, redeem
email-work only — keeps cost predictable while feeding deliverable addresses to your sender.CRM enrichment
Map existing CRM records to
people_search_id (via People Lookup), then redeem in batch on a schedule.FAQ
Will I be charged if no contact is found?
Will I be charged if no contact is found?
No. Credits are deducted per record returned. If a person has no work email available, you pay nothing for that contact slot — even if you asked for it.
What if the same person is in my batch twice?
What if the same person is in my batch twice?
Duplicates are deduplicated server-side. You’re charged once.
What happens if the LinkedIn URL is unknown to Pubrio?
What happens if the LinkedIn URL is unknown to Pubrio?
Pubrio attempts a one-time external resolution. If the profile resolves, normal redeem pricing applies. If it doesn’t, no credits are charged.
How fresh is the contact data?
How fresh is the contact data?
Pubrio re-verifies email and phone records on a rolling basis. Each contact comes with a
status field (Verified, null, etc.) so you can filter to only verified records on your end.Can I redeem only phone, only email, or only personal email?
Can I redeem only phone, only email, or only personal email?
Yes —
people_contact_types is an array. Pass exactly the types you want; you’re only billed on what’s returned.Bulk vs single — when does the async pattern win?
Bulk vs single — when does the async pattern win?
Above ~3 records, batch wins on latency and on per-record reliability. The batch endpoint runs fan-out internally and parallelizes any external enrichment hops, so a 50-record batch is closer to a 5-second wall-clock than 50 × per-request RTT.
Related
People Contact Lookup
Reverse-lookup: find a person from an email, phone, or name + domain. 1 credit per match.
People Search
Find people who match a profile (title, location, company size, technologies, etc.).
People Lookup
Resolve a single person’s full profile from an identifier — no contact unlock.
Pricing
Credit costs across all endpoints, by plan tier.

