Appearance
PeeringDB
19 endpoints at a glance
| Method | Path | Summary |
|---|---|---|
GET | /peeringdb/endpoints/ | List Endpoints |
GET | /peeringdb/fac/ | Browse Facilities |
GET | /peeringdb/fac/{fac_id}/ | Get Facility |
GET | /peeringdb/fac/countries/ | List Fac Countries |
GET | /peeringdb/fac/regions/ | List Fac Regions |
GET | /peeringdb/imports/ | List Imports |
GET | /peeringdb/imports/{import_id}/ | Get Import |
POST | /peeringdb/imports/run | Submit Import |
GET | /peeringdb/ix/ | Browse Ixps |
GET | /peeringdb/ix/{ix_id}/ | Get Ixp |
GET | /peeringdb/ix/countries/ | List Ix Countries |
GET | /peeringdb/ix/regions/ | List Ix Regions |
GET | /peeringdb/net/ | Browse Networks |
GET | /peeringdb/net/{asn}/ | Get Network |
GET | /peeringdb/net/countries/ | List Net Countries |
POST | /peeringdb/resolve-geonames | Resolve Geonames |
GET | /peeringdb/resolve-geonames/status | Get Resolve Geonames Status |
GET | /peeringdb/stats/{endpoint}/ | Get Endpoint Stats |
GET | /peeringdb/status/ | Get Status |
peeringdb
List Endpoints
GET
/peeringdb/endpoints/
Catalogue of importable endpoints — drives the admin dropdown.
Static (14 endpoints baked into the substrate); kept on the wire
surface so future endpoint additions are a backend-only change.
Parameters
Header Parameters
authorization
x-api-key
Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
Get Status
Get Endpoint Stats
GET
/peeringdb/stats/{endpoint}/
Per-endpoint distribution stats (top-N buckets on
operator-useful fields). 400 on unknown endpoint.
Parameters
Header Parameters
authorization
x-api-key
Path Parameters
endpoint*
Type
Requiredstring
Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
List Imports
GET
/peeringdb/imports/
Newest-first list of import-run rows. Inclusive YYYY-MM-DD
bounds; endpoint filters to one endpoint.
Parameters
Header Parameters
authorization
x-api-key
Query Parameters
endpoint
since
until
limit
Type
integer
Default
100Responses
Successful Response
application/json
JSON { "additionalProperties": "string" }
[
]
Get Import
GET
/peeringdb/imports/{import_id}/
Single import-run row. import_id is the
<endpoint>_<started_ts> we generated at submission time.
Parameters
Header Parameters
authorization
x-api-key
Path Parameters
import_id*
Type
Requiredstring
Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
Browse Ixps
GET
/peeringdb/ix/
List IXPs with optional q (name prefix), country (2-cc),
region (continent group). Server-paginates via limit +
skip; envelope is {rows, total, limit, offset}.
Parameters
Header Parameters
authorization
x-api-key
Query Parameters
q
country
region
limit
Type
integer
Default
50skip
Type
integer
Default
0Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
List Ix Countries
List Ix Regions
Get Ixp
GET
/peeringdb/ix/{ix_id}/
One IXP joined with its LAN segments, prefixes, member
networks (with ASN + peer IPs), and connected facilities.
Parameters
Header Parameters
authorization
x-api-key
Path Parameters
ix_id*
Type
Requiredinteger
Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
Browse Networks
GET
/peeringdb/net/
List networks (PeeringDB's view of ASNs). Filter by name
prefix / exact ASN / org country.
Parameters
Header Parameters
authorization
x-api-key
Query Parameters
q
asn
country
limit
Type
integer
Default
50skip
Type
integer
Default
0Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
List Net Countries
Get Network
GET
/peeringdb/net/{asn}/
Network detail keyed by ASN (operator-friendly key).
Joined with org + IXP participations + facility presences.
Parameters
Header Parameters
authorization
x-api-key
Path Parameters
asn*
Type
Requiredinteger
Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
Browse Facilities
GET
/peeringdb/fac/
List facilities (data centers / colo sites). Same filters
as :func:browse_ixps.
Parameters
Header Parameters
authorization
x-api-key
Query Parameters
q
country
region
limit
Type
integer
Default
50skip
Type
integer
Default
0Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
List Fac Countries
List Fac Regions
Get Facility
Submit Import
POST
/peeringdb/imports/run
Queue an import. Returns immediately with queue depth + the
worker's in-flight job; the audit row is written once the worker
reaches it (same contract as GeoNames).
Parameters
Header Parameters
authorization
x-api-key
Request Body
application/json
JSON "endpoint": "string", "all": false
{
}
Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
Resolve Geonames
POST
/peeringdb/resolve-geonames
Queue a GeoNames-resolution sweep. Returns immediately with
the worker's queue depth + the live progress snapshot — the
actual work runs on the PeeringDB worker thread, which lets the
UI poll :func:get_resolve_geonames_status and avoids the
reverse-proxy 504 the synchronous version was hitting on the
full ~36 k-row sweep.
Already runs automatically after every successful
POST /imports/run with all=true; this manual trigger is
for the case where GeoNames itself was just re-imported and any
previously-unresolved rows might now find a match.
Parameters
Header Parameters
authorization
x-api-key
Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
Get Resolve Geonames Status
GET
/peeringdb/resolve-geonames/status
Live snapshot of the current (or last-finished)
GeoNames-resolve run. The UI polls this every couple of seconds
while a run is in flight to drive the per-endpoint progress
bars; once status flips to "done" or "failed" the
poll can stop.
Returns {state: None, ...} when no run has been triggered
this process-lifetime — the UI renders the trigger button in
that case, no progress surface.
Parameters
Header Parameters
authorization
x-api-key
Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}