Preskoči na sadržaj
Adios Developeri
Adios API 1.0

Dokumentacija

Adios API daje hrvatske vijesti svih velikih portala kao podatke: najnovije i najveće priče, pretragu po smislu, sve povezano s pitanjem, vijesti oko bilo kojeg mjesta, kartu, kronologije, preglede dana, teme u trendu i opozive proizvoda.

Adresahttps://adios.hr/api/v1
FormatJSON (UTF-8), nazivi u snake_case, vremena u UTC (ISO 8601)
OpenAPI/api/v1/openapi.json (Postman, generatori koda, GPT akcije)
MCPhttps://adios.hr/api/mcp · vodič
CORSDopušten sa svih domena (ključ, a ne kolačić, kaže tko zove).

Brzi početak

  1. Napravite ključ
    Prijavite se na Adios i otvorite konzolu. Prvi ključ dobivate odmah; prikazuje se samo jednom.
  2. Pozovite API
    export ADIOS_KEY="adios_…"
    curl "https://adios.hr/api/v1/articles?sort=most_covered&limit=5" -H "Authorization: Bearer $ADIOS_KEY"
  3. Čitajte data
    Svaki odgovor je {"data": …, "meta": …}; data je objekt ili popis, meta kaže koliko je stavki i što je paket ograničio.

Za AI agente ne treba ni ključ: MCP na /api/mcp radi odmah.

Ključevi

Ključ šaljite u zaglavlju, na jedan od dva načina:

Authorization: Bearer adios_AbC123…
X-Api-Key: adios_AbC123…
  • Ključ je „adios_” i 40 slova i znamenki. Čuvamo samo njegov otisak (SHA-256), pa ga ne možemo ponovno prikazati: izgubljeni ključ opozovite i napravite novi.
  • Do 10 aktivnih ključeva po računu (npr. jedan za produkciju, jedan za testiranje). Opozvani ključ prestaje raditi odmah.
  • Ključ ne stavljajte u javni kod stranice ili aplikacije: zovite API sa svog servera.
  • Samo MCP prima ključ i u adresi (/api/mcp?key=adios_…), jer ChatGPT i Claude ne mogu postaviti zaglavlje.

Ograničenja

Svaki paket ima ograničenje u minuti i u danu, a skuplji pozivi (pretraga, sve povezano, mjesta) imaju i svoje dnevno ograničenje. Dan počinje u 00:00 UTC.

Skupina Što Besplatno MCP bez ključa (po sesiji)
u minutisvi pozivi6020
u danusvi pozivi5.000300
search/v1/search50040
connected/v1/connected20020
geo/v1/nearby, /v1/map, /v1/cities, /v1/places1.00080
webhooksisporuke webhookova500–
polumjer/v1/nearby50 km50 km
arhivakoliko dana unatrag3030
limitstavki po pozivu5020

Svaki odgovor nosi stanje u zaglavljima:

X-RateLimit-Limit: 5000          # dnevno ograničenje
X-RateLimit-Remaining: 4987      # preostalo danas
X-RateLimit-Reset: 1760227200    # kad se broj vraća na nulu (Unix)
X-RateLimit-Minute: 60
X-RateLimit-Group: geo           # za skuplje pozive
X-RateLimit-Group-Limit: 1000
X-RateLimit-Group-Remaining: 992

Kad je ograničenje dosegnuto, odgovor je 429 sa zaglavljem Retry-After (sekunde). Ako tražite više od paketa (veći polumjer, više stavki, dalje u prošlost), dobit ćete koliko paket dopušta, a meta to kaže (npr. radius_limited_to).

Odgovori

{
  "data": [ … ],
  "meta": {
    "count": 20,
    "limit": 20,
    "plan": "free",
    "took_ms": 41
  }
}
  • Popisi imaju limit i offset (priče: page). Prazna polja se ne šalju.
  • url je stranica na Adiosu (sažetak, svi portali, karta); source.url je članak na portalu.
  • Svi popisi (i pretraga, sve povezano, vijesti u blizini, grad, karta, priče) izostavljaju nebitne vijesti: horoskope, kvizove, reality, trač i promo. include_filler=true ih vraća u bilo kojem pozivu.

Greške

