← Docs

MAC Address API

A normalized MAC address, registered vendor, and address flags.

Normalize a 48-bit MAC address and look up its registered assignment holder. Accepts colon-separated or dash-separated octets, dotted groups of four hex digits, and twelve bare hex digits. The response uses uppercase colon notation.

vendor identifies the assignment holder, not the device model or owner. Local and multicast addresses have no vendor result. The local bit alone does not prove randomization.

Lookup

GET
api.parseapi.com/mac/{mac}
Normalized address, registered vendor, and local and multicast flags
curl "https://api.parseapi.com/mac/00:23:DF:84:45:E6" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "mac": "00:23:DF:84:45:E6",
  "valid": true,
  "vendor": "Apple, Inc.",
  "local": false,
  "multicast": false
}
curl "https://api.parseapi.com/mac/0023.df84.45e6" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "mac": "00:23:DF:84:45:E6",
  "valid": true,
  "vendor": "Apple, Inc.",
  "local": false,
  "multicast": false
}

Response fields

mac
48-bit address in uppercase colon notation. Invalid input echoes the original value with surrounding whitespace removed
valid
The input is a supported 48-bit MAC address. This does not prove a device exists
vendor
Registered assignment holder. Null for unknown prefixes, locally administered addresses, and multicast addresses. This does not identify a device model or owner
local
The locally administered bit is set. Null for invalid input. This flag alone does not prove randomization
multicast
The group address bit is set. Null for invalid input

Local and invalid addresses

Unknown global prefixes return vendor: null. Invalid input returns 200 with valid: false and null vendor and flags. Prefix-only and EUI-64 values are unsupported.

curl "https://api.parseapi.com/mac/02:23:DF:84:45:E6" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "mac": "02:23:DF:84:45:E6",
  "valid": true,
  "vendor": null,
  "local": true,
  "multicast": false
}
curl "https://api.parseapi.com/mac/hello" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "mac": "hello",
  "valid": false,
  "vendor": null,
  "local": null,
  "multicast": null
}

Each lookup uses one pooled request on every plan. ?deep=true adds deep: {} with no additional fields or charge.

Questions? Email