Submarine cables and landing points API client — cablefyi.com
Project description
cablefyi
Python API client for submarine cable data. Look up undersea fiber optic cable systems, explore landing station locations, query cable operators and owners, and retrieve route geometries — all from CableFYI, a submarine cable reference platform mapping the physical infrastructure of the global internet.
Over 95% of intercontinental data traffic travels through submarine cables laid on the ocean floor. CableFYI catalogs active and planned cable systems with their landing points, Ready-for-Service (RFS) dates, cable lengths, fiber pair counts, and design capacities — used by network engineers, telecom analysts, and infrastructure researchers.
Explore submarine cables at cablefyi.com — browse the cable map, search landing stations, and view operator data.
Table of Contents
- Install
- Quick Start
- What You Can Do
- Command-Line Interface
- MCP Server (Claude, Cursor, Windsurf)
- REST API Client
- API Reference
- Learn More About Submarine Cables
- Also Available
- Network FYI Family
- License
Install
pip install cablefyi # Core (zero deps)
pip install "cablefyi[cli]" # + Command-line interface
pip install "cablefyi[mcp]" # + MCP server for AI assistants
pip install "cablefyi[api]" # + HTTP client for cablefyi.com API
pip install "cablefyi[all]" # Everything
Quick Start
from cablefyi.api import CableFYI
with CableFYI() as api:
# Look up a submarine cable system
cable = api.get_cable("marea")
print(cable["name"]) # MAREA
print(cable["length_km"]) # 6,605 km
print(cable["rfs_year"]) # 2018
print(cable["owners"]) # Microsoft, Meta, Telxius
# List cables by country
cables = api.list_cables(country="united-states")
for c in cables:
print(f"{c['name']}: {c['length_km']} km")
# Search cable infrastructure
results = api.search("transatlantic")
What You Can Do
Submarine Cable Systems
Submarine telecommunications cables are the backbone of the global internet. Each cable system consists of fiber optic strands encased in protective layers (polyethylene, steel wire, copper) laid on the ocean floor. Modern cables contain multiple fiber pairs, each carrying terabits per second using wavelength-division multiplexing (WDM).
| Era | Capacity per Fiber Pair | Example Cable |
|---|---|---|
| 2000s | 640 Gbps | FLAG Atlantic-1 |
| 2010s | 10-20 Tbps | AEConnect, Hibernia Express |
| 2018+ | 20-80 Tbps | MAREA (224 Tbps total), Dunant |
| 2024+ | 100+ Tbps | Firmina, Echo/Bifrost |
from cablefyi.api import CableFYI
with CableFYI() as api:
# Get full cable system details
cable = api.get_cable("dunant")
print(f"Name: {cable['name']}")
print(f"Length: {cable['length_km']} km")
print(f"Fiber pairs: {cable.get('fiber_pairs')}")
print(f"RFS: {cable.get('rfs_year')}")
print(f"Owners: {cable.get('owners')}")
Learn more: Cable Directory · Glossary
Landing Stations
Landing stations are the shore-based facilities where submarine cables come ashore and connect to terrestrial networks. Major landing hubs include Bude (UK), Marseille (France), Tuas (Singapore), and Virginia Beach (US) — each serving as a critical junction for dozens of cable systems.
from cablefyi.api import CableFYI
with CableFYI() as api:
# List landing stations by country
stations = api.list_landing_stations(country="united-kingdom")
for s in stations:
print(f"{s['name']}: {s.get('cable_count', 0)} cables")
# Get landing station details
station = api.get_landing_station("bude")
for cable in station.get("cables", []):
print(f" {cable['name']}")
Learn more: Landing Stations · Guides
Cable Operators and Owners
Submarine cable ownership has shifted from telecom consortia to hyperscale cloud providers. Google, Meta, Microsoft, and Amazon now own or co-own major cable systems, investing billions to control their network paths and reduce latency for cloud services.
| Owner Type | Examples | Strategy |
|---|---|---|
| Hyperscalers | Google, Meta, Microsoft, Amazon | Private capacity, low-latency cloud |
| Carrier-neutral | SubCom, NEC, Alcatel (builders) | Build and maintain cables |
| Telecom consortia | Traditional multi-carrier ownership | Shared capacity, legacy model |
| Regional operators | Telxius, Aqua Comms | Specific corridor focus |
from cablefyi.api import CableFYI
with CableFYI() as api:
# List cable operators/owners
operators = api.list_operators()
for op in operators[:5]:
print(f"{op['name']}: {op.get('cable_count', 0)} cables")
Learn more: Cable Operators · Glossary
Fiber Optic Technology
Modern submarine cables use optical fiber to transmit data as pulses of light. Key technologies include WDM (wavelength-division multiplexing) to carry multiple signals on different light wavelengths, EDFA (erbium-doped fiber amplifiers) to boost signals every 60-80 km, and coherent detection for high spectral efficiency.
| Technology | Function | Impact |
|---|---|---|
| WDM | Multiple wavelengths per fiber | Multiplied capacity |
| EDFA | Optical signal amplification | 60-80 km repeater spacing |
| Coherent detection | Phase + amplitude modulation | Higher bits/symbol |
| SDM (Space-division) | Multiple fiber cores | Next-gen capacity |
from cablefyi.api import CableFYI
with CableFYI() as api:
# Search for cables by technology or route
results = api.search("pacific")
for r in results:
print(f"{r['name']}: {r.get('length_km', 'N/A')} km")
Learn more: Cable Technology · API Documentation
Command-Line Interface
pip install "cablefyi[cli]"
cablefyi cable marea # Cable system details
cablefyi search "atlantic" # Search cables
cablefyi country united-states # Cables landing in US
cablefyi landing-stations united-kingdom # UK landing stations
MCP Server (Claude, Cursor, Windsurf)
pip install "cablefyi[mcp]"
{
"mcpServers": {
"cablefyi": {
"command": "uvx",
"args": ["--from", "cablefyi[mcp]", "python", "-m", "cablefyi.mcp_server"]
}
}
}
REST API Client
from cablefyi.api import CableFYI
with CableFYI() as api:
cable = api.get_cable("marea") # GET /api/v1/cables/marea/
cables = api.list_cables(country="united-states") # GET /api/v1/cables/?country=united-states
stations = api.list_landing_stations(country="uk") # GET /api/v1/landing-stations/?country=uk
results = api.search("google") # GET /api/v1/search/?q=google
Example
curl -s "https://cablefyi.com/api/v1/cables/marea/"
{
"slug": "marea",
"name": "MAREA",
"length_km": 6605,
"rfs_year": 2018,
"owners": ["Microsoft", "Meta", "Telxius"]
}
Full API documentation at cablefyi.com/developers/.
API Reference
| Function | Description |
|---|---|
api.get_cable(slug) |
Cable system details (length, capacity, owners) |
api.list_cables(country) |
List cables, optionally by country |
api.list_landing_stations(country) |
Landing stations by country |
api.get_landing_station(slug) |
Station details with connected cables |
api.list_operators() |
All cable operators/owners |
api.search(query) |
Search cables, stations, and operators |
Learn More About Submarine Cables
- Browse: Cable Directory · Landing Stations · Operators
- Guides: Cable Guides · Glossary
- API: REST API Docs · OpenAPI Spec
Also Available
| Platform | Install | Link |
|---|---|---|
| npm | npm install cablefyi |
npm |
| MCP | uvx --from "cablefyi[mcp]" python -m cablefyi.mcp_server |
Config |
Network FYI Family
Part of the FYIPedia open-source developer tools ecosystem — internet infrastructure, cables, domains, and protocols.
| Package | PyPI | npm | Description |
|---|---|---|---|
| cablefyi | PyPI | npm | Submarine cables, landing points, operators — cablefyi.com |
| tldfyi | PyPI | npm | TLD registry, domain extensions, WHOIS — tldfyi.com |
| ipfyi | PyPI | npm | IP geolocation, ASN lookup, CIDR ranges — ipfyi.com |
| protocolcodes | PyPI | npm | HTTP status codes, protocol references — statuscodefyi.com |
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cablefyi-0.1.1.tar.gz.
File metadata
- Download URL: cablefyi-0.1.1.tar.gz
- Upload date:
- Size: 170.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd5bf11727a240b0ea66bbb74739b3c766cad755af45376f327ae194db7bb94e
|
|
| MD5 |
424c15d5753180c649bde94391527359
|
|
| BLAKE2b-256 |
d61a7c018b4c831b97ae8e89a6c635b21a9c312b53aea18d0fcafba4107f3e4a
|
File details
Details for the file cablefyi-0.1.1-py3-none-any.whl.
File metadata
- Download URL: cablefyi-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1266f29ce94022c4245fe09aecbf6b8705867ec69592ada9df49e4bee92e0a6d
|
|
| MD5 |
7c2f95314da9616486886a433a6c87b7
|
|
| BLAKE2b-256 |
d45a5b9cfd3e81aa7f2cd1fc38c45f36fa99efc41f0f7b65df8e22f1560de669
|