Test Date: 2026-03-11 Result: ❌ Not a functional API endpoint
URL: https://portwatch.imf.org/api/search/definition/
Response Type: HTML (Swagger UI page)
Status: Returns a static Swagger UI HTML page, NOT an API endpoint
-
GET Request:
curl https://portwatch.imf.org/api/search/definition/
Result: Returns HTML for Swagger UI (documentation page)
-
POST Request:
curl -X POST https://portwatch.imf.org/api/search/definition/ \ -H "Content-Type: application/json" \ -d '{"q":"Port Klang"}'
Result:
404 Not Found -
Swagger JSON Spec:
curl https://portwatch.imf.org/api/search/swagger.json
Result:
404 Not Found -
OpenAPI Spec:
curl https://portwatch.imf.org/api/openapi.json
Result:
404 Not Found -
Base API Path:
curl https://portwatch.imf.org/api/
Result:
404 Not Found
The /api/ path does NOT exist as a functional API on PortWatch.
PortWatch does NOT have a traditional REST API at:
https://portwatch.imf.org/api/https://portwatch.imf.org/api/search/
PortWatch data is ONLY available via:
https://services9.arcgis.com/weJ1QsnbMYJlCHdG/arcgis/rest/services/PortWatch_ports_database/FeatureServer/0/query
Data Types:
- Static port database (vessel counts, trade shares, industries)
- Historical disruptions events
- Country and port metadata
Limitations:
- No time-series data (snapshots only)
- No daily/historical tracking via API
https://portwatch.imf.org/datasets/75619cb86e5f4beeb7dab9629d861acf_0/about
Data Types:
- Daily port activity (time-series available)
- Trade volume estimates
- Chokepoint data
Limitations:
- Manual download only (no API)
- Requires periodic manual updates
- Download URLs may not be stable
https://portwatch.imf.org/
https://portwatch.imf.org/pages/data-and-methodology
| Method | Status | Data | Time-Series |
|---|---|---|---|
/api/search/definition/ |
❌ Not API | N/A | N/A |
| ArcGIS REST API | ✅ Working | Static snapshot | No |
| CSV Downloads | Daily data | Yes |
Continue with ArcGIS REST API and implement snapshot-based monitoring:
- Use
src/data/portwatch_api.py- Working implementation - Run
src/monitoring/collector.py- Collect periodic snapshots - Set up cron job - Automate collection every 6-12 hours
- Download CSVs manually - For historical baseline data (pre-2026)
For full time-series automation, consider:
- Contacting PortWatch for API access
- Using alternative maritime data APIs
- Web scraping for daily data
Test completed: 2026-03-11 12:30 MYT