data scrpping

Job ID: 40102341

Budget: $50 – $80 AUD

I’m looking for an experienced developer to build a reliable, scalable scraper for EstimateOne awarded projects.
https://app.estimateone.com/

I’ve attached a screen recording that visually explains the workflow and the exact data I need extracted.

The Goal (Business Context)

Track awarded construction projects

Extract builder contact details to CSV & EXCEL

Feed this data into a CRM + outbound AI calling system

This scraper needs to handle hundreds of historical projects and ~150 new projects per month, so stability matters more than shortcuts.

What Needs to Be Scraped

From EstimateOne → Awarded Tenders, for each project:

Project-level data

Project name

Project address

Tender status (Awarded)

Budget

Distance

Category

Builder-level data (inside each project overlay)

Builder name

Builder phone number

Contact person name (if available)

Email address

Quote due date (if visible)

Project ID (EstimateOne ID)

⚠️ Important:

A project can have multiple builders

Builders are listed in cards inside a right-side overlay (drawer) — not a new page

Required Workflow Logic

Your solution must:

Open Awarded projects list

Iterate through 25 projects per page

For each project:

Open the project overlay

Scroll inside the overlay if needed


detect the awarded builder ( determined by a Medal and star at the centre od the medal)

Extract all builder cards

Close the overlay

After 25 projects:

Click Next page

Scroll back to top

Repeat

Continue until no more pages (or configurable page limit)

--Technical Requirements (Important)

I am not looking for fragile UI clicking bots.

Preferred approaches (you choose the best one):

Headless browser scraping (Playwright / Puppeteer)

Network request interception (XHR / GraphQL inspection)

Authenticated session scraping


You must:

Handle authenticated sessions (I have a paid EstimateOne account)

Avoid hardcoded XPaths tied to dynamic class names

Handle scrolling & lazy-loaded content

Add pause in between each actions.

Build retry logic for timeouts

Provide clean, structured output

Output Format

Data should be exported as:

CSV and Excel output

Cleanly structured and CRM-ready

What I Will Provide

Active EstimateOne subscription

Screen recording showing:

Where to click

What opens

What data to extract

Sample output format

Ongoing feedback & testing access

What I’m Looking For in You

Proven experience scraping modern React / SPA websites, Comfortable working with authenticated apps, Ability to recommend the right technical approach, not just follow instructions.
Clean, maintainable code. Clear communication (this is a long-term tool, not a one-off hack), Deliverables

Fully working scraper

Instructions to run it (local or cloud)

Source code

Sample extracted dataset

Ability to scale beyond 1,000+ projects


Budget: $40-$70