Web scraping · Data pipelines · Automation

Scrapers that keep running after the site changes.

I build data extraction and automation systems for teams who need the data to arrive every morning — not once, in a demo. Seven years of production software, 170+ projects delivered, and the maintenance discipline that comes with them.

pipeline · ofsted-reports · production
06:00:02run startdate window 24h · dedup against stored
06:00:31layout changeunrecognised PDF layout → logged for review, run continues
06:03:47parsed18 structured fields per report 200 OK
06:03:49schema checkpassed
06:04:02upsertSupabase · re-running the window is always safe
06:04:02statusrunning · daily since May 2025

A real pipeline: UK Ofsted inspection reports, parsed out of source PDFs into a client database every morning. The second line is the whole job — unexpected input gets logged for review, never dropped silently.

What I solve

Three problems, and what it costs to fix them properly.

Every figure is the starting point for a real project of that kind, not a teaser. Describe what needs building and where it has to run, and a firm number comes back — usually the same day.

01

Sites that block you

You have a scraper. It worked for three weeks, then the target started returning empty pages, CAPTCHAs, or quietly wrong data.

  • Pagination limits, rate limiting, anti-bot defences
  • Proxy rotation, retry and backoff
  • Schema drift and silent-failure detection
  • Rescuing pipelines someone else built

$600+ per source

One-off buildWatch from $200/mo
02

Data that has to arrive every morning

A feed your team depends on — pricing, listings, inventory, public records — that has to be complete, on schedule, and in the right shape.

  • Scheduled syncs into PostgreSQL, Supabase, MySQL or your CRM
  • Normalisation, deduplication, date-windowed runs
  • Idempotent upserts — re-running a window is always safe
  • Failure alerting that names the reason

$1,500+ per pipeline

Operate from $600/moBuild & hand over
03

Manual work that should be a script

Someone on your team spends hours a week copying between systems, reconciling exports, or rebuilding the same report by hand every month.

  • Zapier, Make and Parabola where they fit
  • Real code where no-code stops
  • Report generation and cross-system sync
  • Documented handover your team can run

$700+ per workflow

One-off buildBuild & hand over
Selected work

The constraint, the build, the number.

Where a project is published as a product, the link goes to the live listing so you can check the numbers yourself.

Published product · Playwright Constraint

Marketers and business-intelligence teams needed to know which of a large domain list was running Google ads, now and historically — at a scale no manual check reaches.

Build

A commercial Playwright scraper screening advertiser domains against Google's Ads Transparency Center, behind residential proxies, packaged as an Apify Actor with pay-per-result pricing.

Result

350+ users, 5.3K+ executions, 100K+ domains per campaign.

Verify on the Apify Store →
Reporting automation · Python Constraint

A data centre operator assembled their monthly demand-intelligence report by hand — two Excel workbooks, thirty-one sheets, a full day of copying and reconciling, with mistakes only surfacing after it had gone out.

Build

A config-driven pipeline reading both workbooks, normalising and aggregating them, and rendering a branded PDF. Every mapping and derivation rule lives in YAML, so layout changes without touching code.

Result

A full day of manual work became a single run.

31 source sheets in, 14 branded pages and 7 charts out. Shipped as a standalone Windows executable — no Python install needed.

Delivered on Upwork →
E-commerce · Crawlee · GraphQL Constraint

A client needed a major UK retailer's catalogue mirrored into their Shopify store — products, variants, prices, SKUs, weights, stock and images — with no manual step anywhere in the loop.

Build

A scheduled pipeline that detects whether each product already exists, compares variants and attributes, then creates or updates through the Shopify Admin GraphQL API. Source data is normalised before it reaches the store.

Result

Thousands of products per run, on the client's own schedule.

Delivered on Fiverr →

Three more systems in production: Optolix, the Ofsted sync and a US Dept. of Labor job feed.

How it works

No discovery theatre.

You describe what needs building. I come back with a fixed scope, a price and a delivery date — usually within a day. Then I build it, document it, and hand it over running.

STEP 01

Scope

