MAC Address Lookup API Using PowerShell

Meet macvendors.com! I’ve used this website quite a bit in the past and recently saw that they have an API. This means I can query MAC address vendors using PowerShell instead of loading the site every time.

So I quickly threw together a small test to see if this would work using Invoke-WebRequest. You can see this below:

$mac_example = "3C-07-71-75-BC-32"
Invoke-WebRequest -Uri "https://api.macvendors.com/$mac_example"

This returns the following information:

StatusCode        : 200
StatusDescription : OK
Content           : Sony Corporation
RawContent        : HTTP/1.1 200 OK
                    Connection: keep-alive
                    x-request-id: lhgjrrs7mf0desm40sifji9reoehi08b
                    Content-Length: 16
                    Cache-Control: max-age=0, private, must-revalidate
                    Content-Type: text/plain; charset=utf-8...
Forms             : {}
Headers           : {[Connection, keep-alive], [x-request-id, lhgjrrs7mf0desm40sifji9reoehi08b], [Content-Length, 16],
                    [Cache-Control, max-age=0, private, must-revalidate]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 16

This provides with a lot of useless information. All I really want is the content field which contains the manufacturer information. So what I’m going to do is wrap the Invoke-WebRequest in brackets and select the content field as shown below:

(Invoke-WebRequest -Uri "https://api.macvendors.com/$mac_example").content

Which simple returns “Sony Corporation”. Perfect. Enjoy!


Leave a Reply