Welcome to the Jungle Scraper · Hiring Signals & Lemlist Push avatar

Welcome to the Jungle Scraper · Hiring Signals & Lemlist Push

Pricing

from $3.00 / 1,000 company extracteds

Go to Apify Store
Welcome to the Jungle Scraper · Hiring Signals & Lemlist Push

Welcome to the Jungle Scraper · Hiring Signals & Lemlist Push

Scrape Welcome to the Jungle job postings and turn them into outreach-ready B2B leads. Filter by sector, job type, and contract. Get company name, open roles, headcount, founding year, and optional CEO/CTO/VP Sales LinkedIn. Push directly to Lemlist with a pre-filled icebreaker. No login. No API key

Pricing

from $3.00 / 1,000 company extracteds

Rating

0.0

(0)

Developer

Corentin Robert

Corentin Robert

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share

WTTJ Hiring Signal · Companies Actively Recruiting

A company that is actively hiring is a company with budget, a growth signal, and a decision-maker under pressure to deliver. Turn Welcome to the Jungle job postings into a clean, outreach-ready list — filtered by sector, job type, contract, and recency. Optionally enrich each company with the CEO, Founder, CTO, CMO, VP Sales, or HR contact LinkedIn profile — and push leads directly into a Lemlist campaign with a pre-filled icebreaker.

No login. No API key. No WTTJ account needed.


Who is this for?

You are…Typical goalSuggested setup
B2B SaaS / software vendorFind tech companies scaling their sales teamSectors: SaaS + Software · Job types: Sales · Contract: Full-time · Last 3 months
Recruiter / headhunterBuild a pipeline of companies hiring in your nicheSector of your choice · Contract: Full-time or Apprenticeship
Outbound SDR / BDRIdentify companies with budget signal (active hiring)Any sector · Job type: Sales or Tech · Enrich CEO LinkedIn
Market researcherMap which sectors are hiring and whereMultiple sectors · No job type filter · No cap
HR tech vendorFind companies posting HR / People rolesSectors: any · Job types: HR / People
Investor / analystTrack hiring activity as a growth signalOne sector · Last 1–3 months · Download full dataset

What you get by default: company name, WTTJ profile URL, matching open role count and titles, headcount, size label, city, and country code — one row per company, ready to export.

When to enable contact enrichment: turn on Find LinkedIn contact when you need a direct decision-maker for outreach. You get their name, exact LinkedIn URL, title, and an AI confidence score. Adds $0.05 per company.

When to enable Lemlist push: add your Lemlist API key + campaign ID to push each lead directly into your outreach sequence — no CSV export needed. Each lead is created with a pre-filled icebreaker (FR or EN) mentioning the open roles and city. Works with or without contact enrichment. Adds $0.005 per lead pushed.


What it extracts

FieldDescription
company_nameCompany name as listed on WTTJ
wttj_urlDirect link to their WTTJ profile
jobs_count_matchingNumber of open roles matching your filters
jobs_matching_titlesList of matching job titles
nb_employeesApproximate headcount
size_labelHuman-readable size range (e.g. "50–149 employees")
founding_yearYear the company was founded — useful to filter early-stage vs. established
company_summaryOne-line pitch from WTTJ — perfect for personalizing cold emails
cityPrimary office city
country_codeISO country code (FR, GB, DE…)
contact_nameCEO / Founder / HR name (enrichment ON)
contact_linkedin_urlLinkedIn profile URL (enrichment ON)
contact_titleExact title on LinkedIn (enrichment ON)
contact_certaintyAI confidence score 0–100 (enrichment ON)
lemlist_lead_idLemlist lead ID (lea_xxx) if pushed, duplicate if already in campaign (Lemlist ON)
scraped_atISO timestamp

