Skip to main content

NetBox macadress

A NetBox plugin that adds the IEEE vendor to every MAC address in NetBox, using the macadress.com API. It works with no API key (vendor name only). A free key adds the block type, country and registered address.

Vendor panel on a MAC address

Features

  • Vendor panel on MAC address, device interface and VM interface pages
  • Vendor column for the MAC address table (enable it under Configure Table), included in exports
  • Background sync that looks up new MAC addresses and refreshes vendors after 30 days. A lookup is also queued as soon as a MAC address with an unknown vendor is saved, and from the Look up now button.
  • One lookup per block: addresses are cached per IEEE block (OUI, MA-M or MA-S), so a few hundred lookups usually cover thousands of devices. Blocks that IEEE splits between several vendors are cached at the right width, so devices are never labeled with a neighbor's vendor.
  • No lookup for locally administered (often randomized) or multicast addresses
  • MAC Vendors list with filtering, global search, REST API and GraphQL

Vendor column on the MAC address list

MAC Vendors list

Compatibility

NetBox Plugin
4.5 - 4.7 0.1.x

See COMPATIBILITY.md. Requires Python 3.12+.

Dependencies

  • macadress, the official macadress.com Python client (installed automatically)
  • A running NetBox background worker (manage.py rqworker), which runs the lookups
  • Outbound HTTPS to api.macadress.com. NetBox's HTTP_PROXIES / PROXY_ROUTERS settings are honored.

Installation

source /opt/netbox/venv/bin/activate
pip install netbox-macadress

Add it to local_requirements.txt so NetBox upgrades keep it, then enable it in configuration.py:

PLUGINS = ["netbox_macadress"]

Apply the migration and restart NetBox and its worker:

cd /opt/netbox/netbox
python manage.py migrate
sudo systemctl restart netbox netbox-rq

For netbox-docker, add netbox-macadress to plugin_requirements.txt and see Using NetBox Plugins.

Configuration

Every setting is optional:

PLUGINS_CONFIG = {
    "netbox_macadress": {
        "api_key": "",              # or set MACADRESS_API_KEY in the environment
        "sync_interval": 60,        # minutes between scheduled syncs
        "max_lookups_per_run": 500, # the rest wait for the next run
        "refresh_days": 30,         # age at which a cached vendor is looked up again
        "lookup_on_save": True,     # queue a lookup when a MAC with an unknown vendor is saved
        "timeout": 10,
        "base_url": "https://api.macadress.com",
    },
}
Mode Data Limits
No key Vendor name 1,000 lookups a day per IP, 60 a minute
Free key Vendor, block type, country, address 100 addresses per batch call, 1,000 free a day, then your plan

When a key is added later, entries fetched without one are refreshed on the next sync.

REST API and GraphQL

  • GET /api/plugins/macadress/vendors/, filterable by mac_address, prefix, organization, status, country, source and q. Delete an entry to force it to be looked up again.
  • GraphQL: mac_vendor(id: ...) and mac_vendor_list

Support

License

Apache-2.0, see LICENSE.

Metadata

Release files for netbox-macadress 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netbox-macadress 0.1.0
File Size Uploaded
netbox_macadress-0.1.0.tar.gz 36.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for netbox-macadress 0.1.0
File Interpreter ABI Platform
netbox_macadress-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 81.1 kB

Release files / netbox_macadress-0.1.0.tar.gz

Download URL netbox_macadress-0.1.0.tar.gz
Size 36.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7bc881a8f499f6feb315510af0a4e5a920748a0c5c05c01f9d48a94d6606f670
BLAKE2b-256 checksum
How to use checksums
891ad47c4e67eb29e12f2d32e3297a72e2413bc8dd670fb87f4073d4a9b7ab99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release files / netbox_macadress-0.1.0-py3-none-any.whl

Download URL netbox_macadress-0.1.0-py3-none-any.whl
Size 44.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9c1dc0277460e06ec31c1689753ae4be0bb2dfb8d931d40799c8b2e647e35be3
BLAKE2b-256 checksum
How to use checksums
fa1f15c035ba6b05e94fa5d4c2d462d6571d5fab1577c710ce200b260b83e04c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page