MAC address vendor lookup API

Development / API Key Intermediate HTTPS CORS
Varies by plan (check documentation)

Overview

macaddress.io resolves any MAC address or OUI (Organizationally Unique Identifier) prefix to the hardware vendor that manufactured the network interface. The API returns the company name, address, block type, and additional metadata useful for network monitoring and asset inventory tools. A free tier is available with a limited number of daily lookups after registering for an API key.

💡

Beginner Tip

Register at https://macaddress.io to receive a free API key. Pass the key via the X-API-Key header and the MAC address as the search query parameter. The MAC can be in any common format (colon-separated, hyphen-separated, or no delimiter). Start with a small test: look up "FC:FB:FB:01:FA:21" and you should get back a well-known vendor like Apple.

Available Data

MAC address vendor lookup data via REST API
JSON-formatted response data
Requires API key authentication

Example Response

JSON Response
{
  "status": "success",
  "data": {
    "result": "Data from MAC address vendor lookup",
    "description": "Retrieve vendor details and other information regarding a given MAC address or an OUI",
    "timestamp": "2025-01-15T10:00:00Z"
  }
}

Field Reference

vendorDetails.companyName Name of the company that owns this OUI block, e.g. "Apple, Inc.".
vendorDetails.companyAddress Registered address of the vendor.
vendorDetails.countryCode ISO 3166-1 alpha-2 country code of the vendor headquarters.
blockDetails.blockFound Whether a matching OUI block was found in the IEEE database.
blockDetails.blockSize Number of MAC addresses in the assigned block (e.g. 16777216 for a /8 block).
macAddressDetails.isValid Indicates whether the provided MAC address is valid.

Implementation Example

// ⚠️ Note: This URL may be a documentation page. Check official docs for actual API endpoint.
const url = "https://macaddress.io/api";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "X-API-Key": "YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

401 Unauthorized Missing or invalid API key in the request header.
Include the header X-API-Key: YOUR_KEY. Double-check the key value copied from your dashboard.
422 Unprocessable Entity The MAC address format is malformed or the address is a broadcast/multicast address.
Ensure the MAC is a valid unicast 12-hex-digit address. Strip any non-hex characters before sending.
429 Too Many Requests Free-tier daily limit exceeded.
Wait until midnight UTC for the counter to reset, or upgrade to a paid plan for higher limits.

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 5/20
🔒 Security 15/15
🛠 Developer XP 17/20
✓ Reliability 10/15

Partially tested on Apr 5, 2026

Technical Specifications

Auth API Key
HTTPS REQUIRED
CORS YES
Category Development
Difficulty Intermediate
Verified: 2026-04-04

Similar APIs

View All →