Skip to main content

DG Shipping — vessel & company registry

note

Status: Fixture Mode — Endpoint, schema, auth, and SDKs are production-grade. Responses are deterministic samples drawn from real regulator publications. Activates to live within 5–15 business days of order — no integration changes required.

What it does

Directorate General of Shipping maintains India's flag-vessel registry, the Recruitment & Placement Services Licence (RPSL) registry for crew agencies, and Indian-port arrivals/departures. Our API normalizes these registries into a unified queryable surface — useful for EXIM ops, vessel-finance KYC, and seafarer-employment platforms.

Base URL

https://dg-shipping.sahayakonline.co.in/v1/

Endpoints

MethodPathDescription
GET/healthLiveness probe
GET/v1/dg-shipping/vessel/{imo}Vessel by IMO number
GET/v1/dg-shipping/rpsl/{licence_no}RPSL crew-agency licence status
GET/v1/dg-shipping/port/{port_code}/arrivalsRecent arrivals at an Indian port

Sample request

curl -sS https://dg-shipping.sahayakonline.co.in/v1/dg-shipping/vessel/IMO-9876543 \
-H "Authorization: Bearer $SAHAYAK_KEY" \
-H "Accept: application/json"

Sample response

{
"spec_ref": "spec_dg_shipping_v1",
"endpoint": "/v1/dg-shipping/vessel/IMO-9876543",
"method": "GET",
"results": [
{
"imo": "9876543",
"name": "MV Sample Vessel",
"flag": "IN",
"type": "Bulk Carrier",
"tonnage_dwt": 78500,
"owner": "Sample Shipping Co Ltd",
"registration_status": "active"
}
],
"meta": { "fixture_mode": true, "note": "Activates to live data within 5–15 business days of order." }
}

Error codes

CodeMeaningRecommended action
400Malformed request (missing required param, invalid format)Fix request shape. Response body includes error.field pinpointing the issue.
401Missing or invalid Authorization headerVerify key prefix matches your tier and that the header is Authorization: Bearer ….
403Key valid but not entitled to this endpointSandbox keys cannot call live-tier endpoints. Upgrade or request entitlement.
404Resource not foundCheck identifier format. Some endpoints return 200 with empty results[] instead of 404 — verify the endpoint convention.
429Rate limit exceededHonor Retry-After header. Sandbox 30 r/m, Starter 300 r/m, Growth 1500 r/m.
503Upstream regulator unreachable after retriesLive-tier only. Sahayak retries 3× with backoff before surfacing. Implement circuit-breaker on caller side.

Rate limits

TierRate limitMonthly cap
Sandbox30 r/min1,000 live calls (shared across 3 LIVE endpoints)
Starter300 r/min10,000 live calls
Growth1,500 r/min100,000 live calls
Scalecustom500,000+

SLA reference

See Status & SLA for uptime targets, latency targets, and incident communication. Live activation triggers a real-time scrape of dgshipping.gov.in with refresh on every call.