https://github.com/adaptive/pops
  
  
    PoPs geolocation derived from IATA airport codes 
    https://github.com/adaptive/pops
  
alibaba alibabacloud aws cachefly cdn cloudflare equinix fastly geolocation hacktoberfest linode netlify pop stackpath vercel vultr
        Last synced: 5 days ago 
        JSON representation
    
PoPs geolocation derived from IATA airport codes
- Host: GitHub
 - URL: https://github.com/adaptive/pops
 - Owner: adaptive
 - License: mit
 - Created: 2020-08-31T15:08:03.000Z (about 5 years ago)
 - Default Branch: main
 - Last Pushed: 2025-10-25T20:30:10.000Z (9 days ago)
 - Last Synced: 2025-10-25T22:21:07.226Z (9 days ago)
 - Topics: alibaba, alibabacloud, aws, cachefly, cdn, cloudflare, equinix, fastly, geolocation, hacktoberfest, linode, netlify, pop, stackpath, vercel, vultr
 - Language: Jupyter Notebook
 - Homepage: https://adaptive.link
 - Size: 7.5 MB
 - Stars: 25
 - Watchers: 1
 - Forks: 6
 - Open Issues: 2
 - 
            Metadata Files:
            
- Readme: README.md
 - Contributing: CONTRIBUTING.md
 - Funding: .github/FUNDING.yml
 - License: LICENSE
 - Code of conduct: CODE_OF_CONDUCT.md
 - Codeowners: .github/CODEOWNERS
 - Agents: AGENTS.md
 
 
Awesome Lists containing this project
README
          # Points of Presence for CDNs

[](https://www.npmjs.com/package/@adaptivelink/pops)   
ES Module with geolocation and IATA codes of Content Delivery Networks and hosting companies  points of presence. Useful for plotting, planning and network measurements.
## 🔨 Install with `yarn` or `npm`
```bash
yarn add @adaptivelink/pops
```
```bash
npm i @adaptivelink/pops
```
## 🛠️ Usage
```javascript
import PoPs from "@adaptivelink/pops";
/* Geolocation of Cloudflare PoPs */
console.log(PoPs.cloudflare.geo);
/* IATA code of Fastly PoPs */
console.log(PoPs.fastly.code);
/* Total of locations for AWS Lightsail Datacenters */
console.log(PoPs.fastly.code.length);
/* Providers in Madrid */
console.log(PoPs.MAD.providers);
/* Location of Lisbon */
console.log(PoPs.LIS.geo);
/* All PoPs codes */
console.log(PoPs.all.code);
/* All PoPs locations */
console.log(PoPs.all.geo);
/* Providers */
["alibaba", "arubacloud", "atlanticnet", "azurecdn", "azurevm",
"backblaze", "bunnycdn", "cachefly", "cdn77", "cloudflare",
"cloudfront", "cloudsigma", "deno", "digitalocean", "equinix",
"ec2", "fastly", "flexential", "gcore", "googlecdn", "googlecompute",
"heroku", "hetzner", "hostwinds", "imperva", "ionos", "kamatera",
"keycdn", "leapswitch", "lightsail", "limelight", "linode", "mnx",
"netlify", "ovh", "packet", "scaleway", "stackpath", "upcloud",
"verizonmedia", "vercel", "vultr", "wasabi"]
```
## 🌐 Supported CDNs and Hosting Providers
*   Alibaba ```alibaba```
*   Arubacloud ```arubacloud```
*   AWS Cloudfront ```cloudfront```
*   AWS EC2 ```ec2``` 🕵️
*   AWS Lightsail ```lightsail``` 🕵️
*   Atlanticnet ```atlanticnet``` 🕵️
*   Azure CDN ```azurecdn```
*   Azure VM ```azurevm```
*   Backblaze ```backblaze```
*   Bunnycdn ```bunnycdn```
*   CacheFly ```cachefly```
*   CDN77 ```cdn77``` 🕵️
*   Cloudflare ```cloudflare``` 🕵️
*   CloudSigma ```cloudsigma```
*   Deno Deploy ```deno``` 🕵️
*   DigitalOcean ```digitalocean``` 🕵️
*   Equinix ```equinix```
*   Fastly ```fastly``` 🕵️
*   Flexential ```flexential```
*   G-Core Labs ```gcore```
*   Google Cloud CDN ```googlecdn```
*   Google Compute Engine ```googlecompute```
*   Heroku ```heroku```
*   Hetzner ```hetzner```
*   Hostwinds ```hostwinds```
*   Imperva ```imperva``` 🕵️
*   Ionos ```ionos```
*   Kamatera ```kamatera```
*   KeyCDN ```keycdn``` 🕵️
*   LeapSwitch ```leapswitch```
*   Limelight Networks ```limelight```
*   Linode ```linode``` 🕵️
*   MNX ```mnx```
*   Netlify ```netlify```
*   OVH ```ovh```
*   Packet ```packet```
*   Scaleway ```scaleway```
*   Stackpath ```stackpath``` 🕵️
*   Upcloud ```upcloud``` 🕵️
*   Verizon Media ```verizonmedia```
*   Vercel ```vercel``` 🕵️
*   Vultr ```vultr``` 🕵️
*   Wasabi ```wasabi```
## 🕵️ Spotters
Spotters are scheduled GitHub Actions that continuously monitor CDNs and Hosting Providers points of presence locations and cross-reference with this module data.
## 🥰 Contribution
Feel free to suggest or PR more networks and PoP locations.
## 💻 Codespaces
This repo is configured for GitHub Codespaces.
## 📒 Jupyter Notebook
A Jupyter Notebook is available at [Kaggle](https://www.kaggle.com/hugoromano/pops-notebook/), where providers rough coverage is simulated at ~5ms RTT. Source for this notebook in directory `notebooks`.
For guidelines on contributing, see [CONTRIBUTING.md](CONTRIBUTING.md).
This project is licensed under the [MIT License](LICENSE).