B2B Contact Search API - Find People, Emails and Phones
Pricing
$20.00 / 1,000 contact returneds
B2B Contact Search API - Find People, Emails and Phones
Search a B2B database of people and companies by job title, seniority, department, industry, headcount, revenue and funding, or enrich leads you already have from a LinkedIn URL or email. Returns the person, their company firmographics, and optionally a verified email and phone number.
Pricing
$20.00 / 1,000 contact returneds
Rating
0.0
(0)
Developer
Nabeel Hassan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Build a targeted B2B prospect list by job title, seniority, industry, headcount, revenue and funding stage, or enrich the leads you already have from nothing but a LinkedIn URL.
What it does
- Two ways to work, one output shape. Search pages through everybody matching your filters and builds a new list. Enrich takes leads you already have and fills them in. Both produce the same columns, so they compose.
- Filters that match how territories are actually drawn. Job title, seniority band, department, person location, company name, domain, industry, headcount band, revenue band, company type and B2B or B2C focus.
- Reveals verified emails and direct phone numbers. Both are opt in, because both spend credits on top of the lookup, and both are off until you ask.
- Flags Do Not Call numbers. When your account has DNC screening enabled, numbers on a Do Not Call list are marked on the row rather than left for you to discover later.
- Returns company firmographics on every contact. Industry, headcount, estimated revenue, funding total and stage, founded year, technologies detected and LinkedIn URL, so a contact row is usable without a second enrichment pass.
- Handles the slow lookups properly. A reveal that has not finished is not a failure at this provider, it is a wait. The actor waits out the documented retry window instead of throwing the lead away.
- Takes messy lead lists. A bare LinkedIn URL, a bare email address, or a spreadsheet row with
full_nameandcompanycolumns all work. - Keeps the misses. A lead nobody could match still produces a row saying so, and is not charged for, so you can see which part of your list is unknown.
- Reaches filters this form does not show. An additional filters object passes anything else the provider supports straight through under its own name.
Input
Search mode: build a list
{"mode": "search","personTitles": ["VP of Sales", "Head of Revenue"],"personSeniorities": ["VP", "C-Suite"],"personLocations": ["United States"],"companyIndustries": ["Software Development"],"companySizes": ["201-500 employees", "501-1000 employees"],"companyRevenue": ["$10M-$100M"],"maxResults": 500}
Enrich mode: fill in a list you already have
{"mode": "enrich","leads": [{ "linkedin_url": "https://www.linkedin.com/in/example-person" },{ "email": "person@example.com" },{ "name": "Jane Doe", "title": "CEO", "company_domain": "example.com" }],"revealEmail": true,"revealPhoneNumbers": false}
Example output
One row per person.
{"found": true,"id": "84d31ab0-bac0-46ea-9a8b-b8721126d3d6","name": "Jane Doe","firstName": "Jane","lastName": "Doe","title": "VP of Sales","headline": "VP Sales at Example","email": "jane.doe@example.com","linkedinUrl": "https://www.linkedin.com/in/example-person","location": "San Francisco, California, United States","phoneNumbers": ["+1 4155550123"],"phoneTypes": ["mobile"],"doNotCall": false,"companyName": "Example","companyWebsite": "https://example.com","companyLinkedinUrl": "https://www.linkedin.com/company/example","companyIndustry": "Software Development","companySize": "201-500 employees","companyEmployees": 500,"companyLocation": "San Francisco, California, US","companyFoundedYear": 2015,"companyType": "Privately Held","companyRevenue": "$10M-$100M","companyLatestFundingStage": "series_b","companyTechnologies": ["Salesforce"],"companyIsB2b": true,"companyIsB2c": false}
Frequently asked questions
What is the difference between search mode and enrich mode?
Search mode takes filters and returns everybody in the database who matches them, paging until it hits your row limit. Use it to build a prospect list from scratch. Enrich mode takes leads you already have, one identifier each, and returns the full record for each one. Use it to fill in a CRM export or a list of LinkedIn URLs. The two read different parts of the input form and produce identical columns.
Can I get email addresses?
Yes, in enrich mode, by turning on the reveal email option. It is off by default because revealing an email spends email credits at the provider on top of the lookup itself. Search mode returns profile and company data without contact details, so the usual pattern is to search first, look at what you got, then run the results back through enrich mode with reveals turned on.
Can I get direct phone numbers?
Yes, in enrich mode, by turning on the reveal phone numbers option. Each number comes back with its type, so a mobile can be told from a switchboard line. If your account has Do Not Call screening enabled, numbers on a DNC list are flagged on the row.
What can I filter by?
Job title, exact or partial, seniority band, department, person keywords from the headline and about section, person location and excluded locations, company name, company domain, industry, headcount band, revenue band, company type, B2B or B2C focus, company location and company description keywords. Filters this form does not show, such as last funding round, headcount growth, open job postings, recent news and investor overlap, go in the additional filters object under the provider's own names.
Why are seniority and company size dropdowns instead of free text?
Because the provider only accepts its own vocabulary for them, exactly as written, and an unrecognised value is ignored rather than rejected. A typo would silently widen the search instead of failing, which is the worst outcome, so those filters are dropdowns of the real values.
What identifiers can I enrich a lead from?
A LinkedIn profile URL, an email address, or a person's name together with either a company name or a company domain. A lead with none of those is refused before it is sent, so it costs nothing, and it still appears in the output with the reason.
Do I need my own API key?
Yes. This actor is bring your own key: it calls the contact data API using your own account key, so you keep your own credit balance, your own rate limits and your own data agreement. Generate the key in the provider's dashboard under its API section.
What happens if the provider has no record of a lead?
The lead still produces a row, with found set to false and a note saying no match exists. That row is not charged for. Knowing which of your leads are unknown is usually worth as much as the ones that resolved.
How much does a run cost?
Charging is per row, and only rows carrying a real person are charged. Leads with no match, leads refused before sending and leads the provider would not process are all free. Note that revealing emails and phone numbers also spends credits on your own account at the provider, separately from what is charged here. Set maxResults to cap the rows a run can produce.
What are the rate limits?
The provider allows 300 search requests a minute and 350 lookups a minute. This actor paces itself at 120 a minute by default, which leaves headroom on a shared account. Raise it if the account is yours alone, lower it if you are running several jobs at once.
Keyword map
B2B contact search API, B2B data API, lead enrichment API, contact enrichment API, email finder API, find work email, direct dial phone number API, LinkedIn URL to email, prospect list building, sales prospecting data, firmographic data API, company enrichment API, job title search, seniority filter, headcount filter, revenue band filter, technographic data, funding stage data, ICP list building, outbound lead lists