{ "error": { "code": "invalid_parameter", "message": "'lat' must be a number between -90 and 90.", "docs": "https://adios.hr/developers/docs#errors" } }
HTTPcodeZnačenje
400missing_parameter, invalid_parameter, invalid_body, invalid_urlParametar nedostaje ili nije dobar; poruka kaže koji.
401key_required, invalid_keyNema ključa, ili je pogrešan ili opozvan.
403account_suspended, history_limit, webhook_limit, radius_limitRačun je suspendiran ili traženo prelazi paket.
404article_not_found, place_not_found, city_not_found, digest_not_found, story_not_found, webhook_not_found, unknown_endpointToga nema.
429rate_limited, too_many_wrong_keysOgraničenje je dosegnuto; pogledajte Retry-After.
500internal_errorGreška kod nas; zabilježena je. Pokušajte ponovno.
503unavailableAPI se odmara (održavanje).

Vijesti

Najnovije vijesti

MCP: get_latest_news
GET/api/v1/articles

Najnovije vijesti svih portala, ili po rubrici, portalu i razdoblju. Isti članak s više portala dolazi jednom.

ParametarTipOpis
category string Rubrika: crime, politics, sport… (vidi /v1/categories).
provider string Samo jedan portal, po slugu (vidi /v1/providers).
from string Od (YYYY-MM-DD ili ISO vrijeme), unutar arhive paketa.
to string Do (YYYY-MM-DD ili ISO vrijeme).
sort string newest (zadano), most_read (najčitanije) ili most_covered (najviše portala).
newest · most_read · most_covered
stories_only boolean Samo vijesti koje su dio praćene priče (kronologije).
include_filler boolean Nebitne vijesti (horoskopi, kvizovi, reality, trač, promo) su izostavljene iz svih popisa; true ih vraća.
limit integer Koliko rezultata (zadano 20, najviše koliko dopušta paket).
offset integer Preskoči ovoliko (stranice).
curl "https://adios.hr/api/v1/articles?category=crime&limit=5" \
  -H "Authorization: Bearer $ADIOS_KEY"

Članak

MCP: get_article
GET/api/v1/articles/{id}

Sve o jednom članku: Adiosov kratki sažetak i kontekst, teme i osobe, ista vijest na drugim portalima, povezani članci, mjesto događaja i priča (kronologija) kojoj pripada.

ParametarTipOpis
id obavezno string · path Id članka (iz liste ili pretrage).
curl "https://adios.hr/api/v1/articles/{id}" \
  -H "Authorization: Bearer $ADIOS_KEY"

Sve povezano

connected MCP: research_topic
GET/api/v1/connected

Slobodno pitanje, a odgovor je sve što je povezano: članci, praćene priče s koracima, gdje se dogodilo, pregledi dana koji su o tome pisali i jedna vremenska crta svega.

ParametarTipOpis
q obavezno string Što vas zanima: osoba, mjesto, događaj, tema.
days integer Koliko dana unatrag (zadano 30, najviše arhiva paketa).
include_filler boolean Nebitne vijesti (horoskopi, kvizovi, reality, trač, promo) su izostavljene iz svih popisa; true ih vraća.
limit integer Koliko rezultata (zadano 15, najviše koliko dopušta paket).
curl "https://adios.hr/api/v1/connected?q=cijene%20goriva" \
  -H "Authorization: Bearer $ADIOS_KEY"

Mjesta i karta

Vijesti u blizini

geo MCP: get_nearby_news
GET/api/v1/nearby

Vijesti oko mjesta ili točke: sve u krugu od N km, s udaljenošću, vrstom (požar, nesreća, crna kronika…) i izvještajima portala.

ParametarTipOpis
place string Mjesto u Hrvatskoj, kako god napisano: "Zadar", "u Zadru", "Dugo Selo", "otok Krk".
lat number Geografska širina (umjesto mjesta).
lon number Geografska dužina.
radius_km number Polumjer u km (zadano 25, najviše koliko dopušta paket).
hours integer Koliko sati unatrag (zadano 24, najviše 720).
kinds array Vrste priča na karti, npr. fire,crash,crime (vidi /v1/categories).
urgent_only boolean Samo bitno: požari, nesreće, eksplozije, potresi, poplave, nevrijeme, spašavanja, nestali i velike priče.
include_filler boolean Nebitne vijesti (horoskopi, kvizovi, reality, trač, promo) su izostavljene iz svih popisa; true ih vraća.
sort string distance (zadano), newest ili importance.
distance · newest · importance
limit integer Koliko rezultata (zadano 20, najviše koliko dopušta paket).
curl "https://adios.hr/api/v1/nearby?place=Zadar&radius_km=50&hours=48" \
  -H "Authorization: Bearer $ADIOS_KEY"

