Skip to main content

Client Discovery

Client Discovery is the engine behind Recruitier’s business development capabilities. It gives Dutch recruiters a data-driven way to find companies that genuinely need recruitment support — right now. Rather than relying on intuition or outdated contact lists, you gain access to a continuously updated view of which companies are actively hiring, what skills they need, and how urgently they need to fill positions.

The Problem with Traditional Business Development

Most recruiters still rely on cold-calling, personal networks, and gut instinct to find new clients. This approach has serious drawbacks:
  • Random outreach wastes time on companies that are not actively hiring.
  • No visibility into whether a company already works with competitors.
  • Missed timing — by the time a recruiter hears about a hiring need, it may already be filled.
  • No way to filter by industry, technology, or geography at scale.
  • Inconsistent pipeline — without a systematic approach, your business development efforts produce unpredictable results.
Recruitier’s Client Discovery solves all of these problems by continuously monitoring the Dutch hiring landscape and surfacing the companies that match your expertise. Instead of making 50 cold calls and hoping for the best, you can identify 10 companies that are demonstrably hiring in your niche and reach out with a data-backed pitch.

How It Works

1

Recruitier Scrapes the Market

Recruitier continuously scrapes job postings from LinkedIn and other sources across the Netherlands. Each job posting is parsed, deduplicated, and linked to the company that posted it. The scraping process runs on a regular schedule, ensuring that newly posted jobs appear in the system within hours.
2

Companies Are Enriched

Every company is enriched with data from LinkedIn, including employee count, industry classification, headquarters location, founding year, website domain, and a company description. This creates a rich profile for each company in the database. Companies are stored as GlobalCompany records with unique identifiers based on their LinkedIn URL and website domain, ensuring no duplicates.
3

Hiring Activity Is Calculated

Recruitier calculates a “hotness score” for each company based on the ratio of active job postings to employee count. A 50-person company with 10 open roles is hiring at a much higher intensity than a 5,000-person company with the same number of openings. This score is recalculated dynamically every time you search, so the results always reflect the current state.
4

Aggregators Are Filtered Out

Before results reach you, Recruitier automatically identifies and removes job aggregators — entities that post jobs on behalf of other companies rather than hiring directly. This detection uses a combination of employee count thresholds, job count ratios, and company name pattern matching (checking for keywords like “vacatures” or “jobs”) to ensure you only see genuine employers.
5

You Search and Filter

Using the Client Search interface, you can filter the entire Dutch market by industry, skills, location, company size, and hiring activity to find exactly the companies that match your specialization. All filters work together with AND logic, progressively narrowing your results to the most relevant companies.

What Makes Client Discovery a Game-Changer

Target Active Hirers

Instead of guessing which companies need recruiters, you can see exactly which companies are actively posting jobs. Companies with high hiring intensity are far more likely to need external recruitment support. The hotness score ranks companies by how aggressively they are hiring relative to their size, putting the best opportunities at the top of your list.

Match Your Expertise

If you specialize in IT recruitment, filter by technologies like Python, React, or AWS. If you focus on a specific industry, filter by sector. Client Discovery lets you find companies that need the exact type of candidates you place. Skills are extracted directly from job descriptions, so the data reflects actual current needs rather than outdated company profiles.

Geographic Precision

Set a location center and radius to focus on companies in your market. Whether you operate nationally or within a specific region, you can narrow your search accordingly. The location filter uses the Haversine formula for accurate distance calculations, accounting for the earth’s curvature — so a 30 km radius around Amsterdam truly means 30 km.

Timing Is Everything

Filter by recent posting activity to find companies that just started hiring. Being the first recruiter to reach out when a company ramps up hiring gives you a significant competitive advantage. A company that posted 5 new jobs yesterday is far more receptive to a recruitment call today than one that posted those same jobs three months ago.

The Company Database

Recruitier maintains a continuously updated database of Dutch companies. Here is how the data is built and maintained:

Data Sources

  • LinkedIn Job Postings — The primary source. Every job posting on LinkedIn is scraped, parsed, and linked to the posting company. Each job includes the title, location, description, experience level, job type, flexibility (remote/hybrid/on-site), and posting date.
  • LinkedIn Company Profiles — Company pages are enriched to pull employee count, industry, location, description, founded year, and other metadata. Each company is identified by its unique LinkedIn URL and website domain.
  • Career Page Scraping — Where available, company career pages are monitored for additional job postings that may not appear on LinkedIn.

Data Quality

  • Deduplication — Jobs are deduplicated across sources to prevent inflated counts. Companies are uniquely identified by LinkedIn URL and website domain, preventing duplicate company records.
  • Aggregator Detection — Companies that are actually job aggregators (posting jobs on behalf of others) are automatically detected and filtered out. This uses three detection patterns: small companies with disproportionately many jobs, companies with unknown employee counts but excessive job postings, and company names containing aggregator-related keywords.
  • Competitor Exclusion — Staffing and recruiting agencies are automatically excluded from client search results. You are looking for clients, not competitors. This exclusion is maintained through a configurable list of excluded industries.
  • Continuous Updates — The database is updated regularly with new job postings and company data refreshes. Enrichment tracking fields on each company record ensure data stays current.
