Skip to main content

Overview

One of Recruitier’s most valuable features is its ability to discover and surface contact information for the people behind job listings. Instead of spending hours manually researching who to contact at a company, Recruitier automatically extracts and enriches contact details from multiple sources, giving you a direct path to decision makers. Contact details appear on individual job pages and include email addresses, phone numbers, LinkedIn profiles, and contact person names — each with source attribution and quality indicators to help you choose the best outreach channel.
Contact information is one of Recruitier’s strongest differentiators. The 3-level aggregation system (job-level, company-level, global company-level) means you often have contact details even for jobs where the listing itself provides no contact information at all.

How Contacts Are Discovered

Recruitier discovers contact information through several channels, each with a different source badge that helps you understand where the data came from:

Job Description Extraction

When a job listing includes contact details in its text (e.g., “Send your application to j.dejong@company.nl” or “For questions, call 020-1234567”), Recruitier’s AI extracts this information automatically during the scraping process. Source badge: Job Description This is often the highest-quality source because the company explicitly provided the contact details for applicants. Names, email addresses, and phone numbers found in job descriptions are extracted and structured into the ScrapedJob’s contact_information JSONB field.

Company LinkedIn

Recruitier enriches job listings with data from the company’s LinkedIn profile, including identifying relevant decision makers and their contact information. Source badge: Company LinkedIn LinkedIn-sourced contacts often include the person’s job title and profile link, making it easy to verify their relevance before reaching out. These contacts are ranked by relevance to hiring decisions.

Company Website

Contact details discovered on the company’s website (e.g., from “Contact Us” pages, team directories, or about pages) are attributed to this source. Source badge: Company Website

Previously Saved Job

When a contact was already discovered in a different job listing from the same company, Recruitier carries that contact information forward to new listings. Source badge: Previously Saved Job
This cross-pollination of contacts across jobs from the same company is one of the key benefits of Recruitier’s aggregation system. A contact discovered on one listing becomes available for all listings from that company in your collection.

Self-Provided

Contacts that you manually add to a job record are marked with this source. This includes contacts you discovered through your own research or existing network. Source badge: Self Provided

Enrichment Services

Recruitier uses professional data enrichment services to discover additional contacts, particularly for finding verified email addresses and decision-maker profiles. Source badge: Bright Data or Lusha
Enrichment service lookups consume credits from your subscription plan. The platform indicates when enrichment data is available and lets you choose whether to use credits for additional contact discovery.

The 3-Level Contact Aggregation System

Recruitier aggregates contacts from three hierarchical levels, deduplicating across all sources to give you the most comprehensive set of contacts possible:
LevelSourceWhat It Contains
Level 1: Job ContactsExtracted from the specific job listing’s descriptionDirect contacts mentioned in the job posting (most relevant to that specific role)
Level 2: Company ContactsFrom the Company record linked to this jobContacts associated with the company as a whole, discovered across all their listings
Level 3: GlobalCompany ContactsFrom the global company databaseContacts enriched from external sources (LinkedIn, enrichment services, website scraping)
The aggregation works bottom-up: job-level contacts are shown first (highest relevance), then company-level contacts, then global contacts. Deduplication ensures you never see the same person listed twice, even if they appear at multiple levels.
The deduplication logic matches contacts by email address, phone number, or LinkedIn profile URL. If the same person appears at both the job level and the company level (e.g., their email was in the job description AND in the company’s contact database), only one entry is shown, preserving the most complete set of attributes from all sources.

Contact Types

Recruitier categorizes contacts into three types:
TypeConstantIconDescription
EmailEMAILEnvelopeAn email address associated with the job or company. Includes quality scoring.
PhoneTELPhoneA telephone number, typically a direct line found in the job description.
LinkedIn ProfileLINKEDIN_CONTACT_PERSONLinkedIn iconA link to a relevant person’s LinkedIn profile at the hiring company.
Each contact record includes a contact person name when available. A name plus a specific contact type (email or LinkedIn) gives you the most actionable outreach target.

Email Quality Indicators

Email contacts come with additional quality signals to help you prioritize which addresses to use:

Email Score

A numerical score (0-100) indicating the confidence that the email address is valid, deliverable, and associated with the right person. Higher scores mean higher confidence. This score comes from an email verification service that checks deliverability.

Email Status

The verification status of the email address:
  • Valid — The address has been verified and is likely to accept messages
  • Risky — The address exists but delivery is uncertain (e.g., catch-all domain)
  • Unknown — The address could not be verified

