Developers
Talenthic API
Enterprise jobs & employers intelligence over a stable JSON HTTP API. Full-text and semantic filters, aggregated market insights, per-key rate limits, OpenAPI 3.1, and a hosted Postman collection.
Auth
x-api-key header, or?api_key=.
Rate limit
Per-key hourly window. X-RateLimit-* headers on every response.
Format
Pure application/json. CORS enabled. UTF-8.
Versioning
Stable /v1. Additive only. Breaking changes ship as /v2.
Quickstart
Request an API key from your admin console, then call the API from any HTTP client.
cURL
curl -H "x-api-key: $TALENTHIC_KEY" \ "https://api.talenthic.com/api/public/v1/jobs?q=react&work_mode=remote&limit=20"
JavaScript (fetch)
const res = await fetch(
"https://api.talenthic.com/api/public/v1/jobs?q=react",
{ headers: { "x-api-key": process.env.TALENTHIC_KEY! } }
);
const { data } = await res.json();Python (requests)
import os, requests
r = requests.get(
"https://api.talenthic.com/api/public/v1/jobs",
headers={"x-api-key": os.environ["TALENTHIC_KEY"]},
params={"q": "react", "work_mode": "remote"},
)
r.raise_for_status()
data = r.json()["data"]Node (SDK-style)
class Talenthic {
constructor(private key: string, private base = "/api/public/v1") {}
jobs(params: Record<string, string>) {
const q = new URLSearchParams(params).toString();
return fetch(`${this.base}/jobs?${q}`, { headers: { "x-api-key": this.key } })
.then((r) => r.json());
}
}Errors
Standard HTTP status codes with a JSON envelope.
200Success400Malformed request or invalid parameter401Missing or invalid API key404Resource not found429Rate limit exceeded — respect Retry-After500Internal error — retry with exponential backoff503Service degraded (see /health)
Interactive reference
Powered by the OpenAPI 3.1 spec at /api/public/v1/openapi.json.
Need higher limits, dedicated support, or streaming updates? Contact us for enterprise SLAs.