Zum Hauptinhalt springen

Developers

HTTP API reference

Job search and salary data as JSON. Requires an API key — included with API Access or a confirmed free-tier key from Studio.

Prefer a guided walkthrough? Open the Developers quickstart (sign-in → Studio → confirmed key → curl). Trust docs: Privacy, Security.

Quick checklist

  1. Create / sign in to your Catalitium account.
  2. In Studio → Developer API, register a free key and confirm the email.
  3. Issue GET https://catalitium.com/v1/jobs?per_page=5 with header X-API-Key.
  4. Read items[] plus meta; watch 401/429/404 cases below.
  5. Upgrade quotas via Pricing when you graduate past the free tier.

Base URL

https://catalitium.com

Authentication

  • Header: X-API-Key: cat_…
  • Query-string keys are not accepted (they leak via logs and Referer).

Endpoints

Method Path Description
GET /v1/jobs Search catalog jobs. Query: title, country, page, per_page, remote=1, has_salary=1, freshness (7|14|30), function, salary_min, salary_max. Title tokens like 100k also set a salary floor. Response meta.filters echoes applied filters; meta.catalog_freshest is the newest catalog posting date (ISO, ingest-dependent). Items include is_new and is_ghost (30d+ postings), plus estimated_salary_range_compact / median_salary_currency (catalog location-median estimates — not employer offers). List responses intentionally omit empty description (browse stub avoids TOAST); use /v1/jobs/<id> for full cleaned text. Catalog-scoped — not a live ATS feed.
GET /v1/jobs/<id> Single job by ID. Includes full cleaned description and apply_url (empty when no applyable http(s)/mailto link). Same Est. fields as list (estimated_salary_range_compact, median_salary_currency) when a location median exists — catalog estimates only.
GET /v1/salary Location-median salary snapshot (not role×city). Query: country preferred, else title treated as a location string. Response includes matched_on (country | title_as_location). Catalog reference bands only — not live offer data.
GET /api/keys/usage Counts against quota (same X-API-Key decorator as /v1/*). Prefer X-RateLimit-* headers for free monitoring. Optional IANA timezone via X-Client-Timezone or ?tz= adds reset_local.
DELETE /api/keys/me Revoke key (same X-API-Key)

Quotas & rate-limit UX

  • Free (confirmed): 50 requests/day, 500/month (calendar month, UTC windows).
  • API Builder: 25,000/day and 25,000/month (same budget on both windows).
  • API Pro: 100,000/day and 100,000/month.
  • Not in this contract: /api/jobs* UI routes — site-only, not sold as the developer API.

Every successful /v1/* response includes:

  • X-RateLimit-Limit — daily limit for this key
  • X-RateLimit-Remaining — calls left in the daily window
  • X-RateLimit-Reset — next daily reset (ISO UTC midnight)
  • X-RateLimit-Window — always daily (monthly totals live on usage)

GET /api/keys/usage (same X-API-Key) returns remaining_today, remaining_month, forecast_month_end, and optional upgrade — and increments your quota. Prefer response headers for routine checks. Pass an IANA name with X-Client-Timezone or ?tz= to include reset_local. Studio (signed-in) shows the same numbers for your key only — never other tenants.

Near limits? Upgrade on Pricing or wait for reset.

Errors

  • 401 invalid_key — missing header, typo, or revoked key
  • 401 key_inactive — registered but unconfirmed; open the confirmation email link, or re-register in Studio if the link expired
  • 429 quota_exceededdetails.window is daily or monthly; includes upgrade / hint toward Pricing
  • 503 catalog_unavailable — job catalog search failed; retry shortly (not an empty result set)
  • 404 for missing job or no salary data

Example

curl -sS "https://catalitium.com/v1/jobs?per_page=5" \
  -H "X-API-Key: cat_your_key_here"

FAQ

How do I get an API key?
Sign in, open Studio → Developer API, register a free key, and confirm the email. Send the key in the X-API-Key header (never in the query string).
What are free-tier quotas?
Free API access is 50 calls/day · 500/month. Paid API Access raises limits — see Pricing.
What do 401 and 429 mean?
401 invalid_key means a missing, typo, or revoked key; 401 key_inactive means the key is registered but not confirmed (open the email link or re-register in Studio); 429 means you hit the rate or daily/monthly quota.
Free vs paid?
Free is for evaluation and light scripts. Upgrade via Pricing when you need higher throughput or production use.

API usage and examples are documented in README.md (section "API Access").

Catalitium logo

Wöchentlicher Digest

Wöchentliche E-Mail mit Katalog-Highlights und Gehaltssignalen zu deinen Filter-Prefs — kein garantierter Perfect Match. Kein Spam; jederzeit abmeldbar.

Datenschutzfreundlich. Abmeldung mit einem Klick.

Wöchentliche Katalog-Highlights. Jederzeit abbestellbar.

Catalitium logo Kontakt

Fragen, Partnerschaften oder Feedback? Schreib uns — wir prüfen Nachrichten an Werktagen.

Wir prüfen Nachrichten an Werktagen. Timing variiert mit der Warteschlange — Hiring-Dringlichkeit in der Nachricht erwähnen falls relevant (kein Same-Day-SLA).