B2B Lead Research & Data Scraping Specialist (LinkedIn / Apollo / PhantomBuster) — German Market

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

$750/Month

HOURS PER WEEK

40

DATE UPDATED

Aug 20, 2026

JOB OVERVIEW

B2B Lead Research & Data Scraping Specialist (LinkedIn / Apollo / PhantomBuster) — German Market

**Job Type:** Full-time (40 hrs/week), 100% remote
**Salary:** $500 – $750/month (based on experience) + performance bonus per 1,000 validated leads delivered above target
**Working hours:** Flexible, but 3–4 hours overlap with European time (CET) required

---

## About the role

We are a German B2B lead generation agency. We run cold email and cold calling campaigns for our clients in Germany — and everything starts with clean, accurate lead data.

We are looking for one person who owns our entire lead sourcing operation: you receive a clearly defined ICP (Ideal Customer Profile) from us, and you deliver validated, structured lead lists — every week, reliably, at volume.

This is **not** a sales role. You will not write emails, you will not call anyone. Your job is data: find it, verify it, clean it, deliver it.

---

## What you will deliver every month

- **~10,000 validated B2B email addresses** (bounce-checked, deduplicated, ICP-matched)
- **~1,500 – 2,000 phone numbers** for our cold calling team. A working, verified company phone number is enough — a direct dial is a bonus, not a requirement. What matters is that the number is correct and tied to a named contact person or a clearly identified company.
- All leads delivered in **our fixed Google Sheets / CSV column schema** (company, domain, contact first/last name, job title, email, phone, city, source, verification status, date)
- Weekly delivery batches — not one dump at the end of the month

Targets are volume **and** quality. A list of 10,000 emails that doesn't match the ICP is worth zero to us.

---

## What you will actually do

- Build search queries and filters in LinkedIn Sales Navigator, ---------- , and Google Maps based on the ICP we define
- Run and maintain scraping workflows (PhantomBuster, Waalaxy, Apollo exports, Google Maps scrapers, Instant Data Scraper, etc.)
- Enrich missing data — find the decision maker's email and phone via company websites, Impressum pages, Xing, LinkedIn, and enrichment tools
- Verify every email through our verification tool (MillionVerifier / NeverBounce) — we only accept "valid", never "catch-all" or "risky" without flagging it
- Deduplicate against our master suppression list before every delivery
- Spot-check ICP fit manually: does this company actually match what we asked for?
- Report weekly: how many leads, from which source, verification rate, blockers

---

## Requirements

- **Proven experience** scraping and enriching B2B leads at volume — you have done thousands of leads per month before, not 200
- Hands-on with at least three of: LinkedIn Sales Navigator, ---------- , PhantomBuster, Waalaxy, Surfe, Clay, Instant Data Scraper, Google Maps scrapers
- Strong Google Sheets / Excel skills (filters, VLOOKUP/XLOOKUP, deduplication, text functions, basic data cleaning)
- Understanding of email verification and why bounce rates matter
- Extremely detail-oriented — you notice when a column is shifted, when names are in the wrong case, when a domain is a Gmail address
- Reliable internet connection and a computer that can run multiple browser tabs and tools
- Good written English for reporting and communication

**German is NOT required.** But you must be comfortable working on German-language websites (use a translator — you mainly need to find Impressum, Kontakt, and Team pages).

## Nice to have

- Experience with the German or wider European market
- Experience with LinkedIn account management / avoiding restrictions and bans
- Familiarity with ---------- , n8n, or Zapier to automate parts of the workflow
- Basic understanding of GDPR-compliant B2B data handling

---

## What we provide

- **All tools and paid accounts** — LinkedIn Sales Navigator, Apollo, PhantomBuster, verification credits, proxies. You never pay for software.
- A clearly defined ICP for every campaign, with examples of good and bad fits
- Our exact column schema and delivery process
- Direct communication with the founder — no bureaucracy, fast decisions

---

## How we hire

1. **Application** (see below)
2. **Short interview** (video call, ~20 minutes)
3. **Paid test task:** source 100 leads for a real ICP we give you. We pay for this regardless of outcome.
4. **Offer**

---

## How to apply

Please send us:

1. Start your message with the word **"SCRAPER-2026"** so we know you read the full posting. Applications without this will be ignored.
2. Which of the tools listed above you have personally used, and for how long
3. The **largest lead list you have ever built** — how many leads, in what timeframe, for which market, and how you sourced them
4. A short answer: *You need 500 direct phone numbers of managing directors of small German companies. Apollo only returns the company main line. What do you do?*
5. Your monthly salary expectation in USD

We reply to every application that follows these steps.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0142
Total Execution Time  0.0161
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,513,232 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/B2B-Lead-Research-Data-Scraping-Specialist-LinkedIn-Apollo-PhantomBuster-German-Market-1713365
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0072 seconds)  (Hide)
0.0017   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1713365
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 901619
 LIMIT 1 
0.0005   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1713365
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-17',ej.date_added) duration_days, DATEDIFF('2026-10-17',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_jobs ej WHERE e.employer_id = ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id = '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-10-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1713365' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1713365 
0.0007   UPDATE employer_jobs SET hit_counts = '***Aug-20-2026=662***Aug-21-2026=190***Aug-22-2026=44***Aug-23-2026=46***Aug-24-2026=65***Aug-25-2026=25***Aug-26-2026=44***Aug-27-2026=31***Aug-28-2026=12***Aug-29-2026=3***Aug-30-2026=2***Aug-31-2026=24***Sep-01-2026=20***Sep-02-2026=25***Sep-03-2026=11***Sep-04-2026=11***Sep-05-2026=6***Sep-06-2026=13***Sep-07-2026=13***Sep-08-2026=4***Sep-09-2026=10***Sep-10-2026=8***Sep-11-2026=7***Sep-12-2026=4***Sep-13-2026=12***Sep-14-2026=17***Sep-15-2026=3***Sep-16-2026=8***Sep-17-2026=3***Sep-18-2026=5***Sep-19-2026=4***Sep-20-2026=5***Sep-21-2026=7***Sep-22-2026=13***Sep-23-2026=7***Sep-24-2026=4***Sep-25-2026=4***Sep-26-2026=5***Sep-27-2026=4***Sep-28-2026=11***Sep-29-2026=5***Sep-30-2026=9***Oct-01-2026=17***Oct-02-2026=13***Oct-03-2026=5***Oct-04-2026=6***Oct-05-2026=7***Oct-06-2026=4***Oct-07-2026=6***Oct-08-2026=6***Oct-09-2026=4***Oct-10-2026=4***Oct-11-2026=2***Oct-12-2026=2***Oct-13-2026=2***Oct-14-2026=2***Oct-15-2026=3***Oct-16-2026=2***Oct-17-2026=6' WHERE job_id= '1713365'  
0.0005   UPDATE employer_jobs SET monthly_hits = '***Aug-2026=1148***Sep-2026=258***Oct-2026=91' WHERE job_id= '1713365'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1713365' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1713365 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '901619'
AND `date_added` >= '2022-06-08' 
0.0004   select * from teasers 
0.0006   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)