ParseForge Scrapers

PeeringDB Scraper

parseforge/peeringdb-scraper

Developer toolsBusinessAutomation

Scrapes PeeringDB networks, internet exchanges, and facilities. Filter by country or name, and get each record as a flat row for CSV, JSON, Excel, or XML export.

Run this scraper See the API call
Total users
2
Monthly active
0
Total runs
113
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

PeeringDB Scraper

Scrape PeeringDB networks, exchanges, and facilities into clean rows. Get every record with its ASN, status, and identifiers, filtered by country or name, up to a million per run. No API key. Export to CSV, JSON, Excel, or XML.

PeeringDB's official API needs an account and API key, and returns nested JSON you have to flatten yourself. This reads the public directory directly, filters by country or name as it goes, and returns each network, exchange, or facility as one flat row. No login, no rate limits, no cleanup.

Who uses it What they scrape PeeringDB for
Network engineers Build a current list of peering partners by country or name
Market researchers Map where internet exchanges and data centers are concentrated
Sales teams Generate leads from networks and facilities that match a target profile
Data analysts Feed PeeringDB records into dashboards or internal tools

What it does

This Actor collects PeeringDB networks, internet exchanges, or facilities, filtered by country or name, and returns each record as a flat row.

  • ๐ŸŒ Three entity types: networks (net), internet exchanges (ix), and facilities (fac).
  • ๐Ÿ” Country filter: ISO-3166 alpha-2 codes like US, DE, or NL for exchanges and facilities.
  • ๐Ÿ“› Name substring filter: case-insensitive match on the record name.
  • ๐Ÿ“ฆ Flat rows: every record comes back as one row, ready for CSV or a database.
  • โšก Up to a million records per run: set maxItems and let it run.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with PeeringDB data

๐ŸŒ Map internet exchanges by country.

A network engineer runs the Actor with entity ix and country DE to get every German internet exchange, then compares peering options.

๐Ÿ“‡ Build a lead list of networks.

A sales team filters networks by name substring 'cloud' to find potential customers, then exports the list to CSV for their CRM.

๐Ÿข Find data center facilities.

A market researcher collects all facilities in the Netherlands to analyze colocation density and report on market concentration.

๐Ÿ”Ž Check a specific network's details.

An analyst filters by name 'example' to pull one network's ASN, status, and identifiers for a due diligence checklist.

Why choose this scraper

What you get
No API key PeeringDB's official API requires an account and key; this does not.
Flat output Nested PeeringDB JSON becomes one row per record, no flattening step.
Filtered at the source Country and name filters run before data is stored, so your dataset stays small.
All three entity types Networks, exchanges, and facilities in one Actor, not three.

How it compares

This Actor covers all three PeeringDB entity types with country and name filters, while the competitor focuses on networks only.

Feature ParseForge Peeringdb Networks Scraper
Scrapes networks (net) Yes Yes
Scrapes internet exchanges (ix) Yes Not listed
Scrapes facilities (fac) Yes Not listed
Country filter Yes Not listed
Name substring filter Yes Not listed
Exports CSV, JSON, Excel Yes Yes

Configure the run

Drive the Actor with an entity type, an optional country code, and an optional name substring. Filters run as each record is read, so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "entity": "net",
  "maxItems": 10
}

A larger pull:

{
  "entity": "net",
  "maxItems": 200
}

Pricing

Pay-per-result: $0.0345 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $3.45
1,000 results $34.50
10,000 results $345.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the PeeringDB Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to PeeringDB through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/peeringdb-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Your country or name filter may be too restrictive. Try leaving country empty and using a shorter name substring, or increase maxItems.

Why does the country filter not work for networks?

PeeringDB networks do not have a country field in the same way as exchanges and facilities. The country filter applies only to ix and fac entities.

Why is my run slow?

PeeringDB has many records. Lower maxItems or add a name filter to reduce the number of pages the Actor must read.

Why do I see duplicate records?

PeeringDB records are unique by ID, but if you run the Actor multiple times and merge datasets, you may see duplicates. Deduplicate on the id field.

Why is the output missing some fields?

PeeringDB returns different fields for net, ix, and fac. Check the dataset schema for your chosen entity type; some fields are only present for certain entities.

FAQ

Question Answer
Do I need a PeeringDB API key? No. This Actor reads the public PeeringDB directory directly, so no account or API key is required.
What is the difference between net, ix, and fac? net is a network (usually with an ASN), ix is an internet exchange point, and fac is a physical facility like a data center.
Can I filter by country? Yes. Use the country field with an ISO-3166 alpha-2 code like US, DE, or NL. The filter applies to ix and fac entities.
Can I filter by name? Yes. The name field is a case-insensitive substring filter, so 'cloud' matches 'Cloudflare' and 'MyCloudNet'.
How many records can I get in one run? Set maxItems up to 1,000,000. The Actor stops after that many records are collected.
What format is the output? Each record is a flat row. You can export the dataset as CSV, JSON, Excel, or XML from Apify.
Does this work for all PeeringDB entities? Yes, it supports networks, internet exchanges, and facilities. Choose one entity type per run.
Is the data live? Yes, the Actor reads PeeringDB at the moment you run it, so you get the current directory.
Can I schedule this to run daily? Yes, use Apify's scheduler to run the Actor on a recurring basis and keep your dataset fresh.
What if I get no results? Check your filters. A country code that does not match any ix or fac, or a name substring that is too specific, will return an empty dataset.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by PeeringDB. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
entity string (3 options) Which PeeringDB entity to scrape. net
maxItems integer How many networks to collect per run. 10
country string Filter by country code (e.g. US, DE, NL). Applies to ix and fac entities. Leave empty for all. not set
name string Case-insensitive substring filter on name. Leave empty for no filter. not set

Pricing

from $25.88 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.02588 to $0.0345

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~peeringdb-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run PeeringDB Scraper on Apify All scrapers