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.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:| Level | Source | What It Contains |
|---|---|---|
| Level 1: Job Contacts | Extracted from the specific job listing’s description | Direct contacts mentioned in the job posting (most relevant to that specific role) |
| Level 2: Company Contacts | From the Company record linked to this job | Contacts associated with the company as a whole, discovered across all their listings |
| Level 3: GlobalCompany Contacts | From the global company database | Contacts enriched from external sources (LinkedIn, enrichment services, website scraping) |
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:| Type | Constant | Icon | Description |
|---|---|---|---|
EMAIL | Envelope | An email address associated with the job or company. Includes quality scoring. | |
| Phone | TEL | Phone | A telephone number, typically a direct line found in the job description. |
| LinkedIn Profile | LINKEDIN_CONTACT_PERSON | LinkedIn icon | A link to a relevant person’s LinkedIn profile at the hiring company. |
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.”LinkedIn Contact Scoring
LinkedIn contacts also have quality indicators:| Field | Description |
|---|---|
| LinkedIn Rank | A numerical ranking among LinkedIn contacts for this company. Lower numbers indicate higher relevance (rank 1 is the most relevant decision maker). |
| LinkedIn Score | A confidence score for the contact’s relevance to the job and hiring decisions. |
| LinkedIn Reason | An 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
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
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.
- Contact records linked to the Company entity associated with the ScrapedJob.
- Contact records in the global company database, enriched from external sources like LinkedIn, Bright Data, Lusha, and website scraping.
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
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:- Syntax validation — Checks the email format is valid
- Domain verification — Confirms the email domain exists and has MX records
- Deliverability check — Attempts SMTP verification without sending a message
- Catch-all detection — Identifies domains that accept all addresses (reduces confidence)
- Score assignment — Produces a 0-100 confidence score based on all checks
- 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:- Company identification — The hiring company’s LinkedIn profile is identified
- Employee discovery — Key employees are identified based on their LinkedIn profiles and current employment
- 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”)
- Rank assignment — Contacts are ranked from 1 (most relevant) to N
- 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
Building a contact network over time
Building a contact network over time
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.
Using context flags for outreach strategy
Using context flags for outreach strategy
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.
Cross-referencing contacts across jobs
Cross-referencing contacts across jobs
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.
Handling stale LinkedIn data
Handling stale LinkedIn data
If a LinkedIn contact’s profile freshness indicates it was last verified months ago:
- Open their LinkedIn profile directly using the provided URL
- Check if their current role still matches what Recruitier shows
- If they have moved on, look at who replaced them — the new person in that role is likely your best contact now
- 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.
Related
- Job Details — The full job detail page where contacts are displayed
- Saving & Managing Jobs — Managing your job collection
- Active Jobs — Filtering for active jobs before outreach

