Skip to main content
Jobo Enterprise provides official client libraries for three languages. Each SDK wraps the REST API with idiomatic helpers so you can skip boilerplate and focus on building.

Python

Python 3.9+ · Pydantic models · sync + async

Node.js

Node 18+ · TypeScript 5+ · zero dependencies

.NET

.NET 6+ / 8+ · IAsyncEnumerable · DI-ready

Feature Comparison

All three SDKs share a common feature set:

Python

Requirements

  • Python 3.9+
  • Dependencies: httpx, pydantic

Installation

Quick Example

Advanced Usage

Iterate over all matching jobs without managing page numbers. The SDK fetches the next page automatically when the current one is exhausted.
The async variant works identically:
The SDK raises typed exceptions so you can handle specific failure modes.
Use AsyncJoboClient for non-blocking I/O in async frameworks like FastAPI or Django Channels.

Features

  • Pydantic models — every response is a fully-typed Pydantic model with IDE autocompletion
  • Sync + async — choose JoboClient (sync/httpx) or AsyncJoboClient (async/httpx)
  • Typed iterator paginationsearch_iter() / async_search_iter() lazily page through all results
  • Automatic retries — transient errors (429, 500, 502, 503, 504) are retried with exponential backoff

PyPI

pypi.org/project/jobo-enterprise

GitHub

github.com/Prakkie91/jobo-python

Node.js / TypeScript

Requirements

  • Node.js 18+
  • TypeScript 5+ (optional but recommended)
  • Zero runtime dependencies

Installation

Quick Example

Advanced Usage

Use searchIter() to stream through every page of results automatically.
You can also collect all results into an array:
Catch typed error classes for granular control.
Pass a custom fetch implementation for proxies, logging, or test mocking.

Features

  • Zero dependencies — uses the built-in fetch API (Node 18+)
  • Full TypeScript types — every request and response is strongly typed
  • Async generator paginationsearchIter() yields jobs across pages with for await...of
  • Automatic retries — transient errors are retried with exponential backoff and jitter

npm

npmjs.com/package/jobo-enterprise

GitHub

github.com/Prakkie91/jobo-node

.NET

Requirements

  • .NET 6.0+ or .NET 8.0+
  • No additional dependencies beyond System.Net.Http

Installation

Or via the NuGet Package Manager:

Quick Example

Advanced Usage

Stream through every page of results using C#‘s native await foreach.
This is memory-efficient — only one page is loaded at a time.
Register the client in your IServiceCollection for constructor injection.
Then inject it into your controllers or services:
Catch typed exceptions for precise error handling.

Features

  • IAsyncEnumerable paginationSearchEnumerableAsync streams pages lazily with await foreach
  • ASP.NET Core DI — first-class AddJoboClient() extension for dependency injection
  • C# records & nullable annotations — every model is a record with full nullability annotations
  • Automatic retries — configurable retry policy with exponential backoff for transient HTTP errors

NuGet

nuget.org/packages/Jobo.Enterprise.Client

GitHub

github.com/Prakkie91/jobo-dotnet

Shared Capabilities

All three SDKs share the same design principles and feature guarantees.

Auto-Pagination

Iterate through all results without manual page management. Each SDK uses its language’s native streaming primitive.

Retry & Backoff

Transient errors (429, 5xx) are automatically retried with exponential backoff and jitter. Configurable max retries.

Type Safety

Every request parameter and response field is fully typed — Pydantic models (Python), TypeScript interfaces (Node), C# records (.NET).

REST API (No SDK)

Don’t see your language? The REST API works with any HTTP client. Authenticate with the X-Api-Key header:
See the Authentication page for details and the API Reference for all available endpoints.
Want an SDK for another language? Open an issue on GitHub and we’ll consider it for the roadmap.