hirenode logohirenode.io
Open source

@hirenode/sdk

The fastest way to hit the hirenode jobs API from TypeScript or JavaScript. MIT licensed, fully typed, edge-runtime ready, zero dependencies.

Python and Go SDKs on the roadmap — open an issue if you want them sooner.

Install

npm install @hirenode/sdk
# or
bun add @hirenode/sdk
# or
pnpm add @hirenode/sdk

Quickstart

import { Hirenode } from "@hirenode/sdk";

const hn = new Hirenode({ apiKey: process.env.HIRENODE_API_KEY });

// List remote Rust jobs posted in the last 7 days
const { data, cursor } = await hn.jobs.list({
  stack: ["rust"],
  remote: true,
  posted_after: "P7D",
  limit: 50,
});

for (const job of data) {
  console.log(job.title, "@", job.company, "—", job.compensation?.usd_year);
}

What's in the box

Fully typed

Generated from the same OpenAPI spec as our docs. Autocomplete on every filter.

Zero runtime deps

Pure fetch. Works in Node 18+, Bun, Deno, Cloudflare Workers, Vercel Edge, browsers.

Cursor pagination helpers

`for await (const job of hn.jobs.stream(filter))` — never write a while-loop again.

Webhook signature verification

`hn.webhooks.verify(payload, signature, secret)` returns the typed event.

Error subclasses

RateLimitError, AuthError, ValidationError — catch the one you care about.

No telemetry

We don't phone home. The SDK source on GitHub is the SDK in your node_modules.

Backed by real infrastructure

The SDK is a thin client. The hard part — global aggregation, dedup, hourly refresh, uptime — is run by us so you don't have to.

25+ countries

Live coverage across US, UK, EU, MENA, APAC, LATAM.

99.9% uptime

SLA on Scale+ with financial credits on miss.

GDPR + DPA

Public job data only. EU residency available.

Real human support

No tiered chatbot triage, even on free.

250 requests / month, free forever.

No credit card. Grab a key, install the SDK, ship in an afternoon.

Get a free API key →