MAC Address Lookup API

Our MAC Address Vendor/Manufacturer Lookup API allows you to query against our database and obtain information about any MAC address or OUI. Our simple to use RESTful API makes it easy to implement into any application you are building.

The older key based version of our API will still continue to work. Click here for details

How to use our API

To use our API, just send your requests to the following URL and you will receive a JSON encoded output.

http://www.macvendorlookup.com/api/v2/{MAC_Address}

If you prefer SSL encryption, you can send queries over HTTPS.

https://www.macvendorlookup.com/api/v2/{MAC_Address}

Queries must be at least 6 hexadecimal characters long to be able to determine the manufacturer. However, some OUIs issued by IEEE are split into smaller chunks for companies that do not require a full OUI24 block. In that case, the first 6 characters of the MAC address will not be enough and you will need to supply 8 characters to query our OUI36 database. If at all possible, send the full MAC address in any format for the best possible result.


JSON Output

By default, our API provides a JSON encoded response.

Query

http://www.macvendorlookup.com/api/v2/00-23-AB-7B-58-99

Response Output
[
   {
      "startHex":"0023AB000000",
      "endHex":"0023ABFFFFFF",
      "startDec":"153192759296",
      "endDec":"153209536511",
      "company":"CISCO SYSTEMS, INC.",
      "addressL1":"170 W. TASMAN DRIVE",
      "addressL2":"M\/S SJA-2",
      "addressL3":"SAN JOSE CA 95134-1706",
      "country":"UNITED STATES",
      "type":"oui24"
   }
]

The two relavent response headers provided are HTTP/1.1 200 OK and Content-Type: application/json


Value Descriptions

In all of the reponse formats, the order of the values are the same. A description of each value is below.

startHex
The start of the MAC address range the vendor owns in hexadecimal format
endHex
The end of the MAC address range the vendor owns in hexadecimal format
startDec
The start of the MAC address range the vendor owns in decimal format
endDec
The end of the MAC address range the vendor owns in decimal format
company
Company name of the vendor or manufacturer
addressL1
First line of the address the company provided to IEEE
addressL2
Second line of the address the company provided to IEEE
addressL3
Third line of the address the company provided to IEEE
country
Country the company is located in
type
There are 3 different IEEE databases: oui24, oui36, and iab

No Match Found

If there is no match in our database, you will receive an empty response with a status code of HTTP/1.1 204 No Content


Output Formats

If you would like to specify a different output, append a /{OutputFormat} to the end of your query. Valid output formats are json, xml, csv, and pipe. The output from each type are below.


XML Output

Query

http://www.macvendorlookup.com/api/v2/0023AB7B5899/xml

Response
<?xml version="1.0" encoding="utf-8"?>
<result>
	<startHex>0023AB000000</startHex>
	<endHex>0023ABFFFFFF</endHex>
	<startDec>153192759296</startDec>
	<endDec>153209536511</endDec>
	<company>CISCO SYSTEMS, INC.</company>
	<addressL1>170 W. TASMAN DRIVE</addressL1>
	<addressL2>M/S SJA-2</addressL2>
	<addressL3>SAN JOSE CA 95134-1706</addressL3>
	<country>UNITED STATES</country>
	<type>oui24</type>
</result>

The two relavent response headers provided are HTTP/1.1 200 OK and Content-Type: application/xml


Comma Delimited Format (CSV) Output

Query

http://www.macvendorlookup.com/api/v2/00:23:AB:7B:58:99/csv

Response
"0023AB000000","0023ABFFFFFF","153192759296","153209536511","CISCO SYSTEMS, INC.","170 W. TASMAN DRIVE","M/S SJA-2","SAN JOSE CA 95134-1706","UNITED STATES","oui24"

The two relavent response headers provided are HTTP/1.1 200 OK and Content-Type: text/csv


Pipe Character Seperated (|) Output

Query

http://www.macvendorlookup.com/api/v2/0023.ab7b.5899/pipe

Response
0023AB000000|0023ABFFFFFF|153192759296|153209536511|CISCO SYSTEMS, INC.|170 W. TASMAN DRIVE|M/S SJA-2|SAN JOSE CA 95134-1706|UNITED STATES|oui24

The two relavent response headers provided are HTTP/1.1 200 OK and Content-Type: text/plain


API Version 1 (Key Based)

If you have already signed up using our old website, your key will still work however you won't be able to change the output format for your key. However, you can just substitute your key with your desired output of json, xml, csv, or pipe. For example:

http://www.macvendorlookup.com/api/{YOUR_API_KEY}/0023AB7B5899

http://www.macvendorlookup.com/api/json/0023AB7B5899

http://www.macvendorlookup.com/api/xml/0023AB7B5899

http://www.macvendorlookup.com/api/csv/0023AB7B5899

http://www.macvendorlookup.com/api/pipe/0023AB7B5899


Costs and Query Limits

Our API is totally free! We pay for this site from our own pockets, ads, and donations. If you feel compelled (and you SHOULD!) to help us out, you can donate here :)

There are no limits on how many requests you can perform. We have multiple servers located all around the world. The closest or best performing one for you is automatically routed using Amazon's Route 53 DNS service.


API Suggestions and Comments

Please let us know if you have any suggestions or comments regarding our API! You can reach us though our Contact Us page.


About REST (REpresentational State Transfer)

We designed our API in a very RESTful way, so that your consumption of it is simple and straightforward. FromĀ Wikipedia:

REST's proponents argue that the Web's scalability and growth are a direct result of a few key design principles:

  • Application state and functionality are divided into resources
  • Every resource is uniquely addressable using a universal syntax for use in hypermedia links
  • All resources share a uniform interface for the transfer of state between client and resource, consisting of

    • A constrained set of well-defined operations
    • A constrained set of content types, optionally supporting code on demand
  • A protocol which is:

    • Client-server
    • Stateless
    • Cacheable
    • Layered

REST's client/server separation of concerns simplifies component implementation, reduces the complexity of connector semantics, improves the effectiveness of performance tuning, and increases the scalability of pure server components. Layered system constraints allow intermediaries-proxies, gateways, and firewalls-to be introduced at various points in the communication without changing the interfaces between components, thus allowing them to assist in communication translation or improve performance via large-scale, shared caching.