Email Recommendation

A boolean indicator showing whether Recruitier recommends using this email for outreach. Recommended emails have been validated and are associated with a named contact person.

Email Reasoning

A text explanation of why the email is or is not recommended. For example: “Verified personal email for hiring manager” or “Generic info@ address, consider finding a direct contact.”
When a job has multiple email contacts, start with the one that has the highest score and a recommended status. Generic addresses (info@, hr@, careers@) are less effective than personal addresses for recruitment outreach. A personal email with a score above 80 and a “recommended” flag is your best bet.

LinkedIn Contact Scoring

LinkedIn contacts also have quality indicators:
FieldDescription
LinkedIn RankA numerical ranking among LinkedIn contacts for this company. Lower numbers indicate higher relevance (rank 1 is the most relevant decision maker).
LinkedIn ScoreA confidence score for the contact’s relevance to the job and hiring decisions.
LinkedIn ReasonAn explanation of why this person was identified as a relevant contact (e.g., “VP of Engineering at a 50-person company — likely the hiring manager for development roles”).

Profile Freshness

For LinkedIn contacts, Recruitier tracks:
  • Profile last updated — When the contact’s LinkedIn profile was last scraped or verified
  • Verified current — Whether the contact’s current employment at the company has been verified through their LinkedIn experience section
LinkedIn data can become stale. A contact who was the “Head of HR” six months ago may have changed roles. Always check the profile freshness indicators and verify on LinkedIn before reaching out. The “verified current” flag is your best indicator of data accuracy.

Contact Context Classification

During the discovery process, Recruitier’s AI classifies contacts with additional context to help you understand the contact’s role and relevance:
  • Company employee count at discovery — How many employees the company had when the contact was found. This helps contextualize the contact’s role and influence.
  • Is likely sole employee — Flag for very small companies where the contact is probably the only employee (common for ZZP/freelance entities in the Dutch market).
  • Is likely founder — Flag for startup contacts who appear to be the company founder. Founders at small companies are often the direct hiring decision maker.
  • Is sole decision maker — Flag indicating this person is likely the only decision maker for hiring, especially relevant at small companies where there is no HR department.
  • Context summary — A human-readable summary of the contact’s role and relevance (e.g., “CTO at a 25-person fintech startup — primary technical decision maker”).
These contextual flags are particularly valuable for tailoring your outreach approach. Reaching out to a sole decision maker at a 10-person startup requires a very different tone and pitch than contacting one of several HR managers at a 500-person enterprise.

Using Contact Information for Outreach

Once you have identified the right contact, there are several ways to use the information:

Direct Outreach from Recruitier

Click the outreach button on a contact to open the message composer. Recruitier can:
  • Pre-fill the recipient’s email or LinkedIn profile
  • Generate a personalized outreach message based on the job description and your tone of voice settings
  • Include the auto-generated subject line for email outreach
  • Start a multi-step outreach flow for sustained engagement

Manual Outreach

Copy the contact details (email, phone, LinkedIn URL) to use in your own email client or communication tool. The contact’s name and context summary provide the information you need to personalize your approach.

Contact History

The last contact info section shows a summary of your most recent interaction with this contact, including:
  • The date of last contact
  • The channel used (email, LinkedIn, phone)
  • A brief summary of the interaction
This prevents duplicate outreach and helps you pick up conversations where you left off.
Always check the “geen acquisitie” (acquisition not wanted) flag on the job before initiating contact. If the flag is set, the company has explicitly stated they do not want recruiter outreach. Respect this request.

Favoriting Contacts

You can favorite individual contacts by clicking the star icon. Favorited contacts are highlighted in the contact list and can be filtered across your entire collection. This is useful for building a network of go-to contacts at companies you frequently work with.
Contact favorites are shared across jobs and companies. If you favorite a contact on one job listing, that person will appear as a favorite whenever they show up on other listings from the same company. This creates a persistent network of your most valuable contacts.

Best Practices

  • Prioritize named contacts over generic email addresses — personal outreach gets significantly higher response rates
  • Check the email score before sending — low-scoring emails are more likely to bounce and hurt your sender reputation
  • Verify LinkedIn profiles are current before connecting — look for the “verified current” flag
  • Use the context summary to personalize your message — mentioning the contact’s specific role shows you did your research
  • Check for “acquisition not wanted” flags on the job before contacting — respect the company’s stated preference
  • Log your interactions using internal notes so your team knows who has been contacted and what was discussed
  • Start with rank-1 LinkedIn contacts — these are identified as the most relevant decision makers for the type of role you are pursuing

