News

GET /api/v1/news/ Auth required

List news articles

Cursor-paginated list of iGaming news articles ordered by published_at DESC. Does not include body_en — body is only available in the detail endpoint. Filterable by brand, language, host, and date range. With ?updated_since the order switches to (updated_at, id) ASC for forward sync, and only articles CHANGED since that moment are returned — including ones published long ago but ingested or corrected recently. Store the X-Sync-Timestamp header and pass it back on the next run.

Parameters

Name In Type Required Description Example
brand_kind query string optional Brand kind code. Currently one of slot_provider, casino_brand, regulator, other. The set is data-driven, so treat it as open.
brand_slug query string optional Brand slug
cursor query string optional Opaque pagination cursor from a previous response's next/previous link.
host query string optional Host FQDN
language query string optional Language code (ISO 639-1)
ordering query string optional Which field to use when ordering the results.
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.
published_after query string(date-time) optional Published at >= this value (ISO 8601, inclusive).
published_before query string(date-time) optional Published at < this value (ISO 8601, EXCLUSIVE — the named moment is not included).
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/news/"
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://i-gaming.tools/api/v1/news/');
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/news/", {
  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/news/", 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/news/stats/ Auth required

News statistics (approximate)

Approximate counts for total-badge display. Returns total_approx, by_status_done, by_language, last_published_at. Free — this endpoint does not count against your quota. Same as /jobs/stats/ and /stats/.

curl \
  -H "Authorization: Token <YOUR_TOKEN>" \
  "https://i-gaming.tools/api/v1/news/stats/"
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://i-gaming.tools/api/v1/news/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/news/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/news/stats/", headers=headers)

print(response.json())

Response fields

total_approx integer ±5% approximate total.
by_status_done integer
by_language object Count per language code.
last_published_at string(date-time) | null
computed_at string(date-time)
GET /api/v1/news/{id}/ Auth required

Get news article detail

Full news article by UUID including body_en from content storage. If content storage is unavailable: body_en="", body_unavailable_reason="content_storage_unavailable". If body was not extracted: body_unavailable_reason="extraction_failed".

Parameters

Name In Type Required Description Example
id path string(uuid) required Stable UUID identifier of the article.
curl \
  -H "Authorization: Token <YOUR_TOKEN>" \
  "https://i-gaming.tools/api/v1/news/{id}/"
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://i-gaming.tools/api/v1/news/{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/news/{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/news/{id}/", headers=headers)

print(response.json())

Response fields

id string(uuid)
title_en string
published_at string(date-time)
discovered_at string(date-time)
extraction_completed_at string(date-time) | null
language string
brand object | null
host string | null
url string
body_en string