Find an API

Search public APIs with auth details & Postman guides

← All APIs

NetBox API

netbox · Company

Company No Auth Free & Open enterprise

API to access NetBox

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET dcim_connected-device_list

This endpoint allows a user to determine what device (if any) is connected to a given peer device and peer interface. This is useful in a situation where a device boots with no configuration, but can detect its neighbors via a protocol such as LLDP. Two query parameters must be included in the reque

https://api.apis.guru/v2/specs/netbox.dev/3.4/dcim/connected-device?peer_device=example&peer_interface=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/netbox.dev/3.4/dcim/connected-device/?peer_device=example&peer_interface=example"
import requests
params = {
    "peer_device": "example",
    "peer_interface": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/netbox.dev/3.4/dcim/connected-device/",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/netbox.dev/3.4/dcim/connected-device/');
url.searchParams.set('peer_device', 'example');
url.searchParams.set('peer_interface', 'example');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/netbox.dev/3.4/dcim/connected-device/")
	q := baseURL.Query()
	q.Set("peer_device", "example")
	q.Set("peer_interface", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/netbox.dev/3.4/dcim/connected-device/")
uri.query = URI.encode_www_form({
  "peer_device" => "example",
  "peer_interface" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/netbox.dev/3.4/dcim/connected-device/?" . http_build_query([
    "peer_device" => "example",
    "peer_interface" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET extras_content-types_list

Read-only list of ContentTypes. Limit results to ContentTypes pertinent to NetBox objects.

https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/content-types?q=test&id=1&limit=10&model=example&offset=0&ordering=example&app_label=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/content-types/?q=test&id=1&limit=10&model=example&offset=0&ordering=example&app_label=example"
import requests
params = {
    "q": "test",
    "id": "1",
    "limit": "10",
    "model": "example",
    "offset": "0",
    "ordering": "example",
    "app_label": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/content-types/",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/content-types/');
url.searchParams.set('q', 'test');
url.searchParams.set('id', '1');
url.searchParams.set('limit', '10');
url.searchParams.set('model', 'example');
url.searchParams.set('offset', '0');
url.searchParams.set('ordering', 'example');
url.searchParams.set('app_label', 'example');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/content-types/")
	q := baseURL.Query()
	q.Set("q", "test")
	q.Set("id", "1")
	q.Set("limit", "10")
	q.Set("model", "example")
	q.Set("offset", "0")
	q.Set("ordering", "example")
	q.Set("app_label", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/content-types/")
uri.query = URI.encode_www_form({
  "q" => "test",
  "id" => "1",
  "limit" => "10",
  "model" => "example",
  "offset" => "0",
  "ordering" => "example",
  "app_label" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/content-types/?" . http_build_query([
    "q" => "test",
    "id" => "1",
    "limit" => "10",
    "model" => "example",
    "offset" => "0",
    "ordering" => "example",
    "app_label" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET extras_job-results_list

Retrieve a list of job results

https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/job-results?q=test&id=1&name=test&user=example&id__n=example&limit=10&id__gt=example&id__lt=example&offset=0&status=example&created=example&id__gte=example&id__lte=example&name__n=example&started=example&user__n=example&interval=example&name__ic=example&name__ie=example&obj_type=example&ordering=example&completed=example&name__iew=example&name__isw=example&name__nic=example&name__nie=example&scheduled=example&status__n=example&name__niew=example&name__nisw=example&interval__n=example&name__empty=example&obj_type__n=example&interval__gt=example&interval__lt=example&interval__gte=example&interval__lte=example&created__after=example&started__after=example&created__before=example&started__before=example&completed__after=example&scheduled__after=example&completed__before=example&scheduled__before=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/job-results/?q=test&id=1&name=test&user=example&id__n=example&limit=10&id__gt=example&id__lt=example&offset=0&status=example&created=example&id__gte=example&id__lte=example&name__n=example&started=example&user__n=example&interval=example&name__ic=example&name__ie=example&obj_type=example&ordering=example&completed=example&name__iew=example&name__isw=example&name__nic=example&name__nie=example&scheduled=example&status__n=example&name__niew=example&name__nisw=example&interval__n=example&name__empty=example&obj_type__n=example&interval__gt=example&interval__lt=example&interval__gte=example&interval__lte=example&created__after=example&started__after=example&created__before=example&started__before=example&completed__after=example&scheduled__after=example&completed__before=example&scheduled__before=example"
import requests
params = {
    "q": "test",
    "id": "1",
    "name": "test",
    "user": "example",
    "id__n": "example",
    "limit": "10",
    "id__gt": "example",
    "id__lt": "example",
    "offset": "0",
    "status": "example",
    "created": "example",
    "id__gte": "example",
    "id__lte": "example",
    "name__n": "example",
    "started": "example",
    "user__n": "example",
    "interval": "example",
    "name__ic": "example",
    "name__ie": "example",
    "obj_type": "example",
    "ordering": "example",
    "completed": "example",
    "name__iew": "example",
    "name__isw": "example",
    "name__nic": "example",
    "name__nie": "example",
    "scheduled": "example",
    "status__n": "example",
    "name__niew": "example",
    "name__nisw": "example",
    "interval__n": "example",
    "name__empty": "example",
    "obj_type__n": "example",
    "interval__gt": "example",
    "interval__lt": "example",
    "interval__gte": "example",
    "interval__lte": "example",
    "created__after": "example",
    "started__after": "example",
    "created__before": "example",
    "started__before": "example",
    "completed__after": "example",
    "scheduled__after": "example",
    "completed__before": "example",
    "scheduled__before": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/job-results/",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/job-results/');
url.searchParams.set('q', 'test');
url.searchParams.set('id', '1');
url.searchParams.set('name', 'test');
url.searchParams.set('user', 'example');
url.searchParams.set('id__n', 'example');
url.searchParams.set('limit', '10');
url.searchParams.set('id__gt', 'example');
url.searchParams.set('id__lt', 'example');
url.searchParams.set('offset', '0');
url.searchParams.set('status', 'example');
url.searchParams.set('created', 'example');
url.searchParams.set('id__gte', 'example');
url.searchParams.set('id__lte', 'example');
url.searchParams.set('name__n', 'example');
url.searchParams.set('started', 'example');
url.searchParams.set('user__n', 'example');
url.searchParams.set('interval', 'example');
url.searchParams.set('name__ic', 'example');
url.searchParams.set('name__ie', 'example');
url.searchParams.set('obj_type', 'example');
url.searchParams.set('ordering', 'example');
url.searchParams.set('completed', 'example');
url.searchParams.set('name__iew', 'example');
url.searchParams.set('name__isw', 'example');
url.searchParams.set('name__nic', 'example');
url.searchParams.set('name__nie', 'example');
url.searchParams.set('scheduled', 'example');
url.searchParams.set('status__n', 'example');
url.searchParams.set('name__niew', 'example');
url.searchParams.set('name__nisw', 'example');
url.searchParams.set('interval__n', 'example');
url.searchParams.set('name__empty', 'example');
url.searchParams.set('obj_type__n', 'example');
url.searchParams.set('interval__gt', 'example');
url.searchParams.set('interval__lt', 'example');
url.searchParams.set('interval__gte', 'example');
url.searchParams.set('interval__lte', 'example');
url.searchParams.set('created__after', 'example');
url.searchParams.set('started__after', 'example');
url.searchParams.set('created__before', 'example');
url.searchParams.set('started__before', 'example');
url.searchParams.set('completed__after', 'example');
url.searchParams.set('scheduled__after', 'example');
url.searchParams.set('completed__before', 'example');
url.searchParams.set('scheduled__before', 'example');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/job-results/")
	q := baseURL.Query()
	q.Set("q", "test")
	q.Set("id", "1")
	q.Set("name", "test")
	q.Set("user", "example")
	q.Set("id__n", "example")
	q.Set("limit", "10")
	q.Set("id__gt", "example")
	q.Set("id__lt", "example")
	q.Set("offset", "0")
	q.Set("status", "example")
	q.Set("created", "example")
	q.Set("id__gte", "example")
	q.Set("id__lte", "example")
	q.Set("name__n", "example")
	q.Set("started", "example")
	q.Set("user__n", "example")
	q.Set("interval", "example")
	q.Set("name__ic", "example")
	q.Set("name__ie", "example")
	q.Set("obj_type", "example")
	q.Set("ordering", "example")
	q.Set("completed", "example")
	q.Set("name__iew", "example")
	q.Set("name__isw", "example")
	q.Set("name__nic", "example")
	q.Set("name__nie", "example")
	q.Set("scheduled", "example")
	q.Set("status__n", "example")
	q.Set("name__niew", "example")
	q.Set("name__nisw", "example")
	q.Set("interval__n", "example")
	q.Set("name__empty", "example")
	q.Set("obj_type__n", "example")
	q.Set("interval__gt", "example")
	q.Set("interval__lt", "example")
	q.Set("interval__gte", "example")
	q.Set("interval__lte", "example")
	q.Set("created__after", "example")
	q.Set("started__after", "example")
	q.Set("created__before", "example")
	q.Set("started__before", "example")
	q.Set("completed__after", "example")
	q.Set("scheduled__after", "example")
	q.Set("completed__before", "example")
	q.Set("scheduled__before", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/job-results/")
uri.query = URI.encode_www_form({
  "q" => "test",
  "id" => "1",
  "name" => "test",
  "user" => "example",
  "id__n" => "example",
  "limit" => "10",
  "id__gt" => "example",
  "id__lt" => "example",
  "offset" => "0",
  "status" => "example",
  "created" => "example",
  "id__gte" => "example",
  "id__lte" => "example",
  "name__n" => "example",
  "started" => "example",
  "user__n" => "example",
  "interval" => "example",
  "name__ic" => "example",
  "name__ie" => "example",
  "obj_type" => "example",
  "ordering" => "example",
  "completed" => "example",
  "name__iew" => "example",
  "name__isw" => "example",
  "name__nic" => "example",
  "name__nie" => "example",
  "scheduled" => "example",
  "status__n" => "example",
  "name__niew" => "example",
  "name__nisw" => "example",
  "interval__n" => "example",
  "name__empty" => "example",
  "obj_type__n" => "example",
  "interval__gt" => "example",
  "interval__lt" => "example",
  "interval__gte" => "example",
  "interval__lte" => "example",
  "created__after" => "example",
  "started__after" => "example",
  "created__before" => "example",
  "started__before" => "example",
  "completed__after" => "example",
  "scheduled__after" => "example",
  "completed__before" => "example",
  "scheduled__before" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/netbox.dev/3.4/extras/job-results/?" . http_build_query([
    "q" => "test",
    "id" => "1",
    "name" => "test",
    "user" => "example",
    "id__n" => "example",
    "limit" => "10",
    "id__gt" => "example",
    "id__lt" => "example",
    "offset" => "0",
    "status" => "example",
    "created" => "example",
    "id__gte" => "example",
    "id__lte" => "example",
    "name__n" => "example",
    "started" => "example",
    "user__n" => "example",
    "interval" => "example",
    "name__ic" => "example",
    "name__ie" => "example",
    "obj_type" => "example",
    "ordering" => "example",
    "completed" => "example",
    "name__iew" => "example",
    "name__isw" => "example",
    "name__nic" => "example",
    "name__nie" => "example",
    "scheduled" => "example",
    "status__n" => "example",
    "name__niew" => "example",
    "name__nisw" => "example",
    "interval__n" => "example",
    "name__empty" => "example",
    "obj_type__n" => "example",
    "interval__gt" => "example",
    "interval__lt" => "example",
    "interval__gte" => "example",
    "interval__lte" => "example",
    "created__after" => "example",
    "started__after" => "example",
    "created__before" => "example",
    "started__before" => "example",
    "completed__after" => "example",
    "scheduled__after" => "example",
    "completed__before" => "example",
    "scheduled__before" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. See official documentation for authentication and setup.

What can you build with NetBox API?

NetBox API is a Company API. Developers commonly use company APIs for:

  • enriching CRM records with company firmographics
  • building lead-generation and prospecting tools
  • verifying business identity and registration details
  • monitoring competitors and market intelligence
  • powering B2B data enrichment pipelines

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. NetBox API is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide

Open documentation ↗