Advanced

Contact Information Storage Architecture

Contact information is stored at multiple levels in the database: ScrapedJob level:
  • contact_information (JSONB field) — Stores contacts extracted directly from the job description during scraping. Contains structured records with type, value, name, and source attribution.
Company level:
  • Contact records linked to the Company entity associated with the ScrapedJob.
GlobalCompany level:
  • Contact records in the global company database, enriched from external sources like LinkedIn, Bright Data, Lusha, and website scraping.
The aggregation service combines all three levels when rendering the job detail page, applying deduplication based on contact type and value (email address, phone number, or LinkedIn URL).

How AI Extracts Contacts from Job Descriptions

During the scraping process, Recruitier’s AI parses job description text to identify contact information. The extraction looks for:
  • Email patterns: Standard email address formats, including those embedded in sentences like “Contact jan.devries@company.nl for more information”
  • Phone patterns: Dutch phone number formats (06-XXXX, 020-XXXX, +31-XX-XXXX)
  • Name-role pairs: Patterns like “Contact person: Jan de Vries, HR Manager”
  • LinkedIn URLs: Direct links to person profiles embedded in the listing
The extracted data is stored in the contact_information JSONB field on the ScrapedJob entity, making it available to all users who have a Job linked to that ScrapedJob.

Email Verification Pipeline

Email addresses go through a verification pipeline:
  1. Syntax validation — Checks the email format is valid
  2. Domain verification — Confirms the email domain exists and has MX records
  3. Deliverability check — Attempts SMTP verification without sending a message
  4. Catch-all detection — Identifies domains that accept all addresses (reduces confidence)
  5. Score assignment — Produces a 0-100 confidence score based on all checks
  6. Recommendation — Combines score, contact name presence, and email type (personal vs. generic) into a recommendation flag

LinkedIn Contact Discovery and Ranking

LinkedIn contacts are discovered and ranked through a multi-step process:
  1. Company identification — The hiring company’s LinkedIn profile is identified
  2. Employee discovery — Key employees are identified based on their LinkedIn profiles and current employment
  3. Relevance scoring — Each contact is scored based on their job title’s relevance to hiring decisions (e.g., “Head of Engineering” scores higher than “Junior Developer”)
  4. Rank assignment — Contacts are ranked from 1 (most relevant) to N
  5. Context generation — An AI-generated summary explains why each contact is relevant (e.g., “CTO at a 25-person fintech startup — primary technical decision maker for all engineering roles”)

Power-User Tips

Favoriting contacts across multiple jobs from the same company builds a persistent network. Over time, you develop relationships with key contacts at companies you frequently interact with. When a new job appears at one of these companies, your favorited contacts are immediately available, giving you a warm outreach path.
The context classification flags (sole employee, likely founder, sole decision maker) directly inform your outreach approach:
  • Sole decision maker: Be direct about the opportunity and the value you bring. This person has authority to hire and does not need to consult others.
  • Likely founder: Appeal to their vision and growth plans. Founders respond well to messages that demonstrate understanding of their company’s mission.
  • One of many HR contacts: Be concise and professional. Your message is competing with many others in their inbox.
When the same company has multiple open positions in your collection, the aggregation system ensures you see all contacts across all their listings. This is valuable because a contact discovered on their “Python Developer” listing (e.g., the tech lead) might be the perfect outreach target for their “DevOps Engineer” listing as well.
If a LinkedIn contact’s profile freshness indicates it was last verified months ago:
  1. Open their LinkedIn profile directly using the provided URL
  2. Check if their current role still matches what Recruitier shows
  3. If they have moved on, look at who replaced them — the new person in that role is likely your best contact now
  4. Update your internal notes to flag the stale contact for your team

Business Rules

  • Contact deduplication: When the same contact appears at multiple aggregation levels, the most complete record is kept. A contact with name + email + LinkedIn at the global level takes precedence over a contact with only an email at the job level.
  • Enrichment credit consumption: Looking up contacts via Bright Data or Lusha enrichment services consumes subscription credits. The platform shows credit usage and remaining balance.
  • Contact persistence: Contacts are never deleted when jobs are deleted. The contact data remains in the system at the Company and GlobalCompany levels, available for future job listings from the same company.
  • Privacy compliance: Contact information is sourced from publicly available data (job listings, company websites, LinkedIn profiles). Manual contacts added by users are private to their agency.