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
- Runs every day at 08:00 on a schedule.
- Sets the job search filters such as title, country, remote preference, how many days back to look, and the maximum results to return.
- Calls the Job Opportunities API /v1/jobs endpoint with the filters, including a posted_after date based on the days-back setting.
- 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.
- Appends new rows to Google Sheets or updates existing rows by matching on the job id to prevent duplicates.
Setup
- 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.
- Connect your Google Sheets account in n8n and select the target spreadsheet and sheet in the Google Sheets node.
- 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).
- 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