← All N8N workflows
AI & researchAirtableChain LLMCodeFilterHTTP Request

HN Who is Hiring Scrape

Configured with Airtable, Chain LLM, Filter, HTTP Request, and additional nodes. Review the connections and setup before adapting this template.

Workflow preview
TriggerWhen clicking ‘Testworkflow’Manual TriggerTransformSplit OutSplit OutAI & modelsOpenAI Chat ModelOpenAI Chat ModelTransformStructured OutputParserOutput Parser StructuredWeb / APISearch for Who ishiring postsHTTP RequestTransformGet relevant dataEdit FieldsRoutingGet latest postFilterTransformSplit out children(jobs)Split OutAI & modelsTrun into structureddataChain LLMTransformExtract textEdit FieldsCodeClean textCodeTransformLimit for testing(optional)LimitData storeWrite results toairtableAirtableWeb / APIHI API: Get theindividual job postHTTP RequestWeb / APIHN API: Get Main PostHTTP Request

Node categories in this workflow

  • Trigger
  • Transform
  • AI & models
  • Web / API
  • Routing
  • Code
  • Data store

Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.

Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.

How it works

The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.

Workflow node names, types, and operations
NodeCategoryTypeOperation
When clicking ‘Test workflow’TriggerManual TriggerSee node parameters
Split OutTransformSplit OutSee node parameters
OpenAI Chat ModelAI & modelsOpenAI Chat ModelSee node parameters
Structured Output ParserTransformOutput Parser StructuredSee node parameters
Search for Who is hiring postsWeb / APIHTTP RequestPOST
Get relevant dataTransformEdit FieldsSee node parameters
Get latest postRoutingFilterSee node parameters
Split out children (jobs)TransformSplit OutSee node parameters
Trun into structured dataAI & modelsChain LLMSee node parameters
Extract textTransformEdit FieldsSee node parameters
Clean textCodeCodeSee node parameters
Limit for testing (optional)TransformLimitSee node parameters
Write results to airtableData storeAirtablecreate
HI API: Get the individual job postWeb / APIHTTP RequestSee node parameters
HN API: Get Main PostWeb / APIHTTP RequestSee node parameters

Setup

  1. Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
  2. Connect your own credentials through n8n’s credential store. Replace REPLACE_WITH_* values with your resource identifiers.
  3. Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
  4. Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.

Requirements

An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.

Credential types declared in the source

  • airtableTokenApi
  • httpHeaderAuth
  • openAiApi

Workflow notes

Go to https://hn.algolia.com

Go to https://hn.algolia.com

  • filter by "Ask HN: Who is hiring?" (important with quotes for full match)
  • sort by date
  • Chrome Network Tab > find API call > click "Copy as cURL"
  • n8n HTTP node -> import cURL and paste
  • I've set the API key as Header Auth so you will have to do the above yourself to make this work
Go to HN API

Go to HN API

https://github.com/HackerNews/API

We'll need following endpoints:

  • For example, a story: https://hacker-news.firebaseio.com/v0/item/8863.json?print=pretty
  • comment: https://hacker-news.firebaseio.com/v0/item/2921983.json?print=pretty
Data Structure

Data Structure

We use Openai GPT-4o-mini to transform the raw data in a unified data structure. Feel free to change this.

{
  "company": "Name of the hiring company",
  "title": "Job title/role being advertised",
  "location": "Work location including remote/hybrid status",
  "type": "Employment type (Full-time, Contract, etc)",
  "salary": "Compensation details if provided",
  "description": "Main job description text including requirements and team info",
  "apply_url": "Direct application/job posting URL",
  "company_url": "Company website or careers page"
}
Clean the result

Clean the result

{
"title": "Ask HN: Who is hiring? (February 2025)",
"createdAt": "2025-02-03T16:00:43Z",
"updatedAt": "2025-02-17T08:35:44Z",
"storyId": "42919502"
},
{
"title": "Ask HN: Who is hiring? (January 2025)",
"createdAt": "2025-01-02T16:00:09Z",
"updatedAt": "2025-02-13T00:03:24Z",
"storyId": "42575537"
},
Hacker News - Who is Hiring Scrape

Hacker News - Who is Hiring Scrape

In this template we setup a scraper for the monthly HN Who is Hiring post. This way we can scrape the data and transform it to a common data strcutre.

First we use the Algolia Search provided by hackernews to drill down the results.

We can use the official Hacker News API to get the post data and also all the replies!

This will obviously work for any kind of post on hacker news! Get creative 😃

All you need is an Openai Account to structure the text data and an Airtable Account (or similar) to write the results to a list.

Copy my base https://airtable.com/appM2JWvA5AstsGdn/shrAuo78cJt5C2laR

HN Who is Hiring Scrape

HN Who is Hiring Scrape

Purpose and structure

This folder contains the HN Who is Hiring Scrape workflow. Its executable nodes use airtable, chainLlm, code, filter, httpRequest, limit, lmChatOpenAi, manualTrigger, outputParserStructured, set, splitOut. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.

Setup

Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.

Entry points

When clicking ‘Test workflow’

Verification

Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.

Attribution

https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Splitout/1880_Splitout_Code_Automation_Webhook.json MIT; preserve source notices.

More in AI & research