See llms.txt for all machine-readable content.

Back to Templates

Track weekly competitor hiring from Job Opportunities API to Google Sheets and Slack

Quick overview

This workflow runs daily to fetch new job postings from Job Opportunities API (JOA) for your search and adds or updates them in Google Sheets, keeping a de-duplicated list of openings. Jobs come straight from employers' own career sites, not from job boards or agencies.

How it works

  1. Runs every day at 08:00 on a schedule.
  2. Sets the job search filters such as title, country, remote preference, how many days back to look, and the maximum results to return.
  3. Calls the Job Opportunities API /v1/jobs endpoint with the filters, including a posted_after date based on the days-back setting.
  4. Transforms the API response into one structured item per job with fields like location, remote status and source, salary details, posted date, and apply URL.
  5. Appends new rows to Google Sheets or updates existing rows by matching on the job id to prevent duplicates.

Setup

  1. Get a free Job Opportunities API key (no card) at https://jobopportunitiesapi.org/login?ref=n8n-template, then add an HTTP Header Auth credential with the name Authorization and the value Bearer YOUR_KEY.
  2. Connect your Google Sheets account in n8n and select the target spreadsheet and sheet in the Google Sheets node.
  3. Create a Google Sheet with a header row that matches the fields written by the workflow (for example: id, title, company, location, remote, remote_source, employment_type, seniority, salary_min, salary_max, salary_currency, posted_at, apply_url).
  4. Update the search values in the filter step (title, country ISO code, remote filter, days_back, and limit) and adjust the schedule time if needed.

Requirements

  • A free Job Opportunities API key and a Google account with Google Sheets.

Customization