Pronađi mjesto

geo MCP: resolve_place
GET/api/v1/places/resolve

Ime mjesta u točku (i obrnuto: točka u najbliže mjesto), iz popisa svih hrvatskih mjesta.

ParametarTipOpis
name string Ime mjesta u bilo kojem padežu.
lat number Ili točka: širina…
lon number …i dužina.
curl "https://adios.hr/api/v1/places/resolve?name=Dugom%20Selu" \
  -H "Authorization: Bearer $ADIOS_KEY"

Gradovi

geo
GET/api/v1/cities

Gradovi s vlastitom stranicom vijesti i broj priča u zadnjih 30 dana.

curl "https://adios.hr/api/v1/cities" \
  -H "Authorization: Bearer $ADIOS_KEY"

Vijesti grada

geo MCP: get_city_news
GET/api/v1/cities/{slug}

Vijesti grada i okolice iz zadnjih 30 dana (svaka priča na stranici grada kojem je najbliža).

ParametarTipOpis
slug obavezno string · path Grad: zadar, split, slavonski-brod… ili ime grada.
kinds array Vrste priča na karti, npr. fire,crash,crime (vidi /v1/categories).
include_filler boolean Nebitne vijesti (horoskopi, kvizovi, reality, trač, promo) su izostavljene iz svih popisa; true ih vraća.
limit integer Koliko rezultata (zadano 30, najviše koliko dopušta paket).
curl "https://adios.hr/api/v1/cities/zadar" \
  -H "Authorization: Bearer $ADIOS_KEY"

Karta vijesti

geo MCP: get_news_map
GET/api/v1/map

Sve priče s mjestom događaja u zadnjih N sati (Hrvatska i svijet), najnovije prvo.

ParametarTipOpis
hours integer Koliko sati unatrag (zadano 24, najviše 720).
kinds array Vrste priča na karti, npr. fire,crash,crime (vidi /v1/categories).
urgent_only boolean Samo bitno: požari, nesreće, eksplozije, potresi, poplave, nevrijeme, spašavanja, nestali i velike priče.
include_filler boolean Nebitne vijesti (horoskopi, kvizovi, reality, trač, promo) su izostavljene iz svih popisa; true ih vraća.
limit integer Koliko rezultata (zadano 100, najviše koliko dopušta paket).
curl "https://adios.hr/api/v1/map?hours=6&urgent_only=true" \
  -H "Authorization: Bearer $ADIOS_KEY"

Pregledi

Pregled dana

MCP: get_daily_digest
GET/api/v1/digests/daily

Adiosov pregled dana: što se dogodilo, po rubrikama, s vremenskom crtom i poveznicama na priče. Danas se piše uživo.

ParametarTipOpis
date string Dan (YYYY-MM-DD, today, yesterday); zadano najnoviji.
curl "https://adios.hr/api/v1/digests/daily?date=yesterday" \
  -H "Authorization: Bearer $ADIOS_KEY"

Pregled tjedna

MCP: get_weekly_digest
GET/api/v1/digests/weekly

Pregled tjedna (ponedjeljak do nedjelje): najvažnije priče tjedna.

ParametarTipOpis
date string Bilo koji dan tjedna (YYYY-MM-DD); zadano najnoviji.
curl "https://adios.hr/api/v1/digests/weekly" \
  -H "Authorization: Bearer $ADIOS_KEY"

Pregled mjeseca

GET/api/v1/digests/monthly

Pregled mjeseca: najvažnije priče mjeseca.

ParametarTipOpis
date string Bilo koji dan mjeseca (YYYY-MM-DD); zadano najnoviji.
curl "https://adios.hr/api/v1/digests/monthly" \
  -H "Authorization: Bearer $ADIOS_KEY"

Popis pregleda

GET/api/v1/digests

Najnoviji pregledi jedne vrste (naslovi i poveznice).

ParametarTipOpis
kind string daily (zadano), weekly ili monthly.
daily · weekly · monthly
limit integer Koliko rezultata (zadano 14, najviše koliko dopušta paket).
curl "https://adios.hr/api/v1/digests?kind=weekly&limit=4" \
  -H "Authorization: Bearer $ADIOS_KEY"

