Skip to content
GETNo key

Vessel-first cards

GETapi.schedulesmcp.com/public/schedules/cards

The same sailings shaped as vessel-first cards, the way a desk scans them. One card per physical vessel and departure, with the slot partners selling it grouped inside. A card carries more keys than the example below, including routing legs, CO2 and the per-carrier cut-off detail.

Query parameters

originstringrequired

Origin UN/LOCODE.

destinationstringrequired

Destination UN/LOCODE.

Response schema

65 fields

Derived from the example response, nested as the JSON is.

okboolean

Whether the request succeeded.

dataobject

The payload. Everything an endpoint returns sits under this key.

originstring

Origin code (airport IATA or UN/LOCODE).

destinationstring

Destination code (airport IATA or UN/LOCODE).

min_obsnumber

Minimum observations required to rank a carrier.

countnumber

How many cards the lane returned.

lane_capacityobject

Weekly TEU offered on the lane, summed over distinct vessels.

total_teunumber

Total TEU across the sailings returned. Null when no vessel carried a capacity.

sailingsnumber

Matching sailings.

teu_per_weeknumber

TEU offered per week on this lane. Null when the window is too short to divide.

estimatedboolean

True when any card in the total used an estimated capacity.

suspected_blanksobject[]

Gaps of more than about eleven days between departures on a weekly service, which usually mean a skipped sailing. Suspected, not confirmed by the carrier.

cardsobject[]

Vessel-first sailing cards. One per physical vessel and departure, with every carrier selling a slot on it grouped inside.

cards[]object
vessel_namestring

Name of the carrying vessel, or null when the carrier named none.

vessel_imostring

IMO number of the carrying vessel, or null when unknown.

voyage_numberstring

Carrier voyage number.

service_namestring

Carrier service or loop name.

published_departurestring

The departure the carrier published (ISO 8601). Null when it published none.

published_arrivalstring

The arrival the carrier published (ISO 8601). Null when it published none.

transit_daysnumber

Port-to-port transit in days.

leg_countnumber

How many legs the routing has. One means a direct sailing.

is_transshipmentboolean

True when the box changes vessel on the way.

transship_viaany | null

Where it transships, or null on a direct sailing.

capacity_teunumber

Vessel capacity in TEU. Null when we hold neither a real nor an estimated figure.

capacity_estimatedboolean

True when the TEU figure is derived from deadweight rather than published. Read it before quoting the number.

confidenceobject

On a card, whether the slot partners agree with each other. On a prediction, how much to trust the shifted arrival.

sourcesnumber

How many carriers published this vessel and departure.

etd_spread_hoursnumber

Hours between the earliest and latest departure the partners published. Null on a single source.

eta_spread_hoursnumber

Hours between the earliest and latest arrival the partners published. Null on a single source.

levelstring

On a port, the congestion level. On a sailing card confidence block, high when at least two carriers agree within a day, then medium, low, or single_source when only one published it.

predictionobject

The published arrival shifted by the carrier observed average delay on this lane. Null until we hold a confident sample.

predicted_arrivalstring

When we expect it to actually arrive (ISO 8601), as against the published arrival.

delay_hoursnumber

The average delay applied, in hours.

basis_obsnumber

How many observed sailings the shift rests on.

band_hoursnumber

Uncertainty band around the prediction, in hours, from the carrier schedule churn.

confidencestring

On a card, whether the slot partners agree with each other. On a prediction, how much to trust the shifted arrival.

partner_countnumber

How many carriers sell a slot on this sailing.

partnersobject[]

The carriers selling this vessel, best reliability first. Each carries its own cut-offs, because a forwarder books a slot rather than a vessel.

partners[]object
carrier_codestring

Carrier SCAC.

carrier_namestring

Carrier name.

service_namestring

Carrier service or loop name.

voyage_numberstring

Carrier voyage number.

published_departurestring

The departure the carrier published (ISO 8601). Null when it published none.

published_arrivalstring

The arrival the carrier published (ISO 8601). Null when it published none.

reliability_pctnumber

Share of this carrier sailings that arrived on time on this lane.

reliability_obsnumber

How many sailings that percentage rests on.

reliability_provisionalboolean

True when the sample is below min_obs, so the percentage is indicative rather than a ranking.

cutoffsobject

This carrier own deadlines. A card-level value survives only when it is attributable, because slot partners routinely disagree.

cystring

Container yard deadline (ISO 8601), or null when the carrier published none.

docstring

Documentation deadline (ISO 8601), or null when the carrier published none.

vgmstring

Verified gross mass deadline (ISO 8601), or null when the carrier published none.

sourcestring

Where the answer on this call came from: direct_carrier or warm_db.

vesselobject

Vessel currently carrying the container, or null when we hold neither a name nor an IMO. Its lat and lng are always null here; the keyed endpoints carry the live position under vessel_position.

imostring

IMO number of the vessel.

teunumber

Vessel capacity in TEU.

teu_estimatedboolean

True when the TEU figure is derived rather than published.

length_mnumber

Overall length in metres.

year_builtnumber

Year the hull was delivered.

flagstring

Flag state of the vessel, as a two-letter code. Null when we hold none.

latnumber

Latitude.

lngnumber

Longitude.

speed_knotsnumber

Speed over ground, in knots.

nav_statusstring

Navigational status as reported by AIS, for example "Under way using engine" or "Moored". We drop a moored or anchored claim that the position contradicts.

position_updated_atstring

When we last wrote the position row.

last_moveany | null

The most recent schedule change we observed for this sailing. Null when it has not moved.

Try it No key
curl 'https://api.schedulesmcp.com/public/schedules/cards?origin=CNSHA&destination=NLRTM'

This preview uses documented example data and makes no live request. Get a key to run live.