Job Intelligence — French Job Listings (WTTJ & Indeed) avatar

Job Intelligence — French Job Listings (WTTJ & Indeed)

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Job Intelligence — French Job Listings (WTTJ & Indeed)

Job Intelligence — French Job Listings (WTTJ & Indeed)

Search French job listings from Welcome to the Jungle (Algolia API) and Indeed.fr (Playwright). Indeed requires a proxy for production use.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Julien ApiKiy

Julien ApiKiy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

2 months ago

Last modified

Categories

Share

Job Intelligence - French Job Sites Scraper

Apify Actor that scrapes job listings from French job sites without requiring proxy infrastructure. Targets sites with lighter anti-bot protections.

Supported Sources

SourceURLNotes
Welcome to the Junglewelcometothejungle.comFrance's leading job board for startups & tech
Talent.iotalent.ioTech-focused job platform, algorithm-matched
Indeed Francefr.indeed.comGeneral job aggregator
Teamtailor(various)White-label ATS used by many French companies

Input Schema

FieldTypeDefaultDescription
queriesstring[]["Développeur"]Job titles/keywords to search
locationsstring[]["Paris"]Locations to filter by
sourcesstring[]["wttj", "talentio"]Which sites to scrape
teamtailorUrlsstring[][]Specific Teamtailor career page URLs
maxPagesPerQueryinteger2Max search result pages per query/location
maxConcurrencyinteger2Parallel pages to crawl
useProxybooleanfalseEnable Apify proxy (not needed for these sites)

Output Fields

Each job listing includes:

  • title – Job title
  • company – Company name
  • location – Job location
  • url – Direct link to the job posting
  • source – Which site it came from (wttj, talentio, indeed, teamtailor)
  • salary – Salary info (when available)
  • contractType – CDI, CDD, Freelance, Stage, etc.
  • remoteStatus – Remote work information
  • postedDate – When the job was posted (when available)
  • description – Truncated description snippet (max 300 chars)
  • query – The search query that found this job
  • location – The location filter used
  • scrapedAt – ISO timestamp of when the job was scraped

Anti-Detection Features

  • Random user-agent rotation: 12 modern browser user-agents
  • Random delays: 3–8 second delays between page loads
  • Accept-Language header: Set to fr-FR for French content
  • Session pool: Configurable session lifecycle with error score decay
  • Browser flags: Automation detection disabled, sandbox disabled

💰 Pricing

Pay-per-use, no monthly fees:

Price
Actor start$0.01
Per result$0.001

💡 Example: A run returning 500 results costs $0.51 total ($0.01 start + 500 × $0.001).

Local Development

# Install dependencies
npm install
# Run tests
npm test
# Run the actor locally (requires APIFY_TOKEN for full functionality)
npm start

Docker Build

docker build -t job-intelligence .
docker run -e APIFY_TOKEN=your_token job-intelligence

Architecture

src/
main.js – Actor entry point, crawler setup, request routing
scraping.js – Per-source page extraction handlers
utils.js – URL builders, user-agent rotation, text formatters
test/
test.js – Unit tests for utilities

Key Technical Decisions

  1. Playwright (not Cheerio): Needed for JS-rendered content on WTTJ and Talent.io
  2. Crawlee 3.17: Only uses valid PlaywrightCrawler options
  3. No proxy by default: These French sites work without proxy; proxy is optional
  4. 300-char description truncation: Keeps dataset manageable while preserving key info