{"openapi":"3.1.0","info":{"title":"MAC Address API","version":"1.0.0","description":"MAC-address (EUI-48) tooling as an API, computed locally and deterministically. The parse endpoint validates a MAC address given in any common notation — colon, hyphen, Cisco dotted or a bare run of 12 hex digits — and returns it in every standard format, split into its OUI (the first three bytes, assigned to a hardware vendor) and its NIC (the last three, device-specific) parts, plus the 48-bit integer value. The analyze endpoint reads the control bits of the first octet: the least-significant bit is the I/G bit that marks a unicast or multicast address, and the next bit is the U/L bit that marks a universally (vendor-assigned) or locally administered address, and it flags the broadcast address ff:ff:ff:ff:ff:ff. The eui64 endpoint derives the modified EUI-64 interface identifier — flipping the U/L bit and inserting FF:FE in the middle — and the resulting IPv6 link-local address (fe80::/64) used by stateless address autoconfiguration. Vendor name lookup needs the IEEE OUI registry and is not included. Everything is computed locally and deterministically, so it is instant and private. Ideal for networking, IoT, device-management, monitoring and security app developers, MAC-normalisation and IPv6 tools, and networking education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is MAC-address tooling; for IPv4 subnetting use a subnet API and for DNS records a DNS API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/macaddress-api","description":"oanor gateway"}],"tags":[{"name":"MAC"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/analyze":{"get":{"operationId":"get_v1_analyze","tags":["MAC"],"summary":"Analyze bits","description":"","parameters":[{"name":"mac","in":"query","required":true,"description":"MAC address","schema":{"type":"string"},"example":"00:1A:2B:3C:4D:5E"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"cast":"unicast","note":"The least-significant bit of the first octet is the I/G bit (0 unicast, 1 multicast); the next bit is the U/L bit (0 vendor-assigned, 1 locally administered). ff:ff:ff:ff:ff:ff is the broadcast address.","ig_bit":0,"inputs":{"mac":"00:1a:2b:3c:4d:5e"},"ul_bit":0,"is_all_zero":false,"is_broadcast":false,"administration":"universally administered (vendor-assigned)","first_octet_binary":"00000000"},"meta":{"timestamp":"2026-06-05T11:30:28.020Z","request_id":"345bda49-bec6-44f6-9da0-e36fca53d45e"},"status":"ok","message":"Analyze MAC bits","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/eui64":{"get":{"operationId":"get_v1_eui64","tags":["MAC"],"summary":"EUI-64 / IPv6 link-local","description":"","parameters":[{"name":"mac","in":"query","required":true,"description":"MAC address","schema":{"type":"string"},"example":"00:1A:2B:3C:4D:5E"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Modified EUI-64: flip the U/L bit of the first octet and insert FF:FE in the middle. Prepending fe80::/64 gives the IPv6 link-local address used by SLAAC.","eui64":"02:1a:2b:ff:fe:3c:4d:5e","inputs":{"mac":"00:1a:2b:3c:4d:5e"},"ipv6_link_local":"fe80::021a:2bff:fe3c:4d5e","interface_identifier":"021a:2bff:fe3c:4d5e"},"meta":{"timestamp":"2026-06-05T11:30:28.118Z","request_id":"edd59745-2494-468e-9567-7435898ce009"},"status":"ok","message":"EUI-64 / IPv6","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/parse":{"get":{"operationId":"get_v1_parse","tags":["MAC"],"summary":"Parse & reformat","description":"","parameters":[{"name":"mac","in":"query","required":true,"description":"MAC address (any notation)","schema":{"type":"string"},"example":"00:1A:2B:3C:4D:5E"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"nic":"3c:4d:5e","oui":"00:1a:2b","note":"EUI-48 MAC parsed into its standard notations. The OUI is the first 3 bytes (assigned to a vendor); the NIC is the last 3 bytes (device-specific). Vendor name lookup needs the IEEE OUI registry and is not included.","valid":true,"inputs":{"mac":"00:1A:2B:3C:4D:5E"},"formats":{"dot":"001a.2b3c.4d5e","bare":"001a2b3c4d5e","colon":"00:1a:2b:3c:4d:5e","hyphen":"00-1A-2B-3C-4D-5E","uppercase":"00:1A:2B:3C:4D:5E"},"integer":112394521950},"meta":{"timestamp":"2026-06-05T11:30:28.210Z","request_id":"f04470c0-1c20-4f6f-bcf2-7e1d136e5a73"},"status":"ok","message":"Parse MAC","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"notes":"Accepts MACs in colon, hyphen, dot (Cisco) or bare 12-hex-digit form. The I/G bit (multicast) and U/L bit (local administration) are read from the first octet.","service":"macaddress-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/eui64":"Modified EUI-64 interface identifier and the IPv6 link-local address.","GET /v1/parse":"Validate and reformat a MAC (colon/hyphen/dot/bare) with its OUI and NIC.","GET /v1/analyze":"Unicast/multicast, universally/locally administered and broadcast flags."},"description":"MAC-address (EUI-48) calculator: parse and reformat a MAC, analyse its unicast/multicast and administration bits, and derive the EUI-64 interface identifier and IPv6 link-local address."},"meta":{"timestamp":"2026-06-05T11:30:28.316Z","request_id":"cc3eade5-a1bb-46c4-bb9a-9d93c5aaa52d"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":5200,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":600,"monthly_call_quota":47000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1500,"monthly_call_quota":232000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":4800,"monthly_call_quota":1340000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/macaddress-api"}