Job Postings is a jobs API that returns the open positions on a company's public career board. Every job comes back in the same shape: title, department, team, locations, remote and workplace type, employment type, posting date and apply link. Filter by keyword, location, department, employment type, posting date or remote. Paid plans add the full job description and salary ranges where the company publishes them.
It's one of 250+ live sources you reach with a single =VERVE() function — served from APIVerve's production data engine, billed at 10 credits per resolved cell, and refreshed on whatever cadence you set. No API keys to wrangle, no scripts, no exports.
A real example — the input you type, and the values you can pull from it. Click any cell to see the formula behind it.
Fill =VERVE("jobpostings", "airbnb", "field", "boardTotal") down a column and Job Postings returns a result for every row — a batch of live values in a single drag, no code.
Add Job Postings beside a table you already have to append its output right where your data lives, then sort, filter, or chart on it.
Set the sheet to refresh on a schedule and the job postings values keep themselves current without anyone re-typing.
The same function works in both apps — install once, sign in with your key, and type it into any cell.
Install from the Workspace Marketplace, then drop the formula into a cell. Autocomplete suggests the source and its fields.
=VERVE("jobpostings", "airbnb", "field", "boardTotal")Same source, same arguments, same key — in Excel on desktop, the web, or mobile. Excel namespaces it as VERVE.CALL. Drag to fill a whole column.
=VERVE.CALL("jobpostings", "airbnb", "field", "boardTotal")Tune the result by adding name=value before the field argument — in any order. Leave one out and its default applies.
Return only jobs whose title, department or team contains every word given, for example engineer or product designer.
=VERVE("jobpostings", "airbnb", "keyword", "engineer")Return only jobs with a location containing this text, for example London, New York or Germany.
=VERVE("jobpostings", "airbnb", "location", "New York")true returns only jobs open to remote work; false only jobs that are not.
=VERVE("jobpostings", "airbnb", "remote", "true")Return only jobs whose department or team contains this text, for example Engineering or Sales.
=VERVE("jobpostings", "airbnb", "department", "Engineering")Return only jobs of this employment type. Jobs whose board gives no employment type are kept, since many boards leave it blank; only jobs of another type are left out.
=VERVE("jobpostings", "airbnb", "employmentType", "full-time")Return only jobs first published at or after this date or date-time (ISO 8601, for example 2026-10-01), or within this age: a number followed by h, d or w, for example 12h, 7d or 2w. Jobs with no posting date are left out when this is set.
=VERVE("jobpostings", "airbnb", "postedSince", "7d")Return only jobs whose salary range reaches at least this amount, in the job's own currency and pay period: the top of the range is compared, or the bottom when no top is given. Jobs that publish no salary are left out when this is set.
=VERVE("jobpostings", "airbnb", "minSalary", "100000")Page of results to return: 10 jobs per page on the free plan, 50 on paid plans.
=VERVE("jobpostings", "airbnb", "page", "1")Add a field name as the last argument to land just that value in the cell.
=VERVE("jobpostings", "airbnb", "field", "boardTotal")=VERVE("jobpostings", "airbnb", "field", "truncated")=VERVE("jobpostings", "airbnb", "field", "total")=VERVE("jobpostings", "airbnb", "field", "pages")=VERVE("jobpostings", "airbnb", "field", "count")=VERVE("jobpostings", "airbnb", "field", "jobs")=VERVE("jobpostings", "airbnb", "field", "jobs.0.id")=VERVE("jobpostings", "airbnb", "field", "jobs.0.title")=VERVE("jobpostings", "airbnb", "field", "jobs.0.department")=VERVE("jobpostings", "airbnb", "field", "jobs.0.location")=VERVE("jobpostings", "airbnb", "field", "jobs.0.locations")=VERVE("jobpostings", "airbnb", "field", "jobs.0.remote")Premium marks data included on paid plans. On the Free plan a marked field is withheld and a marked input is ignored — either way the cell reads #PREMIUM(name) instead of a value, so a gated answer can never be mistaken for a real one. Everything unmarked works on every plan. Compare plans
Everything you need to wire it into a sheet.