/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())