Skip to content
NEWMarketplace and the trig8n Agent: sell what you build, and get plans and changes that are tested before you see them. See what is new

Library / Web Scraping & Research

Web Scraping & Research

Log Upwork Jobs to Google Sheets with Apify

On a schedule, it fetches Upwork job listings with Apify, formats the data, and logs them in Google Sheets.

What it does

## 🌐 Section 1: Data Scraping Automation > 🧠 *“Tell me what’s trending!”* ### 🔁 Nodes Combined: * 🕒 Check Upwork Jobs - Trigger * 🌐 Fetch Upwork Jobs from Apify --- ### ⚙️ What This Section Does: This section automates the process of scraping fresh job listings from Upwork using Apify. ### 🧩 Step-by-Step Breakdown: #### 🕒 1. Check Upwork Jobs - Trigger 🕰 Trigger Type: Scheduled This node automatically starts the workflow at specific times (e.g., every hour, daily, etc.). 📌 Why this matters: You don’t have to manually run anything! Just set it once, and n8n will check for new job listings on its own — like a robot assistant. --- #### 🌐 2. Fetch Upwork Jobs from Apify 📤 HTTP Request → Apify API This node sends a POST request to Apify, where you've configured a web scraping actor to collect data from Upwork job listings. 📥 Response: A JSON array of job data, including: * 📌 title – What the job is about * 📝 description – A short job overview * 🎯 skills – Required skills * 🗓 postedDate – When it was posted * 🔗 link – Direct link to the job ✅ Why Apify? Because Upwork’s API is not public, Apify acts as your friendly bot that scrapes the job board safely and returns structured data. 💡 Pro Tip: You can customize your Apify actor to filter by keyword (e.g., AI, Python, Design, etc.). --- ## 📊 Section 2: Data Transformation & Logging > 🧠 *“Let’s clean this up and put it somewhere useful.”* ### 🔁 Nodes Combined: * ✏️ Format Job Data * 📄 Log Jobs to Google Sheets --- ### 🧩 Step-by-Step Breakdown: #### ✏️ 3. Format Job Data 🧹 Field Cleaner / Formatter This node helps you: * Extract only relevant fields from the Apify response * Optionally rename or restructure fields (like mapping postedDate to Date Posted) * Prepare the data in a clean format so it's ready for Google Sheets 📌 Example Output: json { "Job Title": "Build AI chatbot", "Skills": "LangChain, Python", "Posted Date": "2025-06-06", "Link": "https://upwork.com/jobs/..." } 💡 Why This Matters: Raw data isn’t always useful. This node ensures that what goes into Google Sheets is clean, consistent, and human-readable. --- #### 📄 4. Log Jobs to Google Sheets 📑 Append Data to Sheet This node takes the formatted job data and adds it to a Google Sheet row by row. 📌 Each job becomes a row with columns: | Job Title | Skills | Posted Date | Link | | -

The steps

  1. Check Upwork Jobs - Trigger
  2. Fetch Upwork Jobs using Apify
  3. Format scrape Data
  4. Log Jobs to Google Sheets

Similar automations