Tour packages, at today's price.
Offers: 10,943. Countries: 22. Agencies: 5. Filter by country, date, nights and board, with the price per person in lei.
Numbers as of 6 November 2026
- Egypt4,672From 4,771.62 lei
- Turkey1,026From 5,669.46 lei
- Greece1,002From 3,207.99 lei
- Spain900From 7,666.88 lei
- United Arab Emirates801From 13,689.42 lei
- Bulgaria772From 2,693.49 lei
- Cyprus256From 9,260.78 lei
- Montenegro174From 7,303.71 lei
Where this data comes from, plainly
- We read public pages. Offers are read from the public pages of travel agencies.
- We have no agreement with the sources. No source is a partner or a supporter of this API.
- We grant no licence over their data. We cannot give rights we do not hold. How you use this data is your own responsibility.
- No photos, logos or contact details. Answers hold no people's phones or e-mail addresses, no owners' names, no photos and no logos.
- A source can leave. A source that does not want to appear writes to abuse@satelit.md. Once we switch it off, it leaves every answer within 10 seconds.
What it contains
- Country, resort, hotel, stars, board and room.
- Departure date, nights, transport and departure city.
- The price in the agency's currency and in lei, per person or per package.
- A link to the offer and its price history.
Who uses it
- Comparison sites and travel blogs.
- Apps that search for holidays.
- Newsrooms writing about the price of holidays.
How often it changes
Every 6 hours. Each offer has a last_seen field.
Source and licence
The public pages of travel agencies. The agency is named in every row.
What it costs
/v1/tours3for every 50 rows/v1/tours/countries1per call/v1/tours/{id}2per call
curl "https://api.satelit.md/v1/tours?country=Bulgaria&sort=price" \
-H "Authorization: Bearer $SATELIT_KEY" const res = await fetch("https://api.satelit.md/v1/tours?country=Bulgaria&sort=price", {
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/tours?country=Bulgaria&sort=price",
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/tours?country=Bulgaria&sort=price");
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": 1226,
"agency": "Admiral Travel",
"title": "Olymp",
"country": "Bulgaria",
"resort": "Bansko",
"hotel": "Olymp",
"stars": 3,
"board": "BB",
"room": "DBL Standard",
"nights": 5,
"date_from": "2026-11-08",
"adults": 2,
"price": 143,
"currency": "EUR",
"price_mdl": 2885.17,
"price_per": "person",
"price_pp_mdl": 2885.17,
"departure": null,
"transport": "none",
"url": "https://admiral.travel/ro/countries/bulgaria/bansko/olymp----?item_id=677",
"hot": false,
"last_seen": "2026-11-03T07:35:08+02:00"
}
],
"meta": {
"credits": 3,
"updated_at": "2026-11-02T13:05:00+02:00",
"sources": [
{
"name": "Admiral Travel",
"license": "none: read from the source's public pages; no agreement with the source and no licence over its data is granted"
}
],
"attribution": "Date: Satelit (satelit.md)",
"page": {
"page": 1,
"per": 50,
"total": 10943,
"pages": 219
}
}
}