Published: 25 March 2025

TermShort contract (3-10 days)
LocationRemote with UK office, list of countries you may be based in
Compensation£300-550/day (depending on location and experience)

Description

We are looking for an experienced Node.js developer to create a web scraping script that logs into an energy provider’s system using user credentials and extracts relevant tariff information. The script should return the following details:

  • Tariff Name
  • Contract Start Date (if available)
  • Contract End Date (if available)
  • Tariff Rates applicable to the user’s agreement

Technical requirements

  • The script should be implemented in Node.js.
  • HTTP requests should be made using fetch, axios, or any other suitable library.
  • If advanced protection mechanisms (e.g., CAPTCHA, JavaScript-based authentication) prevent direct HTTP requests, headless browsers (Puppeteer/Playwright) may be used as a fallback.
  • The extracted data should be structured as a JSON object.
  • Error handling should be implemented for login failures, session timeouts, and data extraction errors.
  • The code should be modular and reusable.

Deliverables

  • A well-documented Node.js script
  • Instructions on how to run the script (including dependencies)
  • Any necessary configuration files (e.g., .env for credentials)
  • Example output JSON

Additional notes

  • If the provider has API access for tariff retrieval, that approach is preferred over scraping.
  • The script should be designed with scalability and maintainability in mind.

Our process

  • Video call with Lead Engineer
  • You complete the work
  • Demonstrate operation via video call
  • Payment and code handover

Your location

To be accepted for the role you must permanently live in one of the countries listed below and have a personal account with an electricity provider at your home address:

🇦🇹 Austria 🇧🇪 Belgium 🇩🇰 Denmark 🇫🇮 Finland 🇫🇷 France 🇩🇪 Germany 🇲🇹 Malta 🇳🇱 Netherlands 🇳🇴 Norway 🇪🇸 Spain 🇸🇪 Sweden 🇺🇸 United States (CA, GA, TX)