Quick start

  1. Open the Actor in Apify Console
  2. Sectors — pick one or more (e.g. SaaS / Cloud Services)
  3. Job types — pick what roles to look for (e.g. Sales & Customer Service)
  4. Contract types — pick Full-time (CDI) or others
  5. Published within — set the recency window (default: 3 months)
  6. Max companies (optional) — cap the number of results or leave at 0 for all matches
  7. LinkedIn contact (optional) — choose CEO, CTO, CMO, VP Sales, or HR to automatically find that person's LinkedIn profile for each company ($0.05 per company)
  8. Lemlist (optional) — add your Lemlist API key and campaign ID to push each lead directly into your sequence ($0.005 per lead). Choose FR or EN for the icebreaker language. Works with or without contact enrichment.
  9. Click Start — results appear in the Dataset tab as they are collected
  10. Export as CSV, JSON, or Excel — or let Lemlist handle the outreach automatically

Input

ParameterTypeDefaultDescription
sectorsstring[]["saas-cloud-services"]Industry sectors to target (select from 70+ options)
professionCategoriesstring[]["Sales & Customer Service"]Job types to match (20 categories)
contractTypesstring[]["full_time"]Contract types to include
monthsBackinteger3Only include postings from the last N months (1–12)
maxCompaniesinteger0Max companies to export (0 = no cap)
contactRolestring""Role to find: ceo, founder, cto, cmo, vp-sales, or hr. Leave empty to skip enrichment (PPE: $0.05/company when set)
icebreakerLanguagestring"en"Language for the Lemlist icebreaker: en (English) or fr (French)
lemlistApiKeystring""Your Lemlist API key (Settings → Integrations). Leave empty to skip Lemlist push
lemlistCampaignIdstring""Target campaign ID (e.g. cam_A1B2C3). Found in the campaign URL
lemlistFindEmailbooleanfalseAsk Lemlist to find a verified email for each lead (consumes Lemlist credits)
deduplicateAcrossRunsbooleanfalseSkip companies already exported in a previous run — ideal for daily schedules. The seen list is stored in a persistent Apify Key-Value Store (wttj-seen-slugs). Note: when enabled, maxCompanies caps new companies only (full pool is fetched first)
resetDeduplicationbooleanfalseClear the seen companies cache and start fresh on the next run

JSON example — SaaS companies hiring Sales (CDI, last 3 months)

{
"sectors": ["saas-cloud-services", "software-1"],
"professionCategories": ["Sales & Customer Service"],
"contractTypes": ["full_time"],
"monthsBack": 3,
"maxCompanies": 0
}

JSON example — FinTech companies hiring Tech, with CEO LinkedIn + Lemlist push (French)

{
"sectors": ["fintech-insurtech", "banking-1"],
"professionCategories": ["Tech & Engineering"],
"contractTypes": ["full_time"],
"monthsBack": 6,
"contactRole": "ceo",
"minCertaintyScore": 75,
"icebreakerLanguage": "fr",
"lemlistApiKey": "YOUR_LEMLIST_API_KEY",
"lemlistCampaignId": "cam_XXXXXXXXXX",
"lemlistFindEmail": false
}

How it works

  1. Search — queries WTTJ with your sector, contract, and date filters
  2. Filter — keeps only companies with at least one role matching your selected job types
  3. Deduplication — one row per company, with all matching job titles consolidated
  4. Contact enrichment (optional) — searches for a LinkedIn profile matching the requested role and uses AI to score confidence
  5. Lemlist push (optional) — pushes each lead to your campaign with a pre-filled FR/EN icebreaker; deduplicates automatically
  6. Export — one clean row per company, ready to download

Output sample

{
"company_name": "PayFit",
"wttj_slug": "payfit",
"wttj_url": "https://www.welcometothejungle.com/en/companies/payfit",
"jobs_count_matching": 2,
"jobs_matching_titles": ["Business Developer / SDR - Paris", "Account Executive"],
"nb_employees": 800,
"size_label": "500–1,499 employees",
"founding_year": 2015,
"company_summary": "The HR and payroll software that lets you focus on what matters.",
"city": "Paris",
"country_code": "FR",
"contact_name": "Firmin Zocchetto",
"contact_linkedin_url": "https://fr.linkedin.com/in/firmin-zocchetto",
"contact_title": "Co-founder & CEO @PayFit",
"contact_certainty": 100,
"lemlist_lead_id": "lea_jwzfLYMMYSyyCZZJ9",
"scraped_at": "2026-06-02T13:45:00.000Z"
}

