Large-Scale E-Commerce Price Tracker
Built a Scrapy + Playwright pipeline scraping 500K+ product listings daily across 20 sites, with change detection and PostgreSQL storage.
Portfolio Β· Youssef Farhan
Full-time Python developer specialising in large-scale web scraping, Apify actor development and AI-powered automation. I do not just write a script and hand it over: I build scrapers that survive anti-bot systems, resume after crashes, and keep running months after delivery.
Problems clients brought me, what I built, and what changed once it was running. Each card opens the full write-up.
Built a Scrapy + Playwright pipeline scraping 500K+ product listings daily across 20 sites, with change detection and PostgreSQL storage.
LangChain-powered agent that extracts, classifies and summarizes documents from multiple formats with GPT-4 integration.
Automated LinkedIn + directory scraping to build verified CEO/CFO lead lists with email validation achieving 95%+ deliverability.
Built a custom Apify actor exposing live AutoTrader car listings as an MCP tool, letting GPT, Claude, and Gemini query real vehicle data in natural language.
Feature-rich bot with real-time alerts, data dashboards, user management, and REST API integration for 10K+ subscribers.
End-to-end workflow automation connecting CRM, email, Slack, and custom APIs - eliminating 20+ hours of manual work per week.
Full-stack comparison engine scraping multiple retailers, normalizing specs, and generating automated Excel/PDF reports for clients.
Anti-bot protection, pages that change after they load, results that paginate for ever. Three pieces from the portfolio on my Freelancer profile.
A high-volume extraction job against a site that actively blocks automated traffic. The scraper collected more than one million records and delivered them as spreadsheet-ready files.
A suite of Apify actors for listing sites and directories. Each one walks every results page, turns what it finds into one structured dataset, and runs in the cloud with nothing for the user to install.
An automated test suite that walks through the flows a customer takes: logging in, browsing, adding to the cart and checking out. It handles elements that appear or change after the page loads, which is where brittle scripts break.
Alongside client projects I publish my own scrapers on the Apify Store. They are public, priced per result, and I ship the fix when a target site changes. These numbers refresh from the Store every six hours.
Most used, by distinct users
Most projects combine two or three of these: a scraper feeding an AI step, or a lead list delivered through a bot.
A handful, copied from my Freelancer profile, where every review comes from a completed project.
Fix and update python scriptExceptional work! Youssef not only fixed the existing Python script but also updated it to improve performance and accuracy. He worked efficiently, communicated clearly, and delivered the project ahead of schedule. His attention to detail and problem-solving skills were very impressive. Highly recommend him for any Python development or data scraping projects!
Product Comparison ToolVery high quality work. Very responsive and adapted changes very quickly. Understood requirements very well. Very quick work. Very impressed and would recommend.
URL Email Search TaskHe completed the task as required and on time. Excellent job!
Python Web Scraper for PublisherFast and optimal work.
Get email leads of bus companies in SwedenGood communication and response time. Highly recommend!
Send the URL, the data you need and how often you need it. I reply within 24 hours with what is feasible and a quote.
Retries, logging and structured output are in the first version, not bolted on after the first failure.
Anti-bot handling where the site needs it, and crash recovery so an interrupted run resumes instead of starting over.
You get the code or the running actor with a walkthrough, and I stay reachable when the target site changes.
Describe the job and I will tell you honestly whether it is feasible, usually within 24 hours. If one of my public actors already does it, I will point you there instead.