Jobs

GET /api/v1/jobs/ Auth required

List vacancies

Public iGaming vacancy catalog. Cursor-pagination. No count. Field source_url — original vacancy page. Field url is absent: use source_url instead. With ?updated_since the order switches to (updated_at, id) ASC for forward sync, and only vacancies CHANGED since that moment are returned. Combine it with ?include_closed=true when replicating: without that, a vacancy that closed since your last run is simply absent from the delta, and your copy keeps showing it as open. Store the X-Sync-Timestamp header and pass it back on the next run.

Parameters

Name In Type Required Description Example
brand_slug query string optional Brand slug (exact). The provider or operator this vacancy is attributed to.
city query string optional City slug
company query string optional Company slug
country query string optional Location country ISO-2 (→ location_country)
cursor query string optional Opaque pagination cursor from a previous response's next/previous link.
employment_type query string optional Employment type. Allowed: contract · freelance · full_time · internship · part_time
igaming_segment query string optional iGaming segment. Allowed: affiliate · casino · esports · game_studio · lottery · payment_provider · platform_provider · poker · regulator · sportsbook
include_closed query boolean optional false (default) = ACTIVE only; true = + CLOSED within window
ordering query string optional Ordering (whitelist: posted_at, -posted_at; default -posted_at) Allowed: -posted_at · posted_at
page_size query integer optional Number of results per page. Default 20, maximum 100 — same limits as the rest of the public API. An operator-configured limit may lower the maximum.
posted_after query string(date-time) optional Posted at >= this value (ISO 8601, inclusive).
posted_before query string(date-time) optional Posted at < this value (ISO 8601, EXCLUSIVE — the named moment is not included).
q query string optional Text search by title (case-insensitive substring)
remote_mode query string optional Remote mode. Allowed: hybrid · on_site · remote
seniority query string optional Seniority level. Allowed: c_level · head · junior · lead · mid · senior
skills query array[string] optional Skill slugs (OR semantics; repeatable parameter)
source query string optional Source. Allowed: careers · linkedin
updated_since query string(date-time) optional ISO-8601 datetime. Returns only records updated at or after this moment.
curl \
  -H "Authorization: Token <YOUR_TOKEN>" \
  "https://i-gaming.tools/api/v1/jobs/"
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://i-gaming.tools/api/v1/jobs/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Token <YOUR_TOKEN>']);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
const response = await fetch("https://i-gaming.tools/api/v1/jobs/", {
  method: "GET",
  headers: {
  "Authorization": "Token <YOUR_TOKEN>"
}
});
const data = await response.json();
console.log(data);
import requests

headers = {
    "Authorization": "Token <YOUR_TOKEN>"
}
response = requests.get("https://i-gaming.tools/api/v1/jobs/", headers=headers)

print(response.json())

Response fields

next string(uri) | null Absolute URL of the next page, or null on the last page.
previous string(uri) | null Absolute URL of the previous page, or null on the first page.
results array[object]
GET /api/v1/jobs/stats/ Auth required

Jobs statistics (approximate)

Approximate counts for landing total-badge. total_approx — approximate row count (±5%; not an exact count). Free — this endpoint does not count against your quota.

curl \
  -H "Authorization: Token <YOUR_TOKEN>" \
  "https://i-gaming.tools/api/v1/jobs/stats/"
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://i-gaming.tools/api/v1/jobs/stats/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Token <YOUR_TOKEN>']);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
const response = await fetch("https://i-gaming.tools/api/v1/jobs/stats/", {
  method: "GET",
  headers: {
  "Authorization": "Token <YOUR_TOKEN>"
}
});
const data = await response.json();
console.log(data);
import requests

headers = {
    "Authorization": "Token <YOUR_TOKEN>"
}
response = requests.get("https://i-gaming.tools/api/v1/jobs/stats/", headers=headers)

print(response.json())

Response fields

total_approx integer Approximate count (±5%; not an exact count).
by_status_public object Count per public status code.
by_segment object Count per iGaming segment code.
last_posted_at string(date-time) | null
computed_at string(date-time)
Example response
{
  "total_approx": 4210,
  "by_status_public": {
    "live": 3900,
    "closed_recent": 310
  },
  "by_segment": {
    "casino": 1200,
    "sportsbook": 800
  },
  "last_posted_at": "2026-06-08T10:00:00Z",
  "computed_at": "2026-06-09T12:00:00Z"
}
GET /api/v1/jobs/{id}/ Auth required

Get vacancy detail

Full vacancy card by UUID. CLOSED older than window or hidden → 404.

Parameters

Name In Type Required Description Example
id path string(uuid) required Stable identifier of the vacancy, safe to store and reuse.
curl \
  -H "Authorization: Token <YOUR_TOKEN>" \
  "https://i-gaming.tools/api/v1/jobs/{id}/"
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://i-gaming.tools/api/v1/jobs/{id}/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Token <YOUR_TOKEN>']);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
const response = await fetch("https://i-gaming.tools/api/v1/jobs/{id}/", {
  method: "GET",
  headers: {
  "Authorization": "Token <YOUR_TOKEN>"
}
});
const data = await response.json();
console.log(data);
import requests

headers = {
    "Authorization": "Token <YOUR_TOKEN>"
}
response = requests.get("https://i-gaming.tools/api/v1/jobs/{id}/", headers=headers)

print(response.json())

Response fields

id string(uuid)
source string
title string
company_name string
company object | null
location_city string
city object | null
remote_mode object
seniority object
salary_min string(decimal) | null
salary_max string(decimal) | null
salary_period object
posted_at string(date-time) | null
last_seen_at string(date-time) | null
status_public object
closed_at string(date-time) | null
closed_reason object | null
apply_url string(uri) | null
source_url string(uri) | null
secondary_apply_url string(uri) | null
summary string
responsibilities array[string]
requirements_must array[string]
requirements_nice array[string]
benefits array[string]
skills array[string]
skills_resolved array[object]
languages array[object] Language requirements stated by the vacancy.
licenses_relevant array[string]
product_areas array[string]
regulatory_role boolean
company_website string(uri) | null
company_logo_url string(uri) | null
application_deadline string(date) | null
apply_email string(email) | null
discovered_at string(date-time)