Migration guide

A macvendors.com API alternative you can switch to in one request.

macadress.com's keyless vendor endpoint returns the same thing macvendors.com's does: the plain-text vendor name for a MAC address, no key and no signup. Moving over is a base-URL change. This page covers what stays the same, the one response difference to handle, and when staying on macvendors is the right call.

Checked against macvendors.com/api on September 2, 2026. Their limits and responses can change; treat their docs as the source of truth for their side.

What stays the same

  • No API key, no account, no Authorization header
  • 200 with the bare vendor name as text/plain, e.g. Apple, Inc.
  • Same MAC formats: colons, dashes, dots, or bare hex
  • Same free daily allowance: 1,000 lookups a day
  • A 404 still means "no vendor for this address"

What changes

  • Base URL: api.macvendors.com/<mac> becomes api.macadress.com/v1/vendor/<mac>
  • Error body: macvendors returns JSON on a miss ({"errors":{"detail":"Not Found"}}). macadress returns plain text: not registered, or locally administered for a privacy-randomized address. If you parse the JSON error, switch to reading the status code and the text body.
  • Rate limit: macvendors allows 1 request per second. macadress allows 60 per minute per IP, so short bursts go through instead of getting a 429.

Side by side

Behavior comparison

macadress facts are from this site's own endpoint reference. macvendors facts are from their API page and a live check on September 2, 2026.

api.macvendors.comapi.macadress.com/v1/vendor
API key / signupNoneNone
Success response200, text/plain, vendor string200, text/plain, vendor string
Unknown / unregistered MAC404, JSON {"errors":{"detail":"Not Found"}}404, text not registered
Locally administered (randomized) MAC404, same as unknown404, text locally administered, told apart from unregistered
Rate limit1 request / second60 requests / minute per IP
Daily cap (no key)1,000 / day1,000 / day per IP, resets 00:00 UTC
Over the limit429, JSON error429 with a Retry-After header
Browser (CORS)Not documentedAccess-Control-Allow-Origin: *
OUI-only lookupFull MACFull MAC or the bare 6-hex OUI
Batch lookupsNonePOST /v1/mac/batch, up to 100 per call, with a free key
OUI, IEEE block, country, randomization confidenceNot offeredGET /v1/mac/:mac returns them as JSON, with a free key
Data sourceIEEE registryIEEE MA-L/MA-M/MA-S/IAB/CID, re-synced on a schedule, sync date in a response header
Paid / self-hosted pathmacvendors.com plansPaid plans and a self-hosted license

curl

# before
curl https://api.macvendors.com/00:03:93:AB:12:34

# after: same request, new host and path
curl https://api.macadress.com/v1/vendor/00:03:93:AB:12:34

Python

import requests

# before
r = requests.get(f"https://api.macvendors.com/{mac}")
vendor = r.text if r.ok else None

# after
r = requests.get(f"https://api.macadress.com/v1/vendor/{mac}")
vendor = r.text if r.ok else None

Error handling: the one edit

# before: macvendors returns a JSON error body
if r.status_code == 404:
    detail = r.json()["errors"]["detail"]   # "Not Found"

# after: macadress returns plain text
if r.status_code == 404:
    reason = r.text   # "not registered" or "locally administered"

JavaScript (browser)

// CORS is open, so this runs from a page
const res = await fetch(
  `https://api.macadress.com/v1/vendor/${mac}`
);
const vendor = res.ok ? await res.text() : null;

Be honest

When to stay on macvendors.com

macvendors.com is a long-running free service that has served this community well. If it works for you, there is no reason to move.

  • You are already integrated, under 1 request per second, and under 1,000 a day. A migration buys you nothing here.
  • You depend on its exact JSON error shape and would rather not touch that code.
  • You only ever need the vendor name and never expect to want the OUI, IEEE block, country, batch lookups, or randomization analysis.

Reasons to switch: you keep hitting the 1-per-second wall, you want per-minute burst room, you want unregistered told apart from privacy-randomized, or you want a path to the keyed JSON and batch endpoints without changing providers again later.

58,457 vendor blocks tracked 161 countries Last synced Sep 13, 2026 Browse the MAC vendor database →

Burst room

60 a minute, not 1 a second

A tight 1-per-second cap means a loop over a handful of addresses starts returning 429. macadress meters per minute, so a short burst clears and only sustained volume is throttled.

Randomization aware

Unregistered vs. randomized

A privacy-randomized MAC and a genuinely unknown one both look like a 404 elsewhere. Here the body says locally administered so you can tell "the OS made this up" from "not in the registry".

Room to grow

Same provider when you need more

Start on the keyless name lookup. Add a free key later for JSON with the OUI, block, and country, batch requests, or a self-hosted deployment. No second migration.

FAQ

Switching from macvendors.com

Is macadress.com a drop-in replacement for the macvendors.com API?

Nearly. Both return the vendor name as plain text from a keyless GET, so switching is a base-URL change: point at https://api.macadress.com/v1/vendor/ instead of https://api.macvendors.com/. The one behavior difference is the error body: macvendors returns JSON on a miss, macadress returns plain text (see below).

How do I migrate from api.macvendors.com?

Change the request URL from https://api.macvendors.com/<mac> to https://api.macadress.com/v1/vendor/<mac>. If your code reads the 404 JSON body ({"errors":{"detail":"Not Found"}}), switch it to check the status code and read the plain-text body instead: "not registered" or "locally administered". Nothing else needs to change: no key, same MAC formats, same 1,000-a-day free allowance.

What are the rate limits compared to macvendors.com?

macvendors allows 1 request per second and 1,000 a day with no key. macadress's keyless endpoint allows 60 requests per minute per IP and 1,000 a day per IP, so short bursts clear instead of hitting a 429. Adding a free API key replaces the daily cap with your plan's monthly quota, with the first 1,000 a day still free.

Does the macadress.com endpoint need an API key?

The name lookup, GET /v1/vendor/:mac, needs no key, exactly like macvendors. A free key is only for the JSON endpoint (GET /v1/mac/:mac, which adds the OUI, IEEE block, country, and randomization analysis), batch requests, or lifting the anonymous daily cap.

What does macadress return when the MAC address is not found?

HTTP 404 with a plain-text body: "not registered" when the prefix isn't in the IEEE registry, or "locally administered" for a privacy-randomized address. macvendors returns 404 with JSON {"errors":{"detail":"Not Found"}} and doesn't tell the two cases apart.

Can I still call it from browser JavaScript?

Yes. Every response sets Access-Control-Allow-Origin: *, so a fetch() from a web page works without a proxy.

Is there a batch equivalent?

Not on the keyless endpoint. With a free key, POST /v1/mac/batch takes up to 100 addresses per request and returns a result for each. macvendors has no batch endpoint.