On a schedule
Collect Hacker News job posts in Airtable
Each 'Who is hiring' post is turned into a searchable record with company, role, location, remote and salary.
- Runs
- On a schedule
- Apps
- Airtable
- AI
- Yes, uses the built-in AI allowance
- Access
- data.records:write
Send this to your assistant
Create a ClickRuntime automation: every day, check this month's Hacker News 'Who is hiring' thread, pull out the company, role, location, remote option and salary from each new comment, and add them to my Airtable Jobs table.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Every month, Hacker News runs a Who is hiring thread with hundreds of comments, each a free-form job post. Recruiters, job seekers and market researchers want these in a table they can filter by role, location and remote policy, but copying them by hand is impractical, and a keyword search misses structure. Because the comments are written in many styles, a simple script that splits on commas does not work, and the thread changes every few hours as new posts arrive.
On a schedule, the automation fetches the thread through the public Hacker News API, skips comment IDs it has already stored, and sends each new comment to ClickRuntime's built-in AI, which extracts fields such as company, role, location, remote policy and how to apply. Each parsed post becomes a record in your table.
It is useful for job seekers tracking openings, recruiters building lead lists and analysts studying demand for skills.
What you get out of it
A searchable table replaces an endless thread
Filtering by remote policy or language lets you see matching roles in seconds. Scrolling through hundreds of comments looking for the few that fit is no longer necessary. A saved filter view takes the place of the thread.
New posts appear without re-reading old ones
Because processed comment IDs are remembered, each run adds only new listings. You never review the same job twice, and the table grows as the thread does. That keeps the table free of repeats.
Free text becomes structured fields
The AI reads each post and fills in company, role, location and application details, even though every poster writes differently. That structure makes sorting and views possible. Without that step, you would copy details into cells by hand.
You can apply while the post is fresh
Early commenters usually get more attention from the hiring manager. Finding a matching job the day it is posted gives you an edge over those who browse once a week.
Hiring trends become measurable
Over several months the table shows which technologies, cities and salary ranges are in demand. That evidence helps recruiters price roles and helps candidates choose what to learn. Data like this makes career and hiring choices easier to justify.
Your own notes sit next to the data
Because the table is in Airtable, you can add status, interview dates and contacts beside each listing, turning a feed of jobs into a personal tracker. One table holds both the listings and your own progress.
How it works
What happens, step by step
On your schedule, ClickRuntime reads the latest Hacker News "Who is hiring" thread.
It skips any job post it has already saved, so each one appears only once.
AI reads each new post and pulls out the company, role, location, remote option and salary.
Each job becomes a record in your Airtable Jobs table, ready to search and filter.
Before it runs live
- Connect Airtable
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other Airtable steps into one automation
Under the hood
The code that runs this automation
import re
from clickruntime import on_trigger, credentials, http, ai, state
BASE_ID = "appXXXXXXXXXXXXXX"
HN = "https://hacker-news.firebaseio.com/v0"
SCHEMA = {"type": "object", "properties": {k: {"type": "string"} for k in
("company", "role", "location", "remote", "salary")}}
@on_trigger
def run(event):
hits = http.get("https://hn.algolia.com/api/v1/search_by_date",
params={"query": "Ask HN: Who is hiring", "tags": "story,author_whoishiring"}).json()["hits"]
thread = http.get(f"{HN}/item/{hits[0]['objectID']}.json").json()
seen = set(state.get("seen") or [])
new_ids = [k for k in thread.get("kids", []) if k not in seen][:40]
headers = {"Authorization": f"Bearer {credentials.connection('airtable', 'work')}"}
for kid in new_ids:
text = re.sub(r"<[^>]+>", " ", http.get(f"{HN}/item/{kid}.json").json().get("text") or "")
if text.strip():
job = ai.generate(text[:2000], system="Extract the job fields; empty string if unknown.",
json_schema=SCHEMA, max_output_tokens=120).json
http.post(f"https://api.airtable.com/v0/{BASE_ID}/Jobs", headers=headers,
json={"records": [{"fields": {**{k.title(): v for k, v in job.items()},
"Link": f"https://news.ycombinator.com/item?id={kid}"}}]})
seen.add(kid)
state.set("seen", sorted(seen)[-3000:])
return {"added": len(new_ids)}FAQ
Common questions
Is the Hacker News API free to use?
How accurate is the AI's extraction?
Can I filter to only remote or only certain roles?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get daily post drafts in Airtable to review
Each morning fresh drafts on your topics are waiting in Airtable, marked for your review.
See how it worksGet a weekly spending summary from Airtable
Each Monday you get last week's totals by category, with a note on anything unusual.
See how it worksKeep Airtable prices up to date
The prices and values in your table update on their own every hour.
See how it worksKeep exploring
Set up “Collect Hacker News job posts in Airtable” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.