Back to Projects

Upwork Job Scraper

Anti-detection Upwork job scraper API with Cloudflare bypass, advanced filtering, and real-time job data extraction.

Upwork Job Scraper

Overview

The Upwork Job Scraper is a FastAPI-powered scraping service that extracts real-time job listings from Upwork using Camoufox — a stealth Firefox fork with anti-fingerprinting capabilities. The system automatically solves Cloudflare challenges, maintains persistent browser sessions with sticky proxy IPs for consistent identity, and extracts comprehensive job data including client history, activity metrics, and qualification requirements. A powerful post-scrape filtering engine lets users narrow results by proposal count, client activity, skills, budget, and more. Deployed via Docker for production reliability.

Challenge

Upwork's aggressive anti-bot protections — Cloudflare challenges, browser fingerprinting, and rate limiting — make traditional scraping approaches ineffective and result in instant blocking.

Results

99%+ Cloudflare bypass rate, 500+ jobs scraped per session, sub-second per-job extraction with parallel workers.

99%+
Cloudflare bypass
500+
Jobs per session
<1s/job
Extraction speed
25+
Filter parameters

Key Highlights

Automatic Cloudflare challenge solving with Camoufox stealth browser
Sticky proxy sessions with GeoIP spoofing (timezone, locale, WebRTC)
Parallel job detail fetching with 10 concurrent workers
Advanced post-scrape filtering by activity, qualifications & budget

Architecture

Camoufox stealth browser with automatic Cloudflare challenge solver and GeoIP spoofing
Sticky proxy sessions maintaining consistent IP identity across browser and HTTP requests
FastAPI async server with auto-refreshing sessions on 403 or login page detection
Docker deployment with Playwright base image for production-ready containerization

Timeline

1

Anti-Detection Research

2 weeks

Camoufox setup, Cloudflare analysis, sticky proxy architecture

2

Scraper Core

3 weeks

Search URL builder, HTML/NUXT parsing, parallel job detail extraction

3

API & Filtering

2 weeks

FastAPI server, Pydantic models, post-scrape filter engine

4

Dockerization & Deploy

1 week

Docker containerization, auto-reload dev setup, production config

Every scraper we tried before got blocked by Cloudflare within minutes. Zak's solution bypasses it with a 99% success rate — we finally get clean, real-time Upwork data without babysitting anything.
Stefan S.
Client, Data Automation

Ready to Transform Your
Business with AI?

Get a free consultation and discover how AI can automate your operations, reduce costs, and drive growth.