Search for an object to see its operational context.
Loading view…
MIB context without the maze
Find the object. Understand the index. Use it with confidence.
Search by OID, symbol, module, or monitoring task. Go from a numeric leaf to table meaning, a usable command, and traceable source context.
- Local walk parsingValues stay in this browser tab
- No device connectionsmibvendor never polls your equipment
- Source-aware answersRevision and provenance stay visible
Rights-cleared source catalog
Use the MIB. See why it can—or cannot—be served.
Raw download appears only when file-level evidence permits redistribution. Unknown vendor material stays out of the public corpus; an official-source link is not treated as a license.
Identity without invention
Move from an OID to defensible context.
Registry ownership, agent identity, and hardware model are different claims. mibvendor keeps them separate and shows the evidence boundary.
Evidence-aware assessment
Assess a device identity from bounded signals
Send individual identifiers, not an SNMP walk. A registry assignment proves PEN ownership only. Only a reviewed normalization can support an exact model; other vendor-MIB assignments stop at product family/category or a generic vendor identifier. A project observation can corroborate a claim but cannot turn one observed device into a universal mapping.
The identity release publishes 6,391 distinct exact mapping keys. It contains 36 reviewed vendor-MIB model normalizations and 270 medium-confidence open-source project model claims; these are separate evidence layers, not 306 reviewed or universally resolved models. Project model evidence now covers 964 distinct OIDs. Thirty-three source candidates remain quarantined, and four reviewed definition-observation overlaps remain explicit conflicts.
A separate source-defined layer adds 655 platform prefixes covering 406 platform labels and 266 PENs. Longest arc-bound prefix matching applies only to sysObjectID and an exact OID mapping always takes precedence. A prefix can support an agent-platform result; it never asserts a hardware model or product family. Another 358 prefix candidates remain quarantined.
No assessment yet.
Results distinguish exact model, product family, generic vendor identifier, platform, vendor-only, conflicting evidence, and unknown outcomes. A platform-prefix match is not a hardware-model claim.
Secure by boundary
Use mibvendor without handing over your network.
OID context does not require device access. Keep operational secrets out of every field and use only official mibvendor service origins.
Web application
Search definitions and decode numeric walks without entering community strings, SNMPv3 credentials, device passwords, or customer identifiers.
Walk decoder
Raw walk values are parsed locally in this tab. The current decoder makes no network request and retains nothing after the tab closes.
Public API
Permanently freeUse only https://mibvendor.io/v1. Access is permanently free and fair-use bounded. Send numeric OID batches—not raw walks, credentials, hostnames, serial numbers, or customer identifiers.
Local-first workflow
Decode an existing SNMP walk
Raw text is parsed in this browser tab. This prototype makes no network request and retains nothing after the tab closes.
Prototype limit: 10 MiB or 50,000 lines.
Decoded groups and unresolved OIDs will appear here.
| Group / index | Resolved object | Numeric OID | Value |
|---|
Developer API
Resolve OIDs without uploading raw walks.
The API is permanently free: no paid tier, subscription, billing, or paid quota upgrade. It currently needs no API key. Optional keys, if introduced, will be free abuse-control credentials only.
Core endpoints
- GET
/v1/search?q=interface+statusRanked discovery - GET
/v1/objects/{objectId}Object semantics and provenance - GET
/v1/objects/{objectId}/navigationBounded ancestors, children, and subtree - GET
/v1/modules?q=BFDRights-cleared module catalog - GET
/v1/modules/{module}/rawExact MIB + license + provenance TAR - GET
/v1/sourcesPublication mode and rights scopes - GET
/v1/enterprises/{number}IANA PEN lookup - GET
/v1/sys-object-ids/{oid}Exact, platform-prefix, or PEN result - POST
/v1/device-identities:assessBounded multi-signal identity assessment - GET
/v1/modules/{module}/dependenciesDependency graph states - POST
/v1/resolve:batchOrder-preserving OID resolution - GET
/v1/data-releaseActive immutable release
Free public API contract
- HTTPS JSON under a versioned
/v1namespace. - Free access is fair-use bounded, not unlimited use or an availability SLA.
- Every response identifies its immutable
data_release. - Identity responses expose the immutable
identity_release, its SHA-256, and the activeidentity_view. - The identity view includes a separately hashed control revision and source kill-switch state.
- Batch order and duplicate inputs are preserved.
- Invalid OIDs and valid-but-not-found OIDs remain distinct.
- PEN ownership never silently becomes a device-model claim.
- Prefix matches are arc-bound,
sysObjectID-only platform evidence; exact claims take precedence. - Errors use RFC 9457
application/problem+json.
Fair-use limits may change to contain abuse. Read RateLimit-* and Retry-After, honor 429, and follow each response's Cache-Control and ETag. Batch POST results are no-store; active raw routes revalidate withdrawal controls. Module lists use cursors; the service provides no availability SLA.
curl --fail-with-body --compressed -i \
'https://mibvendor.io/v1/data-release'
curl --fail-with-body --compressed \
'https://mibvendor.io/v1/modules?q=IANA&limit=1&cursor=0'
# Read next_cursor from that response and pass it unchanged:
curl --fail-with-body --compressed \
'https://mibvendor.io/v1/modules?q=IANA&limit=1&cursor=1'
curl --fail-with-body --compressed \
-X POST 'https://mibvendor.io/v1/device-identities:assess' \
-H 'content-type: application/json' \
--data '{"signals":{"sys_object_id":"1.3.6.1.4.1.9.1.2494","ent_physical_model_name":"C9300-48P"}}'
const origin = "https://mibvendor.io";
const releaseResponse = await fetch(`${origin}/v1/data-release`);
if (!releaseResponse.ok) throw new Error(`release: ${releaseResponse.status}`);
const release = await releaseResponse.json();
const response = await fetch(`${origin}/v1/resolve:batch`, {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
data_release: release.data_release,
oids: ["1.3.6.1.2.1.2.2.1.8.7", "1.3.6.1.4.1.999999.1.0"]
})
});
if (!response.ok) throw await response.json();
console.log(await response.json());
import json
from urllib.request import Request, urlopen
origin = "https://mibvendor.io"
with urlopen(f"{origin}/v1/data-release", timeout=10) as response:
release = json.load(response)
body = json.dumps({
"data_release": release["data_release"],
"oids": ["1.3.6.1.2.1.2.2.1.8.7"]
}).encode()
request = Request(f"{origin}/v1/resolve:batch", data=body,
headers={"content-type": "application/json"}, method="POST")
with urlopen(request, timeout=10) as response:
print(json.load(response))
No request has been sent.
Run the fixed same-origin example to inspect the actual JSON response.
Error contract example
{
"type": "https://mibvendor.io/problems/data-release-unavailable",
"title": "Data release unavailable",
"status": 409,
"detail": "This public alpha exposes only its active immutable release"
}
Data trust
Every answer should say where it came from.
mibvendor keeps source, revision, source and artifact checksums, parse status, license, and publication mode in the result model. Unknown-rights vendor material is directory-only and its content stays quarantined; being downloadable elsewhere changes nothing.