UK

Тема

Колір акценту

Тема й колір збережуться на satelit.md і в застосунку.

Панель Обрати тариф

Ринок оголошень

Звідки ці дані, прямо

Категорії

GET/v1/market/categories

Кожна категорія оголошень за останній день: скільки оголошень продається, скільки мають ціну, і медіана запитуваної ціни в леях. Лише агреговані цифри: ні оголошення, ні продавця, ні контакту. Коштує 2 кредити.

Кредити
2
З ключем

Параметри

Без параметрів.

Можливі помилки

Спробувати

curl "https://api.satelit.md/v1/market/categories" \
  -H "Authorization: Bearer $SATELIT_KEY"
const res = await fetch("https://api.satelit.md/v1/market/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/market/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/market/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": [
    {
      "category": {
        "id": 659,
        "name": "Автомобілі",
        "url": null,
        "group": {
          "id": 657,
          "name": "Транспорт",
          "url": null
        }
      },
      "volume": 18450,
      "priced": 17230,
      "median_mdl": 185000
    },
    {
      "category": {
        "id": 1404,
        "name": "Квартири",
        "url": null,
        "group": {
          "id": 1399,
          "name": "Нерухомість",
          "url": null
        }
      },
      "volume": 12900,
      "priced": 12010,
      "median_mdl": 1650000
    },
    {
      "category": {
        "id": 40,
        "name": "Телефони",
        "url": null,
        "group": {
          "id": 646,
          "name": "Електроніка",
          "url": null
        }
      },
      "volume": 9600,
      "priced": 9100,
      "median_mdl": 9900
    }
  ],
  "meta": {
    "credits": 2,
    "updated_at": "2026-11-02T13:05:00+02:00",
    "sources": [
      {
        "name": "two classifieds sites",
        "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)"
  }
}

Ціни та обсяг

GET/v1/market/prices

Розподіл цін і обсяг ринку за останній день, з активних оголошень. Без category один рядок на категорію, найбільші першими. З category один рядок по всій країні й по одному на кожне місто з достатньою кількістю оголошень. Ціни в леях; currency показує валюту більшості оголошень. 2 кредити за 50 рядків.

Кредити
2 за кожні 50 рядків
З ключем

Параметри

  • categoryintegerнеобов'язковий

    Id підкатегорії, з /v1/market/categories.

  • citystringнеобов'язковий

    Місто, як його пишуть оголошення: Chișinău.

  • pageintegerнеобов'язковийза замовчуванням 1

    Сторінка, від 1 до 200.

Можливі помилки

Спробувати

curl "https://api.satelit.md/v1/market/prices?category=659" \
  -H "Authorization: Bearer $SATELIT_KEY"
const res = await fetch("https://api.satelit.md/v1/market/prices?category=659", {
  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/market/prices?category=659",
    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/market/prices?category=659");
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": [
    {
      "category": {
        "id": 659,
        "name": "Автомобілі",
        "url": null,
        "group": {
          "id": 657,
          "name": "Транспорт",
          "url": null
        }
      },
      "city": null,
      "day": "2026-11-04",
      "volume": 18450,
      "priced": 17230,
      "currency": "EUR",
      "prices": {
        "median": 185000,
        "p10": 62000,
        "p25": 110000,
        "p75": 315000,
        "p90": 520000,
        "min": 25000,
        "max": 1450000
      }
    },
    {
      "category": {
        "id": 659,
        "name": "Автомобілі",
        "url": null,
        "group": {
          "id": 657,
          "name": "Транспорт",
          "url": null
        }
      },
      "city": "Chișinău",
      "day": "2026-11-04",
      "volume": 9200,
      "priced": 8700,
      "currency": "EUR",
      "prices": {
        "median": 195000,
        "p10": 70000,
        "p25": 120000,
        "p75": 330000,
        "p90": 540000,
        "min": 28000,
        "max": 1450000
      }
    },
    {
      "category": {
        "id": 659,
        "name": "Автомобілі",
        "url": null,
        "group": {
          "id": 657,
          "name": "Транспорт",
          "url": null
        }
      },
      "city": "Bălți",
      "day": "2026-11-04",
      "volume": 2100,
      "priced": 1980,
      "currency": "EUR",
      "prices": {
        "median": 165000,
        "p10": 55000,
        "p25": 98000,
        "p75": 280000,
        "p90": 470000,
        "min": 22000,
        "max": 980000
      }
    }
  ],
  "meta": {
    "credits": 2,
    "updated_at": "2026-11-02T13:05:00+02:00",
    "sources": [
      {
        "name": "two classifieds sites",
        "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": 3,
      "pages": 1
    }
  }
}

Ринок у часі

GET/v1/market/history

Одна категорія по днях: обсяг ринку, скільки оголошень з'явилося (new) і скільки зникло (removed), і розподіл цін там, де досить оголошень з ціною. За замовчуванням увесь ринок (категорія 0). Місто має обсяг і ціни, без щоденного потоку. Понад історію плану дані обрізаються, і meta.history_cut про це каже. 3 кредити за кожні розпочаті 30 днів.

Кредити
3 за кожні розпочаті 30 дн.
З ключем

Параметри

  • categoryintegerнеобов'язковийза замовчуванням 0

    Id підкатегорії або 0 для всього ринку.

  • citystringнеобов'язковий

    Місто, як його пишуть оголошення.

  • daysintegerнеобов'язковийза замовчуванням 90

    Скільки днів назад. Обрізається до ліміту плану.

Можливі помилки

Спробувати

curl "https://api.satelit.md/v1/market/history?category=659&days=90" \
  -H "Authorization: Bearer $SATELIT_KEY"
const res = await fetch("https://api.satelit.md/v1/market/history?category=659&days=90", {
  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/market/history?category=659&days=90",
    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/market/history?category=659&days=90");
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": {
    "category": {
      "id": 659,
      "name": "Автомобілі",
      "url": null,
      "group": {
        "id": 657,
        "name": "Транспорт",
        "url": null
      }
    },
    "city": null,
    "points": [
      {
        "date": "2026-10-29",
        "volume": 18100,
        "new": 610,
        "removed": 540,
        "priced": 17014,
        "prices": {
          "median": 182000,
          "p10": 62000,
          "p25": 110000,
          "p75": 315000,
          "p90": 520000,
          "min": 25000,
          "max": 1450000
        }
      },
      {
        "date": "2026-10-30",
        "volume": 18220,
        "new": 590,
        "removed": 560,
        "priced": 17127,
        "prices": {
          "median": 183000,
          "p10": 62000,
          "p25": 110000,
          "p75": 315000,
          "p90": 520000,
          "min": 25000,
          "max": 1450000
        }
      },
      {
        "date": "2026-10-31",
        "volume": 18260,
        "new": 640,
        "removed": 600,
        "priced": 17164,
        "prices": {
          "median": 184000,
          "p10": 62000,
          "p25": 110000,
          "p75": 315000,
          "p90": 520000,
          "min": 25000,
          "max": 1450000
        }
      },
      {
        "date": "2026-11-01",
        "volume": 18340,
        "new": 700,
        "removed": 620,
        "priced": 17240,
        "prices": {
          "median": 184500,
          "p10": 62000,
          "p25": 110000,
          "p75": 315000,
          "p90": 520000,
          "min": 25000,
          "max": 1450000
        }
      },
      {
        "date": "2026-11-02",
        "volume": 18390,
        "new": 560,
        "removed": 520,
        "priced": 17287,
        "prices": {
          "median": 185000,
          "p10": 62000,
          "p25": 110000,
          "p75": 315000,
          "p90": 520000,
          "min": 25000,
          "max": 1450000
        }
      },
      {
        "date": "2026-11-03",
        "volume": 18420,
        "new": 620,
        "removed": 560,
        "priced": 17315,
        "prices": {
          "median": 185000,
          "p10": 62000,
          "p25": 110000,
          "p75": 315000,
          "p90": 520000,
          "min": 25000,
          "max": 1450000
        }
      },
      {
        "date": "2026-11-04",
        "volume": 18450,
        "new": 640,
        "removed": 580,
        "priced": 17343,
        "prices": {
          "median": 185000,
          "p10": 62000,
          "p25": 110000,
          "p75": 315000,
          "p90": 520000,
          "min": 25000,
          "max": 1450000
        }
      }
    ]
  },
  "meta": {
    "credits": 3,
    "updated_at": "2026-11-02T13:05:00+02:00",
    "sources": [
      {
        "name": "two classifieds sites",
        "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)"
  }
}

Продавці

GET/v1/market/sellers

Продавці з повторюваними оголошеннями, найактивніші першими, по 50 на сторінці. З category рейтинг усередині неї, з активними оголошеннями й медіаною ціни там. З new=true лише нові на сайті продавці. Продавець позначений анонімним кодом, який об'єднує оголошення одного продавця й нікого не називає: ні телефону, ні e-mail, ні контакту. tenure_days, new, sold і sold_recent з'являються, лише коли ці поля ввімкнені. Продавці лише з одного сайту оголошень. 3 кредити за 50 рядків.

Кредити
3 за кожні 50 рядків
З ключем

Параметри

  • categoryintegerнеобов'язковий

    Id підкатегорії для рейтингу, з /v1/market/categories.

  • newbooleanнеобов'язковий

    Лише нові на сайті продавці.

  • pageintegerнеобов'язковийза замовчуванням 1

    Сторінка, від 1 до 200.

Можливі помилки

Спробувати

curl "https://api.satelit.md/v1/market/sellers?category=659" \
  -H "Authorization: Bearer $SATELIT_KEY"
const res = await fetch("https://api.satelit.md/v1/market/sellers?category=659", {
  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/market/sellers?category=659",
    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/market/sellers?category=659");
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": "3f9a1c7e2b4d",
      "source": "m999",
      "active": 42,
      "total": 120,
      "categories": 2,
      "top_category": {
        "id": 659,
        "name": "Автомобілі",
        "url": null,
        "group": {
          "id": 657,
          "name": "Транспорт",
          "url": null
        }
      },
      "activity": "high",
      "first_seen": "2026-03-01T09:00:00+02:00",
      "last_active": "2026-11-02T13:05:00+02:00",
      "tenure_days": 248,
      "new": false,
      "sold": 78,
      "sold_recent": 12,
      "in_category": {
        "active": 38,
        "total": 95,
        "median_mdl": 210000
      }
    },
    {
      "id": "a1b2c3d4e5f6",
      "source": "m999",
      "active": 17,
      "total": 40,
      "categories": 1,
      "top_category": {
        "id": 659,
        "name": "Автомобілі",
        "url": null,
        "group": {
          "id": 657,
          "name": "Транспорт",
          "url": null
        }
      },
      "activity": "regular",
      "first_seen": "2026-06-10T12:00:00+02:00",
      "last_active": "2026-11-02T13:05:00+02:00",
      "tenure_days": 147,
      "new": false,
      "sold": 23,
      "sold_recent": 5,
      "in_category": {
        "active": 17,
        "total": 40,
        "median_mdl": 150000
      }
    },
    {
      "id": "9988776655aa",
      "source": "m999",
      "active": 6,
      "total": 9,
      "categories": 1,
      "top_category": {
        "id": 659,
        "name": "Автомобілі",
        "url": null,
        "group": {
          "id": 657,
          "name": "Транспорт",
          "url": null
        }
      },
      "activity": "regular",
      "first_seen": "2026-10-20T08:00:00+02:00",
      "last_active": "2026-11-02T13:05:00+02:00",
      "tenure_days": 15,
      "new": true,
      "sold": 3,
      "sold_recent": 3,
      "in_category": {
        "active": 6,
        "total": 9,
        "median_mdl": 120000
      }
    }
  ],
  "meta": {
    "credits": 3,
    "updated_at": "2026-11-02T13:05:00+02:00",
    "sources": [
      {
        "name": "one classifieds site",
        "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": 1200,
      "pages": 24
    }
  }
}

Один продавець

GET/v1/market/sellers/{id}

Продавець за його анонімним кодом: категорії, у яких він продає, скільки оголошень активні й усього, і медіана запитуваної ціни за категоріями. Лише цифри, без контактів. Коштує 2 кредити.

Кредити
2
З ключем

Параметри

  • idstringобов'язковий

    Анонімний код продавця, з /v1/market/sellers.

Можливі помилки

Спробувати

curl "https://api.satelit.md/v1/market/sellers/3f9a1c7e2b4d" \
  -H "Authorization: Bearer $SATELIT_KEY"
const res = await fetch("https://api.satelit.md/v1/market/sellers/3f9a1c7e2b4d", {
  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/market/sellers/3f9a1c7e2b4d",
    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/market/sellers/3f9a1c7e2b4d");
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": "3f9a1c7e2b4d",
    "source": "m999",
    "active": 42,
    "total": 120,
    "categories": 2,
    "top_category": {
      "id": 659,
      "name": "Автомобілі",
      "url": null,
      "group": {
        "id": 657,
        "name": "Транспорт",
        "url": null
      }
    },
    "activity": "high",
    "first_seen": "2026-03-01T09:00:00+02:00",
    "last_active": "2026-11-02T13:05:00+02:00",
    "tenure_days": 248,
    "new": false,
    "sold": 78,
    "sold_recent": 12,
    "in_category": {
      "active": 38,
      "total": 95,
      "median_mdl": 210000
    },
    "category_breakdown": [
      {
        "category": {
          "id": 659,
          "name": "Автомобілі",
          "url": null,
          "group": {
            "id": 657,
            "name": "Транспорт",
            "url": null
          }
        },
        "active": 38,
        "total": 95,
        "median_mdl": 210000,
        "last_active": "2026-11-02T13:05:00+02:00"
      },
      {
        "category": {
          "id": 40,
          "name": "Телефони",
          "url": null,
          "group": {
            "id": 646,
            "name": "Електроніка",
            "url": null
          }
        },
        "active": 4,
        "total": 25,
        "median_mdl": 12000,
        "last_active": "2026-11-02T13:05:00+02:00"
      }
    ]
  },
  "meta": {
    "credits": 2,
    "updated_at": "2026-11-02T13:05:00+02:00",
    "sources": [
      {
        "name": "one classifieds site",
        "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)"
  }
}