Performance and cost

Scenario~CompaniesCost estimate
SaaS + Sales + CDI, last 3 months~100$0.30
All Tech sectors, last 6 months, no cap~500$1.50
100 companies + CEO LinkedIn enrichment100$0.30 + $5.00 = $5.30
100 companies + CEO enrichment + Lemlist push100$0.30 + $5.00 + $0.50 = $5.80

Compute costs on Apify platform are additional (minimal — this Actor uses plain HTTP, no browser).


Local development

Setup

cd wttj-hiring-signal-scraper
npm install

Run locally

$npm start

Edit storage/key_value_stores/default/INPUT.json to adjust filters for local runs.

Run tests

$npm test

49 unit tests covering filter building, company parsing, contact enrichment, and Lemlist push logic.


Important / limitations

  • Daily run deduplication — enable deduplicateAcrossRuns when scheduling the Actor daily. Each run only enriches and pushes companies not seen in previous runs, saving enrichment credits. Lemlist also deduplicates natively (409 on existing leads), so the Lemlist push is safe to run without deduplication too.
  • Results depend on what companies have active listings on WTTJ — not all companies use the platform
  • The profession category filter is applied client-side after Algolia pagination; very broad filters may fetch many pages before finding matches
  • Contact enrichment uses public Google search results — accuracy depends on how prominent the contact is online. The certainty score helps you filter low-confidence results
  • LinkedIn URLs may change over time — re-run enrichment periodically for up-to-date profiles

Plug into your outreach stack

The dataset exports as CSV, JSON, or Excel in one click from the Apify Console.

Option A — Native Lemlist push (zero export needed):

  1. Add your Lemlist API key + campaign ID in the input form
  2. Run the Actor — each lead is pushed automatically with a pre-filled icebreaker
  3. Choose FR or EN for the message language
  4. Enable Find email to let Lemlist search for a verified email (uses Lemlist credits)

Option B — Manual CSV import:

  1. Run the Actor with enrichment ON
  2. Export as CSV from the Dataset tab
  3. Import directly into lemlist as a new lead list

Want to add professional emails without Lemlist credits? Run the output through FullEnrich — paste the contact_linkedin_url and get a verified email in seconds.

Full sequence: WTTJ hiring signal → LinkedIn contact → email (FullEnrich) → outreach (lemlist).


More tools for B2B prospecting

These Actors pair naturally with the WTTJ Hiring Signal scraper:

ActorHow it fits
French Companies · Search & SIREN EnrichmentEnrich any company from the dataset with its SIREN, legal form, NAF code, and official address from the French register
French Legal Announcements · BODACC ScraperCross-reference hiring signals with legal events — fundraising, registrations, insolvency — for deeper qualification
Facebook Ads Library ScraperCheck whether a company is actively running Meta ads — another strong budget signal alongside the WTTJ hiring activity
Facebook Page Scraper · Extract Email, Phone & WebsiteFind the contact email and phone from a company's Facebook page when LinkedIn enrichment isn't enough
Lemlist Usage DetectorCheck whether a prospect already uses lemlist — useful for targeting or for avoiding cannibalism in your sequence
HubSpot Email CheckerVerify whether a contact email has an active HubSpot login — qualifies inbound leads before sequencing

How much does it cost to scrape Welcome to the Jungle?

This Actor uses pay-per-event pricing — you only pay for what you extract.

ScenarioApprox. cost
10 companies (first run / test)~$0.03
100 companies, no enrichment~$0.30
100 companies + CEO LinkedIn~$5.30
100 companies + CEO LinkedIn + Lemlist push~$5.80
500 companies, no enrichment~$1.50

The Actor uses plain HTTP (no browser) — compute costs are minimal. No residential proxy needed.

This Actor only accesses data that Welcome to the Jungle makes publicly available on its website — company names, office locations, headcount, and active job listings visible to any visitor without a login. No authentication is bypassed and no personal data is collected beyond what is displayed publicly on the platform. As with any data involving companies or individuals, ensure your use complies with GDPR and relevant regulations in your jurisdiction.


Support

Questions or custom scraping needs? Contact corentin@outreacher.fr