Companies without industry data are still shown in search results. Only companies explicitly classified in excluded industries (like “Staffing and Recruiting”) are filtered out. This means newly discovered companies that have not been fully enriched yet are still visible — you will not miss opportunities just because LinkedIn data has not been pulled yet.

Key Filters Available

Client Discovery provides a comprehensive set of filters to narrow down your search:
FilterDescription
Company NameFree-text search across company names
IndustryFilter by one or more industry categories (sourced from LinkedIn)
Skills / TechnologiesFind companies posting jobs that require specific skills, with AND/OR match modes
Location & RadiusGeographic search centered on a city with adjustable radius in kilometers
Employee CountFilter by company size ranges (minimum and/or maximum)
Hiring ActivityFilter by minimum/maximum active job count and recency of postings
Sort OptionsSort by hotness score, job count, company name, or employee count
All filters use AND logic when combined — a company must match every active filter to appear in results. Within a single filter (like industry or skills), you can choose whether multiple selections use OR logic (match any) or AND logic (match all). This gives you precise control over how broad or narrow your search is.

Getting Started

The fastest way to get started with Client Discovery is to:
  1. Navigate to the Client Search page from the main navigation.
  2. Start with a broad search — perhaps filtering by your primary industry.
  3. Sort by Hotness Score (the default) to see the companies hiring most intensively.
  4. Click on companies that look promising to view their full profile, including all job postings, hiring trends, and contact information.
  5. Save interesting companies to your pipeline by clicking Track Company.
Start with fewer filters and add more as you refine your search. Overly specific filters can eliminate companies you would want to see. You can always narrow down later. A good approach is to start with just your primary industry, review the results, and then layer on skills and location filters as you refine your target.

What Comes Next

Once you have found promising companies through Client Discovery, the next step is managing them through your pipeline. See Client Management to learn how to track, categorize, and develop relationships with your discovered clients.

Advanced

How Client Discovery Works Under the Hood

The Client Discovery engine operates on a two-layer data model. At the foundation is the GlobalCompany entity, which represents a company in the real world. Each GlobalCompany has a unique LinkedIn URL and website domain, along with enrichment data like employee count, industry, location, and description. On top of this sits the Company entity, which represents your personal relationship with a GlobalCompany — including your pipeline status, notes, and CRM data. When you perform a search, the system queries the GlobalCompany table and joins it with scraped job data. Two separate subqueries calculate job counts: a total job count (all active jobs at the company) and a matching job count (jobs that match your active filters like skills, location, or job function). When no filters are active, these two counts are identical. When filters are applied, the results table shows both numbers (e.g., “3 / 12”) so you can see both relevance to your search and overall hiring volume.

The Hotness Score Formula

The hotness score is computed as:
hotness_score = job_count / employee_count
When no job-level filters are active, job_count uses the total unfiltered count. When filters like skills or location are applied, it switches to the matching (filtered) job count. If employee_count is NULL or zero, the hotness score defaults to zero. This means companies without employee data will sort to the bottom when sorted by hotness score, but they are still included in results. The frontend displays the hotness score as a visual indicator:
  • High (3 flames, red): hotness score >= 0.10 (10% or more of workforce being hired)
  • Medium (2 flames, orange): hotness score >= 0.05
  • Low (1 flame, yellow): hotness score >= 0.01
  • Minimal (gray): below 0.01

Aggregator Detection Details

Aggregator detection runs as part of every search query and uses three OR-combined patterns:
  1. Small company, too many jobs: employee count is at or below a threshold AND job count exceeds a small-company job threshold
  2. Unknown size, too many jobs: employee count is NULL AND job count exceeds an unknown-employee threshold
  3. Name-based detection: company name contains keywords from a configurable list (e.g., “vacatures”, “jobs”)
Companies matching any of these patterns are excluded from results. This prevents aggregator sites from polluting your search with jobs they are posting on behalf of real employers.

Connection to Other Platform Features

Client Discovery feeds directly into several other platform features:
  • Client Management Pipeline: When you click “Track Company”, a Company entity is created linked to the GlobalCompany, with an initial status of “Prospect”. All your CRM data, notes, and activity history attach to this Company entity.
  • Decision Maker Discovery: The GlobalCompany’s LinkedIn URL is used to discover decision makers through a two-phase process (Google CSE search followed by Bright Data LinkedIn verification).
  • Hiring Trends: The company detail page queries historical scraped job data grouped by month to show hiring patterns over time.
  • View Tracking: Every time you visit a company detail page, a UserGlobalCompanyView record is created or updated with the current timestamp. This powers the “Last Viewed” column in search results.

Power User Tips

  • The minimum job count defaults to 1: Companies with zero active jobs are excluded by default. This is intentional — a company with no open positions is unlikely to need recruitment services right now.
  • Null industries are allowed: Companies that have not been enriched with industry data still appear in unfiltered results. If you apply an industry filter, these companies will be excluded because they cannot match a specific industry.
  • Skills use JSONB matching: Skill filters work by searching the requirements_summary JSONB field on scraped jobs. The search supports compound skills like “React/Frontend” which match as substring patterns.
  • Saved searches can monitor for new companies: Enable notifications on a saved search and the system will periodically re-run it and alert you when new companies appear in the results. This is particularly powerful for staying on top of emerging opportunities in your niche.