Solutions Agentic Search API
Agentic search API: describe who you need
Send a sentence in any language, get structured B2B profiles back as JSON. A search API like any other, except the query is written the way a person would say it, and the response carries the filters it was read into.
POST /v2/search/people/prompt
Live · production API
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
200 OK52 fieldssample
{
"success": true,
"data": {
"data": [
{
"id": "prs_01h2x3y4z5a6b7c8d9e0f1g2h3",
"publicId": "claire-martin",
"linkedinUrl": "https://www.linkedin.com/in/claire-martin",
"firstName": "Claire",
"lastName": "Martin",
"headline": "VP Sales at Northwind | B2B SaaS",
"location": {
"city": "Paris",
"country": "France",
"countryCode": "FR"
},
"currentPosition": {
"title": "VP Sales",
"companyName": "Northwind"
}
},
{
"id": "prs_01h3k8m2q6t9w4z7c1f5j8n3r6",
"publicId": "thomas-bernard",
"linkedinUrl": "https://www.linkedin.com/in/thomas-bernard",
"firstName": "Thomas",
"lastName": "Bernard",
"headline": "VP Sales EMEA at Contoso",
"location": {
"city": "Paris",
"country": "France",
"countryCode": "FR"
},
"currentPosition": {
"title": "VP Sales EMEA",
"companyName": "Contoso"
}
},
{
"id": "prs_01h4p7s1v5y8b2e6h9l3o7r1u4",
"publicId": "ines-moreau",
"linkedinUrl": "https://www.linkedin.com/in/ines-moreau",
"firstName": "Inès",
"lastName": "Moreau",
"headline": "VP Sales at Fabrikam",
"location": {
"city": "Paris",
"country": "France",
"countryCode": "FR"
},
"currentPosition": {
"title": "VP Sales",
"companyName": "Fabrikam"
}
}
],
"metadata": {
"perPage": 25,
"count": 3,
"nextCursor": "cur_01j9x7q4m2z8b6d4f0a2c8e6"
},
"interpretation": {
"filters": {
"currentPositionTitle": "VP Sales",
"currentCompanyIndustry": "Software Development",
"location": {
"countryCode": "FR",
"city": "Paris"
}
},
"warnings": []
}
},
"error": null
}curl -X POST https://api.reversecontact.com/v2/search/people/prompt \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{}'import requests
res = requests.post(
"https://api.reversecontact.com/v2/search/people/prompt",
headers={"Authorization": "Bearer <API_KEY>"},
json={},
)
print(res.json())const url = "https://api.reversecontact.com/v2/search/people/prompt";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: "Bearer <API_KEY>",
"Content-Type": "application/json",
},
body: JSON.stringify({}),
});
console.log(await res.json());Benefits
A search API that speaks your sentence
Your users and your agents write what they want, the way they would say it. The response is the same structured JSON as any search endpoint, plus the filters the sentence was read into.
Plain language in
Describe the people you want in one sentence, in any language. No filter names to learn.
Filters you can read
Every response lists the filters it applied, and warns about anything the search could not take into account.
Profiles, not links to parse
The response is typed JSON: identity, role, company, location. Nothing to scrape, nothing to extract, nothing to guess.
Interpretation
What a prompt can express
A prompt is read into People Search filters. Anything the filters do not cover is left out of the search and reported in the response, never dropped in silence.
Job titles
Current or past, to include or exclude, matched as written on profiles.
Companies
Current or past employers, to include or exclude.
Industries and company size
From the industry list of People Search, and a headcount range.
Places
A country, a region, a city or an area.
Career and audience
Years of experience and follower count.
Profile status
Open to work, currently employed, Premium, verified, and how fresh the data is.
// "VP Sales at software companies with 51 to 200
// employees in Paris"
{
"interpretation": {
"filters": {
"currentPositionTitle": "VP Sales",
"currentCompanyIndustry": "Software Development",
"currentCompanyEmployeeCountRange": { "min": 51, "max": 200 },
"location": { "countryCode": "FR", "city": "Paris" }
}
}
}Pricing model
A prompt that cannot run is free
Each page costs one credit for the search plus one per profile delivered. A prompt refused before the search runs costs nothing. The Plus Unlimited and Max Unlimited plans include agentic search, within their fair usage.
- credit for the search, plus one per profile
- 1 + 1
- credits when the prompt cannot run
- 0
Use cases
Where a sentence beats a filter panel
Search boxes in your product
Let users type what they want instead of learning a filter panel. The response says which filters ran, so your interface can show them and let users adjust.
AI agents and copilots
Give an agent one tool that takes the user's words as they are. Profiles come back structured, with warnings for what the search could not apply.
Prospecting from a brief
Turn an ICP description or a campaign brief into a list of profiles in one call, then page through the rest with the cursor.
Recruiting from a job brief
Describe the role, the location and the kind of company you hire from, and get candidates to review.
Tools for non-technical teams
Give ops, marketing and research teams people search without a filter reference to read first.
From prompt to explicit filters
Prototype a search with a prompt, then send the filters it returned to the People Search API and fine-tune them by hand.
Process
How does it work?
A synchronous call: the prompt is read, the search runs, the profiles come back.
- 01
Write what you want
One sentence, in any language, up to about 4,000 characters of English.
- 02
We read it into filters
The prompt becomes People Search filters. What no filter covers is reported as a warning.
- 03
Get full profiles
Profiles come back as in People Search. Send the same prompt with the cursor for the next page.
Testimonials
Trusted by data-driven teams
“Our data team built an internal ops product with Reverse Contact. It improved identity resolution across systems and provided a reliable people & company layer.”
Ethan CarterData Team, Gitpod“We use Reverse Contact as a trusted data provider for our product inside our RevOps workflows. It helps our customers unify CRM records and enrich missing context...”
David BrombergCEO, Lantern“Reverse Contact provided a reliable identity resolution layer for our product. The API is straightforward, outputs are consistent, and match quality is strong.”
Lucas PerretHead of Product, lemlistCompliance
Compliance-by-design. Built to be defensible.
Reverse Contact is designed to support GDPR/CCPA-aligned data practices. We maintain clear sourcing principles, respect data subject rights, and prioritize accuracy over guesswork.
- GDPR
- CCPA
FAQ
Frequently Asked Questions
Can't find the answer to your question? Reach out to us via the contact page.
What can a prompt describe?
Job titles and companies (current or past, to include or exclude), industries, company size, places, years of experience, follower count, a person's name or headline keywords, open to work, currently employed, Premium or verified profiles, and how recent the data must be. Write in any language, up to 1,000 tokens (about 4,000 characters of English).
What happens to criteria no filter covers?
Anything the filters do not cover is left out of the search and listed in the warnings of the response, so you always know what the results do not take into account. Nothing is dropped in silence. Seniority and function filters are not read from a prompt yet: a word such as VP or Director is matched inside the job title.
How do I get the next page?
Send the same prompt again with the cursor the previous page returned. A prompt keeps the filters it was first read into for 24 hours in your workspace, so every page runs the same search.
How is agentic search billed?
One credit per page for the search itself, plus one per profile delivered: a page of 25 profiles costs 26 credits, an empty page costs 1. A prompt refused before the search runs costs nothing. The Plus Unlimited and Max Unlimited plans include agentic search, within their fair usage.
Can I move from a prompt to explicit filters?
Yes. The filters the response returns are a valid People Search request body: send them to the free count endpoint to size the audience, or to the People Search API to adjust a filter by hand.
Is Reverse Contact compliant with GDPR and CCPA?
Yes. Compliance is built into how we collect and process data, and profiles under a data subject request are removed from results before billing. Full documentation is available in the Trust Center.
The data layer behind your GTM engine
Access fresh people and company data through one API and power every enrichment, prospecting, and automation workflow.
- Profiles
- 1B+
- Refreshes / month
- 200M
- Response time (P95)
- 500ms