Priče (kronologije)

Priče

MCP: list_stories
GET/api/v1/stories

Praćene priče (kronologije u više koraka): najnoviji razvoj prvo, ili najduže, ili najviše izvještaja.

ParametarTipOpis
q string Pretraga po imenu priče i njezinih koraka.
category string Rubrika: crime, politics, sport… (vidi /v1/categories).
period string Novi korak: day, week ili month.
day · week · month
order string latest (zadano), longest ili most_reports.
latest · longest · most_reports
page integer Stranica (20 po stranici).
include_filler boolean Nebitne vijesti (horoskopi, kvizovi, reality, trač, promo) su izostavljene iz svih popisa; true ih vraća.
curl "https://adios.hr/api/v1/stories?period=week" \
  -H "Authorization: Bearer $ADIOS_KEY"

Kronologija priče

MCP: get_story_timeline
GET/api/v1/stories/{slug}

Cijela kronologija priče: svaki korak s imenom, vremenom, sažetkom i izvještajima portala, i gdje se dogodilo.

ParametarTipOpis
slug obavezno string · path Slug priče (iz /v1/stories ili iz adrese /kronologija/…).
curl "https://adios.hr/api/v1/stories/{slug}" \
  -H "Authorization: Bearer $ADIOS_KEY"

Još

Opozivi proizvoda

MCP: get_product_recalls
GET/api/v1/recalls

Adios Radar: opozivi proizvoda i sigurnosna upozorenja (HAPIH, EU RASFF, Safety Gate), na hrvatskom ili engleskom.

ParametarTipOpis
q string Pretraga: proizvod, marka, trgovina, opasnost.
lang string hr (zadano) ili en.
hr · en
limit integer Koliko rezultata (zadano 10, najviše koliko dopušta paket).
curl "https://adios.hr/api/v1/recalls?lang=en&limit=5" \
  -H "Authorization: Bearer $ADIOS_KEY"

Portali

MCP: list_portals
GET/api/v1/providers

Portali koje Adios čita, sa slugom za filtriranje.

curl "https://adios.hr/api/v1/providers" \
  -H "Authorization: Bearer $ADIOS_KEY"

Rubrike i vrste

MCP: list_categories
GET/api/v1/categories

Rubrike članaka i vrste priča na karti (hrvatski i engleski nazivi).

curl "https://adios.hr/api/v1/categories" \
  -H "Authorization: Bearer $ADIOS_KEY"

Račun

Moja potrošnja

MCP: get_my_usage
GET/api/v1/me

Vaš paket, ograničenja i današnja potrošnja po skupinama.

curl "https://adios.hr/api/v1/me" \
  -H "Authorization: Bearer $ADIOS_KEY"

Webhookovi

Moji webhookovi

samo s ključem
GET/api/v1/webhooks

Vaši webhookovi s događajem, postavkama i zadnjom isporukom.

curl "https://adios.hr/api/v1/webhooks" \
  -H "Authorization: Bearer $ADIOS_KEY"

Novi webhook

samo s ključem
POST/api/v1/webhooks

Adios šalje POST na vašu adresu kad se dogodi: vijest u blizini mjesta (nearby.story), novi opoziv (recall.new), pregled dana (digest.daily) ili novi korak praćene priče (story.stage). JSON tijelo.

ParametarTipOpis
name obavezno string · body Ime (za vas).
url obavezno string · body Vaša HTTPS adresa.
event obavezno string · body nearby.story, recall.new, digest.daily ili story.stage.
nearby.story · recall.new · digest.daily · story.stage
place string · body nearby.story: mjesto…
lat number · body …ili točka (širina)…
lon number · body …i dužina.
radius_km number · body nearby.story: polumjer (zadano 25).
kinds array · body nearby.story: samo ove vrste.
urgent_only boolean · body nearby.story: samo bitno.
story string · body story.stage: slug priče.
lang string · body recall.new: hr ili en.
hr · en
curl -X POST "https://adios.hr/api/v1/webhooks" \
  -H "Authorization: Bearer $ADIOS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Hotel Zadar","url":"https://example.com/adios","event":"nearby.story","place":"Zadar","radius_km":20,"urgent_only":true}'

Obriši webhook

samo s ključem
DELETE/api/v1/webhooks/{id}

Briše webhook.