A written spec before any code: scope, interfaces, data, schedule, destination and the edge cases. Fixed price attached.

STEP 02

Build

Working increments you can run yourself, not a black box delivered at the end. Schema mistakes get caught while they're cheap.

STEP 03

Hand over

Deployed, scheduled and documented for whoever inherits it — on your infrastructure or mine. Two weeks of fixes at no charge.

STEP 04

Or stay on call

A retainer from $200/mo means someone is already watching when a source changes, and the fix doesn't wait for a new statement of work.

Why an experienced engineer

Anyone can generate a scraper now.

The hard part was never writing the first version. It's knowing why it breaks in week three, recognising when the output is confidently wrong, and building the checks that catch it before your team makes a decision on bad data.

I built these systems before AI tooling was part of the workflow. That's not nostalgia — it's the reason I can read generated code critically instead of trusting it, and the reason I know which failure modes don't announce themselves.

I use Claude, GPT and Gemini every day, and I've shipped products built on all three. I just don't ship what I can't debug at 2am when a source quietly changes its markup and your morning feed is empty.

ReliabilityRetries, backoff and idempotent writes. Re-running yesterday is always safe.
ObservabilityA run that fails loudly, naming the reason, beats one that fails quietly.
MaintainabilityMappings and rules in config, not scattered through the code that reads them.
DocumentationA handover that means the client is never hostage to me.
Client feedback

4.9★ from 92 verified reviews.

“He is extremely knowledgeable, dedicated, and consistently goes above and beyond to achieve the right result… remained focused on getting things over the line despite the challenges involved.”

hiltontextiles · United Kingdom
Data scraping · Fiverr

“Mujahid is highly skilled in data and automation! Highly recommended!”

Big Brain Automation · Data and automation
2.5 years · Upwork

“I needed a complex integration and he worked with me to choose the right platform and worked with the support teams of both sides of my integration to troubleshoot bugs and make sure everything was working as intended.”

jograno · United Kingdom
API integration · Fiverr

Before you ask

The questions that come up every time.

How do you price work?

Fixed scope, fixed price, quoted from a written spec — usually back within a day of your first message. Scraping starts at $600 per source, pipelines at $1,500, custom applications at $3,000. For open-ended work or taking over someone else's system, hourly is $25/hr.

Every project includes deployment, scheduling, documentation written for whoever inherits it, and two weeks of fixes after handover at no charge.

Can I hire you through Upwork or Fiverr instead?

Yes. Direct is simplest — send the form and we agree terms between us. If your company needs an established platform with escrow and invoicing, hire me through Upwork or Fiverr. The work and the price are the same.

Is web scraping legal?

Collecting publicly accessible data is generally lawful in most jurisdictions, but it depends on the site's terms, what data is involved, and where you operate. I won't take work involving personal data collected without a lawful basis, and I'll tell you plainly if a target looks like a problem. For anything contested, get your own legal advice — I'm an engineer, not a lawyer.

What happens when the target site changes?

It will. That's what the retainers exist for: Watch ($200/mo) covers monitoring, failure alerts and selector fixes with 48-hour response. Operate ($600/mo) adds up to 8 hours of changes and same-day weekday response. Partner ($1,400/mo) reserves weekly capacity for new builds.

On a handover build, change detection and documentation are included so your own developer can maintain it.

Who owns the code?

You do, in full, on delivery. No licence restrictions and no dependency on me continuing to work with you. Documentation is written so that whoever inherits the system is never hostage to me.

Who actually does the work?

I do. No account managers, no outsourcing, no layers between your idea and the engineer writing the code. Everything on this page — including the Optolix platform and all sixteen published Actors — was designed, built and deployed by me.

Start a project

Describe the job. Get a number back.

No discovery calls required to find out whether it's affordable. Tell me what it has to do and where it has to run — the more specific you are, the more useful my first reply is.

linkedin.com/in/mujahidalkausari

Need escrow and invoicing?

Hire me through Upwork or Fiverr instead. Same work, same price, your company's procurement process intact.

Goes straight to my inbox — no CRM, no mailing list. I normally reply within a day.