vortexasdk.endpoints.anywhere_freight_pricing_forecast_explanation

Anywhere Freight Pricing Forecast Explanation endpoint.

Explains forecast price movements for a route.

Try me out in your browser:

Binder

AnywhereFreightPricingForecastExplanation

AnywhereFreightPricingForecastExplanation(self)

Anywhere Freight Pricing Forecast Explanation endpoint.

Explains forecast price movements for a route by providing a base date and a list of explanations for upcoming time periods.

Please note, a subscription to our Anywhere Freight Pricing module is required to access Anywhere Freight Pricing.

search

AnywhereFreightPricingForecastExplanation.search(
  origin_port: str,
  destination_port: str,
  vessel_class:
    typing_extensions.Literal['oil_coastal', 'oil_specialised', 'oil_handysize_mr1', 'oil_handymax_mr2', 'oil_panamax_lr1', 'oil_aframax_lr2', 'oil_suezmax_lr3', 'oil_vlcc', 'lpg_sgc', 'lpg_mgc', 'lpg_lgc', 'lpg_vlgc_vlec', 'lng_small_scale_lng', 'lng_mid_scale_lng', 'lng_conventional_lng', 'lng_q_fleet'],
  product: typing_extensions.Literal['clean', 'dirty', 'crude'],
  frequency:
    typing_extensions.Literal['day', 'week', 'month', 'month_fixed'] = 'month_fixed',
  avoid_zone:
    typing.Optional[typing.List[typing_extensions.Literal['Panama Canal', 'Suez Canal']]] = None,
  include_port_costs: typing.Optional[bool] = None)

Get forecast price movement explanations for a route.

Given a route (origin, destination, vessel class, product), this returns a base date and a list of forecast explanations for upcoming time periods.

Arguments

origin_port: Geographic ID of the origin port.

destination_port: Geographic ID of the destination port.

vessel_class: The vessel class for the route. Must be one of:
    `'oil_coastal'`, `'oil_specialised'`, `'oil_handysize_mr1'`,
    `'oil_handymax_mr2'`, `'oil_panamax_lr1'`, `'oil_aframax_lr2'`,
    `'oil_suezmax_lr3'`, `'oil_vlcc'`, `'lpg_sgc'`, `'lpg_mgc'`,
    `'lpg_lgc'`, `'lpg_vlgc_vlec'`, `'lng_small_scale_lng'`,
    `'lng_mid_scale_lng'`, `'lng_conventional_lng'`, `'lng_q_fleet'`.

product: The product type. Must be one of: `'clean'`, `'dirty'`, `'crude'`.

frequency: Frequency for the explanation periods. Must be one of:
    `'day'`, `'week'`, `'month'`, `'month_fixed'`. Defaults to `'month_fixed'`

avoid_zone: Routing zones to avoid for this route. Options:
    `'Panama Canal'`, `'Suez Canal'`.

include_port_costs: Whether to include port costs in the calculation.

Returns

AnywhereFreightPricingResult

Example

Get monthly forecast explanation for a Handymax MR2 clean route from Rotterdam to Houston.

>>> from vortexasdk import AnywhereFreightPricingForecastExplanation
>>> result = AnywhereFreightPricingForecastExplanation().search(
...     origin_port="68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e",
...     destination_port="ea4921c8ad4fddb5fe3e7a4f834c1aa5863e43283c73da5f02d93bbc5dba72eb",
...     vessel_class="oil_handymax_mr2",
...     product="clean",
...     frequency="month",
... )
>>> df = result.to_df()

Returns a DataFrame with columns:

base_date explanation
0 2026-05-26 [{'start_date': '2026-06-01', 'end_date': '2026-06-30'...}]

Each explanation entry contains: - start_date: Start of the forecast period - end_date: End of the forecast period - explanation: Text explanation of expected price movements