MAC Lookup API

REST API за търсене на производител по MAC адрес — единично и групово

Единично търсене

Връща производителя по MAC адрес или OUI. Приема всякакъв формат — с двоеточия, тирета или без разделители.

GET /api/{MAC}
GET /api.php?mac={MAC}
mac задължителен — MAC адрес или OUI (6 или 12 hex символа)
format=text по избор — връща само текст, без JSON

Примери:

# JSON отговор
curl https://mac.techbg.net/api/D0:21:F9:5B:65:CD

# Само текст (за shell скриптове)
curl "https://mac.techbg.net/api.php?mac=D021F9&format=text"

JSON отговор:

{
  "oui": "D0:21:F9",
  "vendor": "Ubiquiti Inc",
  "source": "local",
  "found": true
}

Групово търсене (batch)

До 150 OUI-та в една заявка — разделени със запетая. Отговорът е plain-text, оптимизиран за MikroTik скриптове.

GET /api/batch/{OUI1,OUI2,...}
GET /api.php?macs={OUI1,OUI2,...}
macs задължителен — списък от OUI/MAC-ове, разделени с ,
sort=vendor по избор — сортира резултата по производител

Пример:

curl https://mac.techbg.net/api/batch/D021F9,9C056D,8CE748

Отговор (plain-text):

D021F9~Ubiquiti Inc;9C056D~Ubiquiti Inc;8CE748~Hangzhou Hikvision Digital Technology Co.,Ltd.;
Форматът OUI~Vendor; се парсва директно в RouterOS без допълнителни зависимости.

Приемани формати

API нормализира автоматично — не е нужно специфичен формат на входа.

ВходОписание
D0:21:F9:5B:65:CDпълен MAC, двоеточия
D0-21-F9-5B-65-CDпълен MAC, тирета
D021F95B65CDпълен MAC, без разделители
D0:21:F9само OUI, двоеточия
D021F9само OUI, без разделители

Полета в JSON отговора:

ПолеСтойност
ouiнормализиран OUI (AA:BB:CC)
vendorпроизводител или Unknown
sourcelocal / remote / unknown
foundtrue / false

MikroTik RouterOS примери

Единично търсене на вендор по MAC адрес:

:local mac "D0:21:F9:5B:65:CD"
:local oui ([:pick $mac 0 2] . [:pick $mac 3 5] . [:pick $mac 6 8])
:local r [/tool fetch url=("https://mac.techbg.net/api/batch/" . $oui) \
    output=user as-value]
:local vendor [:pick ($r->"data") 7 [:find ($r->"data") ";"]]
:log info ("Vendor: " . $vendor)

Batch за цялата мрежа (от ARP таблица):

:local ol ""
:foreach e in=[/ip arp find] do={
  :local m [/ip arp get $e mac-address]
  :local o ([:pick $m 0 2] . [:pick $m 3 5] . [:pick $m 6 8])
  :if ([:find $ol $o] < 0) do={
    :if ($ol != "") do={ :set ol ($ol . ",") }
    :set ol ($ol . $o)
  }
}
:local r [/tool fetch url=("https://mac.techbg.net/api/batch/" . $ol) \
    output=user as-value]
:log info ($r->"data")

Само текст (format=text) за прост shell:

vendor=$(curl -s "https://mac.techbg.net/api.php?mac=D021F9&format=text")
echo "Vendor: $vendor"
Лимити и кеш: batch — до 150 OUI на заявка  ·  непознат OUI се кешира за 30 дни  ·  няма rate-limit за вътрешна употреба  ·  CORS * (достъпен от браузър)