Siddharth Kumar hello@siddharthkumar.com

Web scraping & data extraction

I turn websites into clean, structured data.

The data you need is already public — just scattered across a thousand pages in a format nobody can use. I collect it, clean it, and hand it back as a file you can open and work with.

What the page gives you

<div class="prod-card" data-id="a41">
  <h3 class="ttl"> Wireless Mouse </h3>
  <span class="p">&#8377;1,299.00</span>
  <p class="av">In stock (14 left)</p>
  <div class="rt" aria-label="4.5 of 5">
</div>
<div class="prod-card" data-id="a42"> …

What you get back

productpricestockrating
Wireless Mouse1299.00144.5
USB-C Hub 7-in-12499.0064.2
Laptop Stand1849.0004.7
Mechanical Keyboard4299.00234.4
Tell me what you need Taking new projects · replies within 24 hours

What I can do for you

If it's on a public web page, it can usually be collected. These are the jobs that come up most.

  • Product & price monitoring

    Track competitor catalogues on a schedule — daily, weekly, whatever you need. Prices, stock levels, new listings, dropped items. You get a fresh file each run, plus a record of what changed since last time.

  • Directory & listing extraction

    Pull structured records out of business directories, marketplaces, job boards and property portals. Names, categories, locations, contact fields — deduplicated and normalised, not raw dumps.

  • One-off dataset builds

    You need a dataset that doesn't exist yet, for research, a model, or a decision. Tell me the sources and the fields; I'll build it once and hand over the data with the script that produced it.

  • Rescuing a scraper that broke

    A site redesigned, or started blocking you, and the script that used to work now returns nothing. I'll find what changed, fix it, and make it less fragile next time.

Selected builds

Public demonstration projects. Code is on GitHub — read it before you hire me.

PythonrequestsBeautifulSoupCSV

Full catalogue extraction across 50 paginated pages

The problem
A product catalogue split across fifty pages, with no export and no API. Copying it by hand would take days and still contain mistakes.
What I built
A crawler that walks every page in sequence, follows through to each individual product, and pulls four fields per record. It handles relative links, missing values, and pages that load slightly differently from the rest.
Result
1,000 complete records in a single clean CSV, produced in one unattended run. Re-runnable any time the catalogue changes.

View code on GitHub →

PythonDevToolsJSON API

Getting data off a page that loads with JavaScript

The problem
Content visible in the browser but completely absent from the page source — the usual reason a simple scraper comes back empty and people assume the site can't be scraped.
What I built
Traced the network traffic to the internal endpoint the page itself calls, then requested that endpoint directly and parsed the JSON it returns — skipping the browser entirely.
Result
Far faster and far more stable than driving a real browser, and it survives cosmetic redesigns that would break a selector-based scraper.

View code on GitHub →

How a project runs

Four steps, in this order. You'll know whether it's going to work before you pay for all of it.

  1. Scope

    You send the site and the fields you want. I check whether it's feasible and tell you honestly if it isn't. Fixed quote, no hourly billing.

  2. Sample

    Before full payment, I extract a small sample and send it over. You confirm the fields and format are right — or we adjust now, not at the end.

  3. Build

    I run the full extraction, handle the pages that behave differently, and clean the output. Missing values and duplicates get resolved, not shipped.

  4. Deliver

    You get the data as CSV, Excel, JSON or loaded into a database — plus the script, so you're not locked to me. Fixes free for 14 days.

About

I'm Siddharth Kumar. I build web scrapers and data pipelines, working with clients directly rather than through an agency.

My background is mathematics and engineering — an M.Sc. in Mathematics, a B.Tech, and a graduate engineering apprenticeship before I moved into data work. That matters more than it sounds. Scraping is mostly the unglamorous part: reasoning about edge cases, noticing when three records out of a thousand are wrong, and building something that still runs next month. Careful work, not clever work.

I'm also certified through the Google Data Analytics programme, and I'm currently building toward data engineering — scheduled pipelines, proper storage, data that arrives clean and stays that way.

I work from India on IST, which overlaps with European afternoons and US mornings. If you write during your working day, you'll usually have a reply by the time you start the next one.

  • BasedIndia · IST (UTC+5:30)
  • EducationM.Sc. Mathematics
    B.Tech
  • CertifiedGoogle Data Analytics
  • Core stackPython · requests
    BeautifulSoup · PostgreSQL
  • DeliversCSV · Excel · JSON
    Google Sheets · database
  • BillingFixed price per project

Tell me what data you need.

Send the website, the fields you want, and roughly how often you need it refreshed. That's enough for me to tell you whether it's possible and what it costs — usually the same day.

hello@siddharthkumar.com
Replies within 24 hours Fixed quotes, no hourly billing Sample before you commit