UnifAPI Docs

List jobs from Who is Hiring

Returns the top-level job posts from the monthly Hacker News "Who is Hiring" thread, for the latest month or a given `month` (YYYY-MM). Paginate with `cursor`.

Pricing — $ · min $0.003

Minimum 3 credits ($0.003) per call. Records returned above the minimum bill 1 credit ($0.001) each.

GET
/hacker-news/jobs/who-is-hiring

Authorization

bearerAuth
AuthorizationBearer <token>

UnifAPI API key. Provider credentials are managed by UnifAPI.

In: header

Query Parameters

month?string

Calendar month (YYYY-MM) to pin a Who is Hiring thread. Default: latest thread.

Length1 <= length
limit?string

Job rows per page (1–50). Default: 20. Prefer this over page_size.

Length1 <= length
cursor?string

Opaque pagination cursor from a previous response's pagination.next_cursor. Omit for the first page.

Length1 <= length <= 16384

Header Parameters

Unifapi-Version?"2026-07-01"

Pin the API version an integration was built against (date-based, e.g. 2026-07-01). Omit to use the current version. Public URL paths stay stable and unversioned; breaking changes ship under a new dated version and are announced with Deprecation and Sunset response headers. The served version is echoed in every response's Unifapi-Version header. Policy: https://unifapi.com/versioning.md

Default"2026-07-01"

Value in

  • "2026-07-01"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/hacker-news/jobs/who-is-hiring"
{  "request_id": "string",  "data": [    {      "comment_id": 0,      "author": "string",      "created_at": 0,      "text": "string",      "company": "string",      "role": "string",      "location": "string",      "is_remote": true,      "salary": "string",      "is_visa": true,      "contact": "string",      "item_url": "string"    }  ],  "pagination": {    "has_more": true,    "next_cursor": "string"  },  "billing": {    "credits_charged": 0,    "records_charged": 0,    "balance_remaining": 0,    "truncated_due_to_balance": true  }}