The ContactOut connector lets your AI agent act in each user's ContactOut account. Each user connects their own ContactOut API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 26 tools.
- Tools
- 26
- What they doRead · write · destructive
- 20 · 5 · 120 read5 write1 destructive
- Users sign in with
- API key
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the ContactOut connection
In AgentKit > Connections, create a ContactOut connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'contactout'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize ContactOut:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'contactout_count_people',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "contactout"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize ContactOut:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="contactout_count_people",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their ContactOut credentials there. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolcontactout_bulk_get_contact_infoGet emails, and optionally phones, for up to 100 LinkedIn profile URLs in one synchronous request.Read-onlyBulk Get Contact Info
Get emails, and optionally phones, for up to 100 LinkedIn profile URLs in one synchronous request. Returns profiles keyed by LinkedIn URL; each value is a list of emails, or an object with emails and phones when include_phone is true. Use this for up to 100 URLs with an immediate answer. Use contactout_create_bulk_contact_info_job for up to 1000 URLs or real-time work email lookup.
Inputs
profilesarrayrequired- LinkedIn profile URLs to look up, 1 to 100. Example: ["https://www.linkedin.com/in/example-person"]
email_typestring- Which emails to return. personal returns only personal emails; work returns only work emails (verified in real time, slower); personal,work returns both.one of
personalworkpersonal,work include_phoneboolean- If true, each profile maps to an object with emails and phones instead of a plain email list. Phones need a phone-enabled token and phone credits. API default is false.
contactout_check_personal_emailCheck whether ContactOut has a personal email for a LinkedIn profile, without using credits.Read-onlyCheck Personal Email
Check whether ContactOut has a personal email for a LinkedIn profile, without using credits. Available on paid plans only. Returns profile.email: true when a personal email is available. Use this before contactout_get_contact_info to avoid spending credits on profiles with no data. Rate limit: 150 requests per minute.
Inputs
profilestringrequired- LinkedIn profile URL of the person. Must start with http and contain linkedin.com/in/ or linkedin.com/pub/. Sales Navigator and Recruiter URLs are not supported. Example: https://www.linkedin.com/in/example-person
contactout_check_phoneCheck whether ContactOut has a phone number for a LinkedIn profile, without using credits.Read-onlyCheck Phone
Check whether ContactOut has a phone number for a LinkedIn profile, without using credits. Available on paid plans only. Returns profile.phone: true when a phone number is available. Use this before contactout_get_contact_info to avoid spending credits on profiles with no data. Rate limit: 150 requests per minute.
Inputs
profilestringrequired- LinkedIn profile URL of the person. Must start with http and contain linkedin.com/in/ or linkedin.com/pub/. Sales Navigator and Recruiter URLs are not supported. Example: https://www.linkedin.com/in/example-person
contactout_check_work_emailCheck whether ContactOut has a work email for a LinkedIn profile, without using credits.Read-onlyCheck Work Email
Check whether ContactOut has a work email for a LinkedIn profile, without using credits. Available on paid plans only. Returns profile.email (true when a work email is available) and profile.email_status (Verified, Unverified or null). Use this before contactout_get_contact_info to avoid spending credits on profiles with no data. Rate limit: 150 requests per minute.
Inputs
profilestringrequired- LinkedIn profile URL of the person. Must start with http and contain linkedin.com/in/ or linkedin.com/pub/. Sales Navigator and Recruiter URLs are not supported. Example: https://www.linkedin.com/in/example-person
contactout_count_peopleCount the people that match a set of search filters, without using credits.Read-onlyCount People
Count the people that match a set of search filters, without using credits. Returns total_results plus estimated_personal_emails, estimated_work_emails and estimated_phones. Use this to size a search before contactout_search_people, which takes the same filters.
Inputs
companyarray- Company names to match, up to 50. Scope (current or past employer) is set by company_filter. Example: ["Stripe", "Plaid"]
company_filterstring- Which roles the company filter applies to: current (API default), past, past_only (company in past experience but not the current employer), or both.one of
currentpastpast_onlyboth company_sizearray- Company headcount ranges, up to 8. Values: 1_10, 11_50, 51_200, 201_500, 501_1000, 1001_5000, 5001_10000, 10001. Example: ["51_200", "201_500"]
current_company_onlyboolean- If true (the API default), company matches only the current employer.
current_titles_onlyboolean- If true (the API default), job_title matches only current roles. Set false to also match past job titles.
current_work_locationarray- Locations where the person currently works, up to 50. Example: ["New York"]
domainarray- Company website domains to match, up to 50. Example: ["stripe.com"]
educationarray- Schools or degrees to match, up to 50. Supports capitalized AND, OR, NOT. Example: ["Stanford University"]
educationsarray- Structured education filters, up to 50. Each item can set a school name, a field of study and a location. Example: [{"school_name": "Stanford University", "field_of_study": "Computer Science"}]
exclude_companiesarray- Company names to exclude, up to 50. Scope is set by exclude_companies_filter (default both current and past). Example: ["Acme Corp"]
exclude_companies_filterstring- Which roles exclude_companies applies to: current, past, or both (API default). Independent of company_filter.one of
currentpastboth exclude_job_titlesarray- Job titles to exclude from results. Example: ["Intern", "Assistant"]
include_related_job_titlesboolean- If true, also matches job titles related to the ones in job_title. API default is false.
industryarray- Industries to match, up to 50. Prefix a value with NOT to exclude it, for example "NOT Computer Software". AND and OR are not supported here. Example: ["Financial Services"]
is_currently_workingboolean- If true, returns only people with an active current role; if false, only people without one. Omit to return both.
job_functionarray- Job functions to filter by, up to 50. Example: ["Engineering", "Sales"]
job_titlearray- Current job titles to match (up to 50). Supports capitalized boolean operators AND, OR, NOT inside a value. Example: ["Head of Sales", "VP Sales"]
keywordstring- Keyword that appears anywhere in the profile. Supports capitalized AND, OR, NOT. Example: fintech AND payments
languagesarray- Languages the person speaks, up to 50. Each item needs a language name and can list accepted proficiency levels. Example: [{"language": "Spanish", "proficiency": ["Native or bilingual proficiency"]}]
locationarray- Locations where the person lives, up to 50. Example: ["San Francisco, California", "United States"]
location_radiusinteger- Search radius in miles around location, from 1 to 500. Works only when location is a city or area. Example: 25
match_experiencestring- Requires job_title and company to match within the same experience entry: current (API default), past, or both.one of
currentpastboth namestring- Full or partial name of the person to find. Example: Jane Doe
past_companyarray- Companies the person worked at in past (non-current) roles, up to 50. Cannot be combined with company_filter past, past_only or both, or with match_experience when both job_title and company are set. Example: ["Google"]
past_job_titlearray- Job titles the person held in past (non-current) roles, up to 50. Supports capitalized AND, OR, NOT. Cannot be combined with current_titles_only false, or with match_experience when both job_title and company are set. Example: ["Software Engineer"]
past_work_locationarray- Locations where the person worked before, up to 50. Example: ["London"]
recently_changed_jobsboolean- If true, returns only people whose current job started within the last 3 calendar months. Cannot be used with years_in_current_role.
seniorityarray- Seniority levels to filter by, up to 50. Example: ["Manager", "Vice President"]
skillsarray- Skills to match, up to 50. Supports capitalized AND, OR, NOT. Example: ["Python", "Machine Learning"]
years_in_current_rolearray- Years-in-current-role ranges, up to 20. Example values: 1_2, 3_5. Cannot be used with recently_changed_jobs. Example: ["1_2"]
years_of_experiencearray- Total years of experience ranges, up to 20. Example values: 1_2, 3_5, 6_10, 10. Example: ["3_5", "6_10"]
contactout_enrich_domainsGet company information for up to 30 domains in one request.Read-onlyEnrich Company Domains
Get company information for up to 30 domains in one request. Returns companies keyed by domain, each with name, description, website, industry, size, headquarter, locations, technologies, revenue, employees and funding. Use this when you have exact domains. Use contactout_search_companies to find companies by filters.
Inputs
domainsarrayrequired- Company domains to look up, 1 to 30. Example: ["contactout.com", "stripe.com"]
contactout_enrich_emailFind the LinkedIn profile and contact details behind an email address.Read-onlyEnrich Email Address
Find the LinkedIn profile and contact details behind an email address. Returns profile in camelCase: fullName, linkedinUrl, headline, company, experience, education, skills, phone, workEmail, confidenceLevel and altMatches. Use contactout_find_linkedin_by_email when you only need the LinkedIn URL. Use contactout_enrich_linkedin_profile when you already have the URL.
Inputs
emailstringrequired- Email address to look up. Personal emails usually match better than work emails. Example: jane.doe@gmail.com
includestring- Extra data to include. Only work_email is supported; it adds the person's work email (verified in real time, so slower).one of
work_email
contactout_enrich_linkedin_profileGet the full profile for a LinkedIn profile URL, including emails, phones, work history, education and skills.Read-onlyEnrich LinkedIn Profile
Get the full profile for a LinkedIn profile URL, including emails, phones, work history, education and skills. Returns profile with full_name, headline, company, location, experience, education, skills, email, work_email, personal_email and phone; errors lists contact types skipped for lack of credits. Use contactout_get_contact_info when you only need emails and phones. Use contactout_enrich_person when you don't have a LinkedIn URL.
Inputs
profilestringrequired- LinkedIn profile URL of the person. Must start with http and contain linkedin.com/in/ or linkedin.com/pub/. Sales Navigator and Recruiter URLs are not supported. Example: https://www.linkedin.com/in/example-person
profile_onlyboolean- If true, returns profile data without contact information and uses 1 search credit instead of email/phone credits. API default is false.
contactout_enrich_personFind a person's profile by combining data points such as name, email, phone, LinkedIn URL, company, school, location and job title.Read-onlyEnrich Person
Find a person's profile by combining data points such as name, email, phone, LinkedIn URL, company, school, location and job title. Returns profile with full_name, headline, company, experience, education and skills, plus the contact types requested in include. Use this when you lack a LinkedIn URL. Send one primary identifier (linkedin_url, email or phone), or a name plus at least one of company, company_domain, education, location or job_title. Use contactout_enrich_linkedin_profile when you have the LinkedIn URL.
Inputs
companyarray- Company names the person works or worked at, up to 10. Example: ["Stripe"]
company_domainarray- Company domains, up to 10. Example: ["stripe.com"]
educationarray- Schools the person attended, up to 10. Example: ["Stanford University"]
emailstring- Email address of the person. A primary identifier. Example: jane.doe@gmail.com
first_namestring- First name. Use with last_name instead of full_name. Example: Jane
full_namestring- Full name of the person. Combine with at least one secondary field (company, company_domain, education, location or job_title). Example: Jane Doe
includearray- Contact data to include in the response: work_email, personal_email, phone. Each type uses its own credits. Example: ["work_email", "personal_email"]
job_titlestring- Job title of the person. Example: Head of Sales
last_namestring- Last name. Use with first_name instead of full_name. Example: Doe
linkedin_urlstring- LinkedIn profile URL of the person. A primary identifier. Example: https://www.linkedin.com/in/example-person
locationstring- City or location of the person. Example: San Francisco
phonestring- Phone number of the person, ideally with country code. A primary identifier. Example: +14155550123
contactout_find_linkedin_by_emailFind the LinkedIn profile URL that belongs to an email address.Read-onlyFind LinkedIn Profile by Email
Find the LinkedIn profile URL that belongs to an email address. Returns profile with email and linkedin (the profile URL). Use this when you only need the URL. Use contactout_enrich_email for the full profile.
Inputs
emailstringrequired- Email address to look up. Example: jane.doe@gmail.com
contactout_get_bulk_contact_info_jobGet the status and results of an asynchronous bulk contact info job.Read-onlyGet Bulk Contact Info Job
Get the status and results of an asynchronous bulk contact info job. Returns data with uuid, status (SENT when complete) and result keyed by LinkedIn URL, each with emails, personal_emails, work_emails and phones. Requires a job_id from contactout_create_bulk_contact_info_job.
Inputs
job_idstringrequired- ID of the bulk contact info job, as returned in job_id by contactout_create_bulk_contact_info_job. Example: 3f1c2b7e-8a4d-4c55-9a0e-1b2c3d4e5f60
contactout_get_bulk_email_verification_jobGet the status and results of a bulk email verification job.Read-onlyGet Bulk Email Verification Job
Get the status and results of a bulk email verification job. Returns data with uuid, status (DONE when complete) and result mapping each email to valid, invalid, accept_all, disposable or unknown. Requires a job_id from contactout_create_bulk_email_verification_job.
Inputs
job_idstringrequired- ID of the bulk email verification job, as returned in job_id by contactout_create_bulk_email_verification_job. Example: 3f1c2b7e-8a4d-4c55-9a0e-1b2c3d4e5f60
contactout_get_campaignGet one email campaign with its sequence steps and, optionally, performance stats.Read-onlyGet Campaign
Get one email campaign with its sequence steps and, optionally, performance stats. Returns data with id, name, status, created_at, updated_at and steps (sequence_number, type, subject, delay_in_days), plus stats when include_stats is true. Use contactout_list_campaigns to find the campaign_id. Requires the Campaigns API to be enabled for your API token; otherwise ContactOut returns 403.
Inputs
campaign_idstringrequired- ID of the campaign to retrieve. Get it from contactout_list_campaigns (the id field) or from the last segment of the campaign URL in the ContactOut web app. Example: pEVRKd
include_statsboolean- If true, also returns a stats object with sends, opens, replies, bounces, open_rate and reply_rate. API default is false.
contactout_get_contact_infoGet the emails and, optionally, phone numbers for one LinkedIn profile URL.Read-onlyGet Contact Info
Get the emails and, optionally, phone numbers for one LinkedIn profile URL. Returns profile with url, email, personal_email, work_email, work_email_status, phone and github; errors lists contact types skipped for lack of credits. Use this for contact details only. Use contactout_enrich_linkedin_profile for the full profile. Use contactout_bulk_get_contact_info for up to 100 URLs.
Inputs
profilestringrequired- LinkedIn profile URL of the person. Must start with http and contain linkedin.com/in/ or linkedin.com/pub/. Sales Navigator and Recruiter URLs are not supported. Example: https://www.linkedin.com/in/example-person
email_typestring- Which emails to return. personal returns only personal emails; work returns only work emails (verified in real time, slower); personal,work returns both; none returns no emails.one of
personalworkpersonal,worknone include_phoneboolean- If true, includes phone numbers and uses phone credits. API default is false.
contactout_get_decision_makersGet the key decision makers at a company, identified by its LinkedIn URL, domain or name.Read-onlyGet Decision Makers
Get the key decision makers at a company, identified by its LinkedIn URL, domain or name. Returns metadata (page, page_size, total_results) and profiles keyed by LinkedIn URL with full_name, title, company and location; contact_info is filled only when reveal_info is true. Send at least one of linkedin_url, domain or name. Use contactout_search_people for wider filters.
Inputs
domainstring- Company domain. Example: contactout.com
linkedin_urlstring- Company LinkedIn URL. Example: https://linkedin.com/company/contactout
namestring- Company name. Example: ContactOut
pageinteger- Page number of results, starting at 1. API default is 1. Example: 2
reveal_infoboolean- If true, contact_info is filled with emails and phones and credits are charged. API default is false.
contactout_get_usage_statsGet API credit usage and quotas for a billing month.Read-onlyGet Usage Stats
Get API credit usage and quotas for a billing month. Returns period (start, end) and usage with email, phone and search counts and quotas; postpaid accounts also get remaining and over_quota values. Use this to check remaining credits before large enrichment or search jobs.
Inputs
periodstring- Billing month to report, as YYYY-MM. Defaults to the current month. The API also accepts a full date (YYYY-MM-DD) and ignores the day. Example: 2024-01
contactout_list_campaignsList your ContactOut email campaigns, one page at a time.Read-onlyList Campaigns
List your ContactOut email campaigns, one page at a time. Returns data (each campaign's id, name, status, created_at, updated_at) and metadata (page, page_size, total_results, has_more). Use this to find a campaign_id. Use contactout_get_campaign for steps and stats. Requires the Campaigns API to be enabled for your API token; otherwise ContactOut returns 403.
Inputs
pageinteger- Page number to retrieve, starting at 1. API default is 1. Example: 2
page_sizeinteger- Number of campaigns per page, up to 50. API default is 25. Example: 25
contactout_search_companiesSearch companies by name, domain, LinkedIn URL, size, location, industry, technologies, revenue and founding year.Read-onlySearch Companies
Search companies by name, domain, LinkedIn URL, size, location, industry, technologies, revenue and founding year. Returns metadata (page, page_size, total_results) and companies, each with name, url, domain, overview, size, industry, headquarter, website and funding. Use contactout_enrich_domains when you already have exact domains.
Inputs
domainarray- Company domains to match, up to 50. Example: ["contactout.com"]
hq_onlyboolean- If true, location matches only the company headquarters.
industryarray- Industries to match, up to 50. Example: ["Computer Software"]
linkedin_urlarray- Company LinkedIn URLs to look up, up to 25. Cannot be combined with any other filter. Example: ["https://www.linkedin.com/company/contactout"]
locationarray- Company locations to match, up to 50. Example: ["United States"]
max_revenueinteger- Maximum annual revenue in USD. Example: 50000000
min_revenueinteger- Minimum annual revenue in USD. Example: 1000000
namearray- Company names to match, up to 50. Example: ["ContactOut"]
pageinteger- Page number of results, starting at 1. API default is 1. Example: 2
sizearray- Company headcount ranges such as 1_10, 11_50, 51_200, 201_500, 501_1000, 1001_5000, 5001_10000, 10001. Example: ["1_10", "11_50"]
technologiesarray- Technologies the company uses, up to 50. Capitalized AND joins terms inside a value. Example: ["Salesforce", "HubSpot AND AWS"]
year_founded_frominteger- Earliest founding year, 1985 or later. Example: 2010
year_founded_tointeger- Latest founding year. Must be greater than or equal to year_founded_from. Example: 2020
contactout_search_peopleSearch ContactOut's people database with filters such as job title, company, location, skills, seniority, industry and keyword.Read-onlySearch People
Search ContactOut's people database with filters such as job title, company, location, skills, seniority, industry and keyword. Returns metadata (page, page_size, total_results) and profiles keyed by LinkedIn URL, each with full_name, title, headline, company, location and contact_availability; contact_info is filled only when reveal_info is true. Use contactout_count_people first to size a search without using credits. Use contactout_get_decision_makers for the leaders of one company. Rate limit: 60 requests per minute.
Inputs
companyarray- Company names to match, up to 50. Scope (current or past employer) is set by company_filter. Example: ["Stripe", "Plaid"]
company_filterstring- Which roles the company filter applies to: current (API default), past, past_only (company in past experience but not the current employer), or both.one of
currentpastpast_onlyboth company_sizearray- Company headcount ranges, up to 8. Values: 1_10, 11_50, 51_200, 201_500, 501_1000, 1001_5000, 5001_10000, 10001. Example: ["51_200", "201_500"]
current_company_onlyboolean- If true (the API default), company matches only the current employer.
current_titles_onlyboolean- If true (the API default), job_title matches only current roles. Set false to also match past job titles.
current_work_locationarray- Locations where the person currently works, up to 50. Example: ["New York"]
data_typesarray- Return only profiles that have at least one of these contact data types: personal_email, work_email, phone. Example: ["work_email"]
detailed_educationboolean- If true, education entries are structured objects (school, degree, years) instead of strings. API default is false.
detailed_experienceboolean- If true, experience entries are structured objects (title, company, dates) instead of strings. API default is false.
domainarray- Company website domains to match, up to 50. Example: ["stripe.com"]
educationarray- Schools or degrees to match, up to 50. Supports capitalized AND, OR, NOT. Example: ["Stanford University"]
educationsarray- Structured education filters, up to 50. Each item can set a school name, a field of study and a location. Example: [{"school_name": "Stanford University", "field_of_study": "Computer Science"}]
exclude_companiesarray- Company names to exclude, up to 50. Scope is set by exclude_companies_filter (default both current and past). Example: ["Acme Corp"]
exclude_companies_filterstring- Which roles exclude_companies applies to: current, past, or both (API default). Independent of company_filter.one of
currentpastboth exclude_job_titlesarray- Job titles to exclude from results. Example: ["Intern", "Assistant"]
include_related_job_titlesboolean- If true, also matches job titles related to the ones in job_title. API default is false.
industryarray- Industries to match, up to 50. Prefix a value with NOT to exclude it, for example "NOT Computer Software". AND and OR are not supported here. Example: ["Financial Services"]
is_currently_workingboolean- If true, returns only people with an active current role; if false, only people without one. Omit to return both.
job_functionarray- Job functions to filter by, up to 50. Example: ["Engineering", "Sales"]
job_titlearray- Current job titles to match (up to 50). Supports capitalized boolean operators AND, OR, NOT inside a value. Example: ["Head of Sales", "VP Sales"]
keywordstring- Keyword that appears anywhere in the profile. Supports capitalized AND, OR, NOT. Example: fintech AND payments
languagesarray- Languages the person speaks, up to 50. Each item needs a language name and can list accepted proficiency levels. Example: [{"language": "Spanish", "proficiency": ["Native or bilingual proficiency"]}]
locationarray- Locations where the person lives, up to 50. Example: ["San Francisco, California", "United States"]
location_radiusinteger- Search radius in miles around location, from 1 to 500. Works only when location is a city or area. Example: 25
match_experiencestring- Requires job_title and company to match within the same experience entry: current (API default), past, or both.one of
currentpastboth namestring- Full or partial name of the person to find. Example: Jane Doe
output_fieldsarray- Limit each profile to these fields, up to 16. Allowed: li_vanity, full_name, title, headline, company, company.name, company.website, company.headquarter, company.domain, company.size, location, industry, experience, education, skills, profile_picture_url. Example: ["full_name", "title", "company.name"]
pageinteger- Page number of results, starting at 1. API default is 1. Example: 2
page_sizeinteger- Number of profiles per page, from 1 to 25 (API default 25). Search credits are charged per profile returned. Example: 10
past_companyarray- Companies the person worked at in past (non-current) roles, up to 50. Cannot be combined with company_filter past, past_only or both, or with match_experience when both job_title and company are set. Example: ["Google"]
past_job_titlearray- Job titles the person held in past (non-current) roles, up to 50. Supports capitalized AND, OR, NOT. Cannot be combined with current_titles_only false, or with match_experience when both job_title and company are set. Example: ["Software Engineer"]
past_work_locationarray- Locations where the person worked before, up to 50. Example: ["London"]
recently_changed_jobsboolean- If true, returns only people whose current job started within the last 3 calendar months. Cannot be used with years_in_current_role.
reveal_infoboolean- If true, contact_info in each profile is filled with emails and phones, and email/phone credits are charged. API default is false.
seniorityarray- Seniority levels to filter by, up to 50. Example: ["Manager", "Vice President"]
skillsarray- Skills to match, up to 50. Supports capitalized AND, OR, NOT. Example: ["Python", "Machine Learning"]
years_in_current_rolearray- Years-in-current-role ranges, up to 20. Example values: 1_2, 3_5. Cannot be used with recently_changed_jobs. Example: ["1_2"]
years_of_experiencearray- Total years of experience ranges, up to 20. Example values: 1_2, 3_5, 6_10, 10. Example: ["3_5", "6_10"]
contactout_verify_emailCheck whether one email address is deliverable.Read-onlyVerify Email
Check whether one email address is deliverable. Returns data.status: valid, invalid, accept_all, disposable or unknown. Use this for one address. Use contactout_create_bulk_email_verification_job for up to 100.
Inputs
emailstringrequired- Email address to verify. Example: jane.doe@example.com
contactout_add_campaign_recipientsAdd up to 100 recipients to an email campaign.WriteAdd Campaign Recipients
Add up to 100 recipients to an email campaign. Returns success_count, failure_count and results with each recipient's email, status (success, warning or failed) and message. Use contactout_list_campaigns to find the campaign_id. Use contactout_start_campaign to send to them. Requires the Campaigns API to be enabled for your API token; otherwise ContactOut returns 403.
Inputs
campaign_idstringrequired- ID of the campaign to add recipients to. Get it from contactout_list_campaigns (the id field) or from the last segment of the campaign URL in the ContactOut web app. Example: pEVRKd
recipientsarrayrequired- Recipients to add, 1 to 100. Each recipient needs an email or a valid phone number, and can also have a first name, last name and company. Recipients are processed one by one, so some can fail while others succeed. Example: [{"email": "jane.doe@example.com", "first_name": "Jane", "last_name": "Doe", "company": "Acme"}]
contactout_create_bulk_contact_info_jobStart an asynchronous job that finds emails, and optionally phones, for up to 1000 LinkedIn profile URLs, including real-time work email lookup.WriteCreate Bulk Contact Info Job
Start an asynchronous job that finds emails, and optionally phones, for up to 1000 LinkedIn profile URLs, including real-time work email lookup. Returns status (QUEUED) and job_id. Use this for large batches. Then call contactout_get_bulk_contact_info_job with the job_id, or receive results at callback_url. Use contactout_bulk_get_contact_info for 100 URLs or fewer.
Inputs
profilesarrayrequired- LinkedIn profile URLs to process, 1 to 1000. Example: ["https://www.linkedin.com/in/example-person"]
callback_urlstring- Optional HTTPS URL that ContactOut POSTs the results to when the job finishes. If omitted, poll for results with the job_id. Example: https://example.com/webhooks/contactout
email_typestring- Which emails to return. personal returns only personal emails; work returns only work emails (verified in real time, slower); personal,work returns both; none returns no emails and uses no email credits.one of
personalworkpersonal,worknone include_phoneboolean- If true, results include phone numbers and use phone credits. API default is false.
contactout_create_bulk_email_verification_jobStart an asynchronous job that checks deliverability for up to 100 email addresses.WriteCreate Bulk Email Verification Job
Start an asynchronous job that checks deliverability for up to 100 email addresses. Returns status (QUEUED) and job_id. Then call contactout_get_bulk_email_verification_job with the job_id, or receive results at callback_url. Use contactout_verify_email for a single address.
Inputs
emailsarrayrequired- Email addresses to verify, 1 to 100. Example: ["jane.doe@example.com", "john@example.org"]
callback_urlstring- Optional HTTPS URL that ContactOut POSTs the results to when the job finishes. If omitted, poll for results with the job_id. Example: https://example.com/webhooks/contactout
contactout_start_campaignStart a draft email campaign, or resume a stopped one.WriteStart Campaign
Start a draft email campaign, or resume a stopped one. Returns message and data with the campaign id and its new status; an already active campaign returns 200 with Campaign is already active. Use contactout_stop_campaign to stop it. Fails with 422 when the campaign can't start from its current status, for example completed. Requires the Campaigns API to be enabled for your API token; otherwise ContactOut returns 403.
Inputs
campaign_idstringrequired- ID of the campaign to start. Get it from contactout_list_campaigns (the id field) or from the last segment of the campaign URL in the ContactOut web app. Example: pEVRKd
contactout_stop_campaignStop a running email campaign.WriteStop Campaign
Stop a running email campaign. Returns message and data with the campaign id and its new status; an already stopped campaign returns 200 with Campaign is already stopped. Use contactout_start_campaign to resume it. Fails with 422 when the campaign can't stop from its current status. Requires the Campaigns API to be enabled for your API token; otherwise ContactOut returns 403.
Inputs
campaign_idstringrequired- ID of the campaign to stop. Get it from contactout_list_campaigns (the id field) or from the last segment of the campaign URL in the ContactOut web app. Example: pEVRKd
contactout_remove_campaign_recipientsRemove up to 100 recipients from an email campaign by email address.DestructiveRemove Campaign Recipients
Remove up to 100 recipients from an email campaign by email address. Returns success_count, failure_count and results with each recipient's email, status and message (for example Recipient not found in campaign). Use contactout_list_campaigns to find the campaign_id. Requires the Campaigns API to be enabled for your API token; otherwise ContactOut returns 403.
- Idempotent
Inputs
campaign_idstringrequired- ID of the campaign to remove recipients from. Get it from contactout_list_campaigns (the id field) or from the last segment of the campaign URL in the ContactOut web app. Example: pEVRKd
recipientsarrayrequired- Recipients to remove, 1 to 100, each identified by email. Example: [{"email": "jane.doe@example.com"}]
No tools match.