Global Freight Rate Index Aggregator avatar

Global Freight Rate Index Aggregator

Pricing

from $5.00 / 1,000 index snapshot returneds

Go to Apify Store
Global Freight Rate Index Aggregator

Global Freight Rate Index Aggregator

Aggregates real, free container/dry-bulk freight rate indices (Drewry WCI, Freightos Baltic Index incl. 12 trade lanes, Baltic Dry Index, Trading Economics) into one structured feed with weekly/monthly/yearly change tracking.

Pricing

from $5.00 / 1,000 index snapshot returneds

Rating

0.0

(0)

Developer

joseph fadero

joseph fadero

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Know your duty cost, your freight cost, and your supplier's shipment pattern — in one workflow. This actor is the third leg of a companion suite: run it alongside ../Global%20Landed-Cost%20%26%20Tariff-Change%20Monitor/ (Actor 26, your duty cost) and ../Import-Export%20Shipment-Manifest%20Intelligence/ (Actor 28, your supplier's shipment pattern) for the full import-cost picture. Container freight rates dropped over 70% from their 2022 peak but swing hard on single events (a Red Sea route reopening, a canal disruption) — this aggregates the free/directional layer of the real indices that track that volatility into one structured, scheduled feed, instead of checking four separate index sites by hand.

Phase 1 source audit — what's actually free, verified live

The PRD flagged real uncertainty about paywalls before any code was written. Here's what direct testing found, source by source:

IndexFree access confirmedWhat's actually freeBasis
Drewry World Container Index (WCI)✅ Headline onlyComposite $/40ft figure, in the page's own meta descriptionConfirmed live: real Login/Register prompts gate the "6,700 port pairs" route-level product the PRD flagged as paid; the headline composite is not behind that wall
Freightos Baltic Index (FBX)✅ Composite + all 12 public lanesEvery FBX0X trade-lane sub-index, from a single page requestConfirmed live — richer than expected. The PRD's own research called FBX "primarily subscription-based"; a clean embedded JS ticker object on the main terminal page has the composite AND all 12 lanes in static HTML, no JS execution or per-route page visits needed
Baltic Dry Index (BDI)⚠️ Via third-party republisherCurrent composite valueThe official Baltic Exchange source is subscription/member-only, confirmed live — no free real-time feed exists there. balticdryindex.com, a legitimate third-party site, republishes the current value in a clean, parseable meta description. Documented here as a third-party source, not the primary one — same honesty standard as Actor 29's EUR-Lex workaround
Trading Economics "Containerized Freight Index"✅ CompositeCurrent value, in an embedded JSON fieldConfirmed live. A real naming trap found and worth flagging: Trading Economics' own /commodity/world-container-index URL 302-redirects to this same page — but this is Trading Economics' own proprietary Shanghai-origin composite, not a republish of Drewry's WCI. Confirmed by comparing values directly: Drewry's WCI was $4,297/40ft the same week this page showed 3,276.14 points — different units, different numbers, genuinely different indices despite the confusingly overlapping name. Never conflated in this actor's output.

A scope simplification, not an omission

The PRD's input schema included routes and watchList fields for selecting specific trade lanes. In practice, only FBX has meaningful route-level granularity (WCI, BDI, and the Trading Economics index are each a single composite figure) — and Freightos' own ticker returns all 12 routes in one request regardless of which you'd ask for, so there's no cost saved by letting a caller narrow the selection. This actor always returns every available route per selected index rather than requiring the caller to enumerate them — more complete, not less, than the PRD's original schema.

Modes

ModeBehavior
current_snapshotFetch and return today's values only — no stored history touched
monitorSame fetch, plus weekly/monthly/yearly % change computed from this actor's own stored run history (the default agent-facing pattern, per the portfolio's x402 design convention)

On a brand-new deployment (or a new index/route never fetched before), weeklyChangePercent/monthlyChangePercent/yearlyChangePercent are honestly null until enough scheduled runs have accumulated real historical snapshots in that window — not fabricated from a single data point. The change-lookup uses a tolerance window around each target (±2 days for weekly, ±5 for monthly, ±15 for yearly) so it doesn't require a snapshot on the exact day, only a close one, which matters since these indices publish on different day-of-week cadences.

Output schema

{
"indexName": "wci | fbx | bdi | containerized_freight_index",
"route": "string (\"composite\" for WCI/BDI/TE; a named trade lane for FBX)",
"currentValue": "number",
"unit": "usd_per_40ft_container | points",
"weeklyChangePercent": "number | null",
"monthlyChangePercent": "number | null",
"yearlyChangePercent": "number | null",
"sourceUrl": "string",
"checkedAt": "ISO timestamp",
"status": "success | failed",
"errorMessage": "string | null"
}

unit matters — don't compare a points-based index (BDI, Trading Economics) against a usd_per_40ft_container one (WCI, FBX) as if they were the same scale.

Setup note

No browser needed — all four sources were confirmed live to work over plain HTTP with real data present in static HTML (no JS execution required for any of them), so this uses the lighter apify/actor-node:20 base image rather than the portfolio's usual Playwright/Chrome default.

Pricing

EventPrice
Run started£0.05
Reading success£0.06
Fetch failedfree

n8n integration

  • Workflow A (trigger): scheduled weekly run against your (or clients') relevant trade lanes.
  • Workflow B (processing): alert on significant week-over-week moves (e.g. >10%) with historical context — lock in a rate now, or wait.