id: peeringdb name: PeeringDB domain: www.peeringdb.com kind: dataset mode: api priority: 2 # DISABLED 2026-09-11 pending written approval from support@peeringdb.com: the AUP excludes commercial application # and requires permission for bulk reproduction. Re-enable (enabled: true) once approval + PEERINGDB_API_KEY are in place. enabled: false # Verbatim from https://www.peeringdb.com/aup (retrieved 2026-09-11). PeeringDB publishes no CC/ODbL license; the AUP governs use. license: >- PeeringDB Acceptable Use Policy (https://www.peeringdb.com/aup), © 2004-2026 PeeringDB All Rights Reserved: "Except for Internet operational purposes approved by PeeringDB, no part of the PeeringDB data may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means [...] without prior permission of PeeringDB on behalf of the copyright holders. [...] The PeeringDB data may not be passed on in bulk to any other person or organization unless approved by PeeringDB. [...] Users will not be able to download the full contents of the database unless the intended use is for 'Internet operational issues'. These words are tightly defined and would include network trouble-shooting, abuse reporting, and Internet research and analysis. It would not include compiling marketing lists, demographic mapping, or any other commercial application." → Usage here = Internet research and analysis (facility/IXP graph); confirm with support@peeringdb.com before public redistribution. attribution: "Data: PeeringDB" homepage: https://www.peeringdb.com/ notes: >- Public REST API, anonymous access allowed but throttled (20 req/min per IP; repeated identical anonymous requests > 100 kB limited to 1/hour). Set PEERINGDB_API_KEY in the environment for the authenticated tier (40 req/min, header "Authorization: Api-Key …"). Incremental runs use ?since=; full refresh every params.fullRefreshDays. coverage: { global: true } fetch: level: 1 maxLevel: 1 userAgent: bot rpm: 20 concurrency: 1 respectRobots: true # robots.txt only disallows account pages; /api/ is allowed timeoutMs: 120000 maxBytes: 100000000 # facilities dump ≈ 6 MB, org (fields) ≈ 6 MB, netfac (fields) ≈ 4 MB maxCreditsPerRun: 0 schedule: facilities: daily # incremental (since=) daily, full weekly (params.fullRefreshDays) ixps: daily campuses: weekly operators: weekly carriers: weekly implementation: peeringdb params: apiBase: https://www.peeringdb.com/api minDelayMs: 2000 # "leave at least two seconds between queries" (PeeringDB HOWTO) incremental: true fullRefreshDays: 7 carrierHotelMinIx: 3 # facilityType carrier_hotel when ix_count ≥ 3 AND net_count ≥ 150 carrierHotelMinNets: 150 parserVersion: peeringdb_v1