EN

Theme

Accent colour

Your theme and colour carry over to satelit.md and the app.

Dashboard Choose a plan

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

Offers by country, with the lowest price per person
  • 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.

Usage rules

What it costs

Try it in the console

GET /v1/tours
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"]);
A real response
{
  "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
    }
  }
}