News
The news
GET/v1/news
News cards, newest first. The fields depend on the plan.
Parameters
-
kindstring: article, briefoptionalarticle or brief.
-
categorystringoptionalThe category key, from /v1/news/categories.
-
regionstring: global, chisinau, balti, nord, centru, sud, gagauzia, transnistria, diasporaoptionalOnly stories that have this key in regions. The keys: /v1/news/regions.
-
slotstring: morning, noon, eveningoptionalmorning, noon or evening.
-
min_gravityintegeroptionalThe minimum gravity, from 0 to 100.
-
fromstringoptionalFrom this date, YYYY-MM-DD.
-
tostringoptionalUp to this date, YYYY-MM-DD.
-
pageintegeroptionaldefault 1The page, starting at 1.
-
perintegeroptionaldefault 20Rows per page, at most 20.
Possible errors
curl "https://api.satelit.md/v1/news?min_gravity=50&per=5" \
-H "Authorization: Bearer $SATELIT_KEY" const res = await fetch("https://api.satelit.md/v1/news?min_gravity=50&per=5", {
headers: { Authorization: `Bearer ${process.env.SATELIT_KEY}` },
});
const { data, meta } = await res.json();
console.log(data, meta.credits); import json, os, urllib.request
req = urllib.request.Request(
"https://api.satelit.md/v1/news?min_gravity=50&per=5",
headers={"Authorization": f"Bearer {os.environ['SATELIT_KEY']}"},
)
with urllib.request.urlopen(req) as res:
body = json.load(res)
print(body["data"], body["meta"]["credits"]) <?php
$ch = curl_init("https://api.satelit.md/v1/news?min_gravity=50&per=5");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("SATELIT_KEY")],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body["data"]); {
"data": [
{
"id": "n_a245",
"kind": "article",
"category": {
"key": "economy",
"label": "Economy & prices"
},
"title": "Ministry proposes 966 million lei in contributions for home renovation in 2027-2029",
"dek": "The Ministry of Energy proposes that consumers pay about 966 million lei over 2027-2029 through energy tariffs and fuel prices for home renovation.",
"gravity": 74,
"band": "high",
"reach": 3,
"region": null,
"regions": [],
"slot": null,
"due_at": "2026-11-02T13:11:55Z",
"published_at": "2026-11-02T13:11:55Z",
"sources": [
{
"name": "Moldova 1",
"url": "https://moldova1.md/p/89169/aproape-un-miliard-de-lei-pentru-renovarea-locuintelor-pana-in-2029-contributiile-incluse-in-tarifele-la-energie-si-pretul-carburantilor"
}
],
"sources_count": 1,
"image": null
}
],
"meta": {
"credits": 2,
"updated_at": "2026-11-02T13:05:00+02:00",
"sources": [
{
"name": "Satelit",
"url": "https://satelit.md",
"license": "Satelit"
}
],
"attribution": "Date: Satelit (satelit.md)",
"page": {
"page": 1,
"per": 20,
"total": 5491,
"pages": 275
},
"fields_cut": true
}
}What a reader sees now
GET/v1/news/now
Stories that are due and the reader has not seen: of their region, of the region that contains it, and of the whole country. The gravest first. Costs 2 credits.
Parameters
-
regionstring: global, chisinau, balti, nord, centru, sud, gagauzia, transnistria, diasporaoptionalThe reader's region, from /v1/news/regions. Without it, only stories for the whole country.
-
seenstringoptionalIds of the cards already shown, comma separated, at most 100.
-
hoursintegeroptionaldefault 24How many hours back, from 1 to 72.
-
perintegeroptionaldefault 10How many cards, at most 20.
Possible errors
curl "https://api.satelit.md/v1/news/now?region=balti&hours=24" \
-H "Authorization: Bearer $SATELIT_KEY" const res = await fetch("https://api.satelit.md/v1/news/now?region=balti&hours=24", {
headers: { Authorization: `Bearer ${process.env.SATELIT_KEY}` },
});
const { data, meta } = await res.json();
console.log(data, meta.credits); import json, os, urllib.request
req = urllib.request.Request(
"https://api.satelit.md/v1/news/now?region=balti&hours=24",
headers={"Authorization": f"Bearer {os.environ['SATELIT_KEY']}"},
)
with urllib.request.urlopen(req) as res:
body = json.load(res)
print(body["data"], body["meta"]["credits"]) <?php
$ch = curl_init("https://api.satelit.md/v1/news/now?region=balti&hours=24");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("SATELIT_KEY")],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body["data"]); {
"data": [
{
"id": "n_a245",
"kind": "article",
"category": {
"key": "economy",
"label": "Economy & prices"
},
"title": "Ministry proposes 966 million lei in contributions for home renovation in 2027-2029",
"dek": "The Ministry of Energy proposes that consumers pay about 966 million lei over 2027-2029 through energy tariffs and fuel prices for home renovation.",
"gravity": 74,
"band": "high",
"reach": 3,
"region": null,
"regions": [],
"slot": null,
"due_at": "2026-11-02T13:11:55Z",
"published_at": "2026-11-02T13:11:55Z",
"sources": [
{
"name": "Moldova 1",
"url": "https://moldova1.md/p/89169/aproape-un-miliard-de-lei-pentru-renovarea-locuintelor-pana-in-2029-contributiile-incluse-in-tarifele-la-energie-si-pretul-carburantilor"
}
],
"sources_count": 1,
"image": null
},
{
"id": "n_b14748",
"kind": "brief",
"category": {
"key": "education",
"label": "Education"
},
"title": "The government is preparing over one billion lei for Chisinau schools for 2026-2030",
"dek": null,
"gravity": 26,
"band": "moderate",
"reach": 1,
"region": null,
"regions": [],
"slot": null,
"due_at": "2026-11-02T15:20:03Z",
"published_at": "2026-11-02T15:20:03Z",
"sources": [
{
"name": "Cotidianul",
"url": "https://cotidianul.md/41806/video-unde-ivan-ceban-nu-a-investit-ani-la-rand-intervine-guvernul-dan-perciun-anunta-modernizarea-gimnaziului-nr-86-si-investitii-de-peste-un-miliard-de-lei-in-scolile-din-chisinau/"
}
],
"sources_count": 1,
"image": null
}
],
"meta": {
"credits": 2,
"updated_at": "2026-11-02T13:05:00+02:00",
"sources": [
{
"name": "Satelit",
"url": "https://satelit.md",
"license": "Satelit"
}
],
"attribution": "Date: Satelit (satelit.md)",
"slot": {
"key": "noon",
"label": "Midday"
},
"region": {
"key": "balti",
"label": "Bălți"
}
}
}Search the news
GET/v1/news/search
Searches titles and intros. How far back it searches depends on the plan.
Parameters
-
qstringrequiredBetween 2 and 100 characters.
-
pageintegeroptionaldefault 1The page, starting at 1.
Possible errors
curl "https://api.satelit.md/v1/news/search?q=energie" \
-H "Authorization: Bearer $SATELIT_KEY" const res = await fetch("https://api.satelit.md/v1/news/search?q=energie", {
headers: { Authorization: `Bearer ${process.env.SATELIT_KEY}` },
});
const { data, meta } = await res.json();
console.log(data, meta.credits); import json, os, urllib.request
req = urllib.request.Request(
"https://api.satelit.md/v1/news/search?q=energie",
headers={"Authorization": f"Bearer {os.environ['SATELIT_KEY']}"},
)
with urllib.request.urlopen(req) as res:
body = json.load(res)
print(body["data"], body["meta"]["credits"]) <?php
$ch = curl_init("https://api.satelit.md/v1/news/search?q=energie");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("SATELIT_KEY")],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body["data"]); {
"data": [
{
"id": "n_a245",
"kind": "article",
"category": {
"key": "economy",
"label": "Economy & prices"
},
"title": "Ministry proposes 966 million lei in contributions for home renovation in 2027-2029",
"dek": "The Ministry of Energy proposes that consumers pay about 966 million lei over 2027-2029 through energy tariffs and fuel prices for home renovation.",
"gravity": 74,
"band": "high",
"reach": 3,
"region": null,
"regions": [],
"slot": null,
"due_at": "2026-11-02T13:11:55Z",
"published_at": "2026-11-02T13:11:55Z",
"sources": [
{
"name": "Moldova 1",
"url": "https://moldova1.md/p/89169/aproape-un-miliard-de-lei-pentru-renovarea-locuintelor-pana-in-2029-contributiile-incluse-in-tarifele-la-energie-si-pretul-carburantilor"
}
],
"sources_count": 1,
"image": null
}
],
"meta": {
"credits": 3,
"updated_at": "2026-11-02T13:05:00+02:00",
"sources": [
{
"name": "Satelit",
"url": "https://satelit.md",
"license": "Satelit"
}
],
"attribution": "Date: Satelit (satelit.md)",
"page": {
"page": 1,
"per": 20,
"total": 12,
"pages": 1
},
"fields_cut": true
}
}A whole day
GET/v1/news/days/{date}
All the news of one day, at most 300, with the average and the maximum gravity. Costs 10 credits.
Parameters
-
datestringrequiredThe day, YYYY-MM-DD.
-
min_gravityintegeroptionalThe minimum gravity, from 0 to 100.
Possible errors
curl "https://api.satelit.md/v1/news/days/2026-11-02" \
-H "Authorization: Bearer $SATELIT_KEY" const res = await fetch("https://api.satelit.md/v1/news/days/2026-11-02", {
headers: { Authorization: `Bearer ${process.env.SATELIT_KEY}` },
});
const { data, meta } = await res.json();
console.log(data, meta.credits); import json, os, urllib.request
req = urllib.request.Request(
"https://api.satelit.md/v1/news/days/2026-11-02",
headers={"Authorization": f"Bearer {os.environ['SATELIT_KEY']}"},
)
with urllib.request.urlopen(req) as res:
body = json.load(res)
print(body["data"], body["meta"]["credits"]) <?php
$ch = curl_init("https://api.satelit.md/v1/news/days/2026-11-02");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("SATELIT_KEY")],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body["data"]); {
"data": {
"date": "2026-11-02",
"count": 167,
"avg_gravity": 30,
"max_gravity": 74,
"items": [
{
"id": "n_a245",
"kind": "article",
"category": {
"key": "economy",
"label": "Economy & prices"
},
"title": "Ministry proposes 966 million lei in contributions for home renovation in 2027-2029",
"dek": "The Ministry of Energy proposes that consumers pay about 966 million lei over 2027-2029 through energy tariffs and fuel prices for home renovation.",
"gravity": 74,
"band": "high",
"reach": 3,
"region": null,
"regions": [],
"slot": null,
"due_at": "2026-11-02T13:11:55Z",
"published_at": "2026-11-02T13:11:55Z",
"sources": [
{
"name": "Moldova 1",
"url": "https://moldova1.md/p/89169/aproape-un-miliard-de-lei-pentru-renovarea-locuintelor-pana-in-2029-contributiile-incluse-in-tarifele-la-energie-si-pretul-carburantilor"
}
],
"sources_count": 1,
"image": null
}
]
},
"meta": {
"credits": 10,
"updated_at": "2026-11-02T13:05:00+02:00",
"sources": [
{
"name": "Satelit",
"url": "https://satelit.md",
"license": "Satelit"
}
],
"attribution": "Date: Satelit (satelit.md)",
"fields_cut": true
}
}The categories
GET/v1/news/categories
The category keys and names, in the requested language.
Parameters
No parameters.
Possible errors
curl "https://api.satelit.md/v1/news/categories" \
-H "Authorization: Bearer $SATELIT_KEY" const res = await fetch("https://api.satelit.md/v1/news/categories", {
headers: { Authorization: `Bearer ${process.env.SATELIT_KEY}` },
});
const { data, meta } = await res.json();
console.log(data, meta.credits); import json, os, urllib.request
req = urllib.request.Request(
"https://api.satelit.md/v1/news/categories",
headers={"Authorization": f"Bearer {os.environ['SATELIT_KEY']}"},
)
with urllib.request.urlopen(req) as res:
body = json.load(res)
print(body["data"], body["meta"]["credits"]) <?php
$ch = curl_init("https://api.satelit.md/v1/news/categories");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("SATELIT_KEY")],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body["data"]); {
"data": [
{
"key": "economy",
"label": "Economy & prices"
},
{
"key": "education",
"label": "Education"
}
],
"meta": {
"credits": 1,
"updated_at": "2026-11-02T13:05:00+02:00",
"sources": [
{
"name": "Satelit",
"url": "https://satelit.md",
"license": "Satelit"
}
],
"attribution": "Date: Satelit (satelit.md)"
}
}Regions and times of day
GET/v1/news/regions
The keys for region and slot, with names in the requested language, the region that contains each region, and the window of each time of day, Chisinau time.
Parameters
No parameters.
Possible errors
curl "https://api.satelit.md/v1/news/regions" \
-H "Authorization: Bearer $SATELIT_KEY" const res = await fetch("https://api.satelit.md/v1/news/regions", {
headers: { Authorization: `Bearer ${process.env.SATELIT_KEY}` },
});
const { data, meta } = await res.json();
console.log(data, meta.credits); import json, os, urllib.request
req = urllib.request.Request(
"https://api.satelit.md/v1/news/regions",
headers={"Authorization": f"Bearer {os.environ['SATELIT_KEY']}"},
)
with urllib.request.urlopen(req) as res:
body = json.load(res)
print(body["data"], body["meta"]["credits"]) <?php
$ch = curl_init("https://api.satelit.md/v1/news/regions");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("SATELIT_KEY")],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body["data"]); {
"data": {
"regions": [
{
"key": "global",
"label": "Nationwide",
"parent": null
},
{
"key": "chisinau",
"label": "Chișinău",
"parent": null
},
{
"key": "balti",
"label": "Bălți",
"parent": "nord"
},
{
"key": "nord",
"label": "North",
"parent": null
},
{
"key": "centru",
"label": "Centre",
"parent": null
},
{
"key": "sud",
"label": "South",
"parent": null
},
{
"key": "gagauzia",
"label": "Gagauzia",
"parent": null
},
{
"key": "transnistria",
"label": "Transnistria",
"parent": null
},
{
"key": "diaspora",
"label": "Diaspora",
"parent": null
}
],
"slots": [
{
"key": "morning",
"label": "Morning",
"from": "06:00",
"to": "11:00"
},
{
"key": "noon",
"label": "Midday",
"from": "11:00",
"to": "17:00"
},
{
"key": "evening",
"label": "Evening",
"from": "17:00",
"to": "24:00"
}
]
},
"meta": {
"credits": 1,
"updated_at": "2026-11-02T13:05:00+02:00",
"sources": [
{
"name": "Satelit",
"url": "https://satelit.md",
"license": "Satelit"
}
],
"attribution": "Date: Satelit (satelit.md)"
}
}One news item
GET/v1/news/{id}
The card, with the summary, explanation and facts that your plan gives.
Parameters
-
idstringrequiredThe row identifier.
Possible errors
curl "https://api.satelit.md/v1/news/n_a245" \
-H "Authorization: Bearer $SATELIT_KEY" const res = await fetch("https://api.satelit.md/v1/news/n_a245", {
headers: { Authorization: `Bearer ${process.env.SATELIT_KEY}` },
});
const { data, meta } = await res.json();
console.log(data, meta.credits); import json, os, urllib.request
req = urllib.request.Request(
"https://api.satelit.md/v1/news/n_a245",
headers={"Authorization": f"Bearer {os.environ['SATELIT_KEY']}"},
)
with urllib.request.urlopen(req) as res:
body = json.load(res)
print(body["data"], body["meta"]["credits"]) <?php
$ch = curl_init("https://api.satelit.md/v1/news/n_a245");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("SATELIT_KEY")],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body["data"]); {
"data": {
"id": "n_a245",
"kind": "article",
"category": {
"key": "economy",
"label": "Economy & prices"
},
"title": "Ministry proposes 966 million lei in contributions for home renovation in 2027-2029",
"dek": "The Ministry of Energy proposes that consumers pay about 966 million lei over 2027-2029 through energy tariffs and fuel prices for home renovation.",
"gravity": 74,
"band": "high",
"reach": 3,
"region": null,
"regions": [],
"slot": null,
"due_at": "2026-11-02T13:11:55Z",
"published_at": "2026-11-02T13:11:55Z",
"sources": [
{
"name": "Moldova 1",
"url": "https://moldova1.md/p/89169/aproape-un-miliard-de-lei-pentru-renovarea-locuintelor-pana-in-2029-contributiile-incluse-in-tarifele-la-energie-si-pretul-carburantilor"
}
],
"sources_count": 1,
"image": null,
"summary": null,
"explain": null,
"facts": null
},
"meta": {
"credits": 1,
"updated_at": "2026-11-02T13:05:00+02:00",
"sources": [
{
"name": "Satelit",
"url": "https://satelit.md",
"license": "Satelit"
}
],
"attribution": "Date: Satelit (satelit.md)",
"fields_cut": true
}
}