NGA World Port Index
NGA World Port Index
NGA's World Port Index describes worldwide ports, shipping facilities and oil terminals with locations, physical characteristics, facilities and services. Its public query service needs no key, and NGA documents downloads in CSV, GeoPackage, JSON, shapefile and file-geodatabase formats.
Required Attribution:
Requested: "Use of appropriate byline/photo/image credits is requested."
Coverage
The checked index contained 3,541 port names, 220 country names and 353 region names worldwide. NGA states that the complete content is updated monthly.
Verdict
This is a port-infrastructure reference signal for matching shipping activity to named facilities and their capabilities. It can support route, capacity and disruption analysis when joined to movements or events. The name-index endpoint is keyless, but detailed-query availability was intermittent during verification. Treat facility attributes as reference data with a monthly refresh, not a live operating-status feed.
Get the free weekly email
Free weekly email of newly verified free data. Unsubscribe by emailing us.
By entering your email and clicking Subscribe, you agree to receive the Signal Lab weekly email from Quantum Data Technologies Ltd., 3200-650 West Georgia Street, Vancouver, BC V6B 4P7, Canada (signal-lab@qdt.ai). You can unsubscribe at any time: reply "unsubscribe" to any email or write to signal-lab@qdt.ai. See our Privacy Policy.
Use in your agent
Load NGA port indexes into pandas and Parquet. Checked against the provider's documentation on Nov 1, 2026.
Access
- No account or key is required for the checked public name-index endpoint.
Request
curl 'https://msi.nga.mil/api/publications/world-port-index/wpi-prc-names'Format
JSON arrays of port, country and region names.
Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
"""NGA WPI public port, country, and region indexes -> pandas -> Parquet."""
import requests
import pandas as pd
URL = "https://msi.nga.mil/api/publications/world-port-index/wpi-prc-names"
r = requests.get(URL, timeout=60)
r.raise_for_status()
data = r.json()
frames = [pd.DataFrame({"kind": kind, "name": values})
for kind, values in data.items()]
df = pd.concat(frames, ignore_index=True)
df.to_parquet("nga_wpi_indexes.parquet", index=False)
counts = df.groupby("kind").size().to_dict()
print(len(df), "index entries", counts)Run by us on 2026-11-01 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 4114 index entries {'countries': 220, 'ports': 3541, 'regions': 353}
Limits
- Rate limit: Not stated.
- The checked endpoint returns name indexes rather than full port records.
Quirks
- The JSON object separates countries, ports and regions into arrays; add a kind column before concatenating them.
- Detailed-query requests returned service errors during verification, while the name-index endpoint succeeded.
- Port names are not stable identifiers; retain provider record identifiers when using full-record downloads.
Terms and attribution
- NGA says website information is public information that may be distributed or copied unless otherwise specified.
- NGA requests appropriate credits.
Sources
- https://msi.nga.mil/api/publications/download?key=16693975%2FSFH00000%2FBowditch_Vol_1_LoRes.pdf&type=view: “known facilities, and available services of a great many ports, shipping facilities, and oil terminals throughout the world.”
- https://msi.nga.mil/api/publications/download?key=16693975%2FSFH00000%2FBowditch_Vol_1_LoRes.pdf&type=view: “The enhanced data is available to download in five formats: csv, geopackage, json, shapefile, and file geodatabase.”
- https://www.nga.mil/resources/Privacy_Policy.html: “Information presented on this website is considered public information and may be distributed or copied unless otherwise specified.”
Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer