← Docs

MAC Address API

A normalized MAC address, registered vendor, matched prefix, 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
Explore
Parameters 2
macstring · path · required

48-bit MAC address in colon, dash, dotted, or twelve-digit bare hex form

deepboolean · query · optional

When true, adds deep: {}. No additional fields or charge

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.mac("00:23:DF:84:45:E6");
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response
{
  "mac": "00:23:DF:84:45:E6",
  "valid": true,
  "vendor": "Apple, Inc.",
  "local": false,
  "multicast": false,
  "prefix": "0023DF"
}

Response fields

macstring
48-bit address in uppercase colon notation. Invalid input echoes the original value with surrounding whitespace removed
validboolean
The input is a supported 48-bit MAC address. This does not prove a device exists
vendorstring or null
Registered assignment holder. Null for unknown prefixes, locally administered addresses, and multicast addresses. This does not identify a device model or owner
localboolean or null
The locally administered bit is set. Null for invalid input. This flag alone does not prove randomization
multicastboolean or null
The group address bit is set. Null for invalid input
prefixstring or null
Actual longest matched assignment as 6, 7 or 9 uppercase hex digits. Null when no directory match is made. Private or conflicting assignments can have a prefix with a null vendor

Matched prefix

prefix is the actual longest matched assignment, as 6, 7 or 9 uppercase hex digits. Private and conflicting assignments keep their matched prefix with a null vendor. An unknown global address has no matched prefix.

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.

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.mac("02:23:DF:84:45:E6");
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response
{
  "mac": "02:23:DF:84:45:E6",
  "valid": true,
  "vendor": null,
  "local": true,
  "multicast": false,
  "prefix": null
}

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

Questions? Email