ParametarTipOpis
id obavezno string · path Id webhooka.
curl -X DELETE "https://adios.hr/api/v1/webhooks/{id}" \
  -H "Authorization: Bearer $ADIOS_KEY"

Probna isporuka

samo s ključem
POST/api/v1/webhooks/{id}/test

Šalje probni događaj na adresu webhooka (s istim potpisom kao pravi).

ParametarTipOpis
id obavezno string · path Id webhooka.
curl -X POST "https://adios.hr/api/v1/webhooks/{id}/test" \
  -H "Authorization: Bearer $ADIOS_KEY"

Webhookovi: događaji

Webhook je vaša HTTPS adresa na koju Adios šalje POST kad se nešto dogodi, bez da vi pitate. Napravite ga u konzoli ili preko API-ja (POST /v1/webhooks).

DogađajKadaPostavke
nearby.story Nova priča u vašem krugu oko mjesta (hotel, kamp, grad): požari, nesreće, nevrijeme, zatvorene ceste, sve s karte. Svaka priča jednom. place | lat+lon, radius_km, kinds, urgent_only
recall.new Novi opoziv proizvoda ili sigurnosno upozorenje Adios Radara (HAPIH, EU RASFF, Safety Gate). lang (hr|en)
digest.daily Pregled dana kad dan završi (malo iza ponoći, po hrvatskom vremenu). –
story.stage Novi korak praćene priče (njezine kronologije), npr. nestala osoba pronađena. story (slug)

Tijelo isporuke:

POST https://example.com/adios
Content-Type: application/json
Adios-Event: nearby.story
Adios-Delivery: nearby_3f2c…
Adios-Signature: t=1760180000,v1=5b2e…

{
  "id": "nearby_3f2c…",
  "type": "nearby.story",
  "created_at": "2026-10-11T18:04:00Z",
  "webhook_id": "9a1d…",
  "test": false,
  "data": {
    "place": "Zadar",
    "story": { "title": "…", "kind": "fire", "place": "Bibinje", "distance_km": 6.2, "url": "https://adios.hr/…", … }
  }
}

Provjera potpisa

Svaka isporuka je potpisana tajnom vašeg webhooka (vidi konzolu): v1 je HMAC-SHA256 od "{t}.{tijelo}". Provjerite potpis i da t nije stariji od 5 minuta.

import crypto from "node:crypto";

function verify(secret, header, rawBody) {
  const parts = Object.fromEntries(header.split(",").map(p => p.split("=")));
  if (Math.abs(Date.now() / 1000 - Number(parts.t)) > 300) return false;
  const expected = crypto.createHmac("sha256", secret).update(`${parts.t}.${rawBody}`).digest("hex");
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1 ?? ""));
}

Isporuka i ponavljanje

  • Odgovorite s 2xx u 10 sekundi. Sve ostalo je neuspjeh.
  • Neuspjela isporuka se ponavlja sve rjeđe (1, 2, 4… do 60 minuta); nakon 20 neuspjeha zaredom webhook se isključuje, a u konzoli ga uključite ponovno.
  • Svaki događaj stiže jednom (id je stalan, pa duplikate lako prepoznate). Novi webhook kreće od trenutka kad je napravljen, bez starih događaja.
  • Adios provjerava vijesti svake minute. Gumb „Proba” u konzoli šalje pravi primjer odmah.
  • Adrese moraju biti https:// na javnom internetu.

MCP

Adios je i MCP server (Model Context Protocol, Streamable HTTP). Svaki endpoint iznad s oznakom MCP je i alat, a uz njih su i search i fetch (za ChatGPT konektore i deep research) te gotovi upiti (jutarnji pregled, lokalne vijesti, objasni priču, opozivi).

MCPhttps://adios.hr/api/mcp

Bez ključa radi za svakoga (ograničenja po sesiji); s ključem (zaglavlje ili ?key=) vrijede ograničenja vašeg paketa i pozivi su u vašem zapisniku.

Kako spojiti ChatGPT, Claude, Cursor…

Promjene

1.0 · 11. listopada 2026. · Prva verzija: vijesti, pretraga, sve povezano, vijesti u blizini, karta, gradovi, pregledi, kronologije, teme u trendu, opozivi, webhookovi i MCP za svakoga.

Promjene koje bi mogle slomiti vaš kod najavljujemo unaprijed; nova polja u odgovorima mogu stići bilo kada.