How AI agents track shipping, freight and supply chain disruption
An agent tracks freight and supply chain disruption by calling a wire that reads trade press at runtime, filtered withsrc=freightwavesorsrc=scdive. It returns port, carrier, rate and logistics reporting within hours. Official cargo volumes are a separate, much slower source.
/mcp. Nothing here needs an API key or a signup.
Many wires on this service read a government or institutional publisher. This one reads journalism, and that difference determines what an agent may safely claim from it.
Fast reporting and authoritative numbers are not the same source
Supply chain questions split cleanly into two kinds, and they have completely different latency profiles.
Disruption is a news event. A port closure, a canal restriction, a carrier insolvency, a strike, a blank sailing: these are reported by the trade press within hours, often before any agency publishes anything. For this class of question the wire is genuinely current.
Volume is a statistic. How many containers actually moved is published by port authorities and statistical agencies on a fixed calendar, and that calendar is slow. The Port of Los Angeles, for example, publishes container counts in twenty-foot equivalent units for the prior month on or around the 15th day of the following month. Data for the first day of a month is therefore roughly six weeks old when it becomes official.
An agent asked "how busy is the Port of LA right now" has no authoritative answer available and should say so, then give the most recent official figure with its date and whatever current reporting exists, labelled as reporting. The failure mode here is presenting a trade article's characterisation as a measured volume.
| Question | Latency | Source class |
|---|---|---|
| Is there a disruption at this port? | Hours | Trade press, this wire |
| Which carrier announced a rate change? | Hours to a day | Trade press, this wire |
| How many TEUs moved last month? | Up to six weeks | Port authority statistics |
| What are freight rates today? | Not covered | Commercial rate indices |
Journalism carries a byline, and an agent should keep it
Because the underlying publishers are news organisations rather than agencies, attribution changes shape. A government announcement is the fact. A trade article is a report about a fact, written by someone with a view.
Three practical rules follow:
- Attribute to the outlet, not to the world. "FreightWaves reported" is
accurate. "Port throughput fell" implies a measurement nobody took.
- Prefer the number's origin. If an article cites a port authority or a
carrier filing, cite that instead. The general argument is in what primary source means for machine-readable data.
- Expect the same event twice. Two outlets covering one disruption produce
two items. Deduplicating on entity plus date beats deduplicating on headline.
This wire also carries headlines, snippets and links rather than full article text, which is a licensing boundary and not a technical one. An agent that needs the whole piece should follow the link.
The call an agent makes
# free, no wallet: connect the MCP server claude mcp add --transport http botwire https://thebotwire.com/mcp # paid, $0.005: a named port or lane, 14 day window curl -i "https://thebotwire.com/supplychain/latest?q=long+beach&since=14d&limit=25" # one publisher only, tight window for a live disruption curl -i "https://thebotwire.com/supplychain/latest?src=freightwaves&q=strike&since=48h"
Parameters are src (freightwaves or scdive), q, since (30m, 2h, 24h, 7d, 14d) and limit (1 to 50). Retention is a 14 day rolling window with a 7 day default lookback.
Search is ranked keyword matching rather than semantic retrieval, and a query has to match most of its tokens: four tokens need three hits. Port names, carrier names and lane names work well. A question phrased as a sentence filters itself out.
The call costs $0.005 in USDC on Base with no API key and no signup. Energy and fuel move freight economics and sit on their own route, described in how agents get energy market and EIA data. Every route and filter is documented at /docs.
FAQ
Why not scrape the carriers and ports directly?
You can, and for a small fixed set of ports it is a reasonable build. The cost is that each publisher changes its page structure on its own schedule and every change is a silent breakage in a pipeline nobody is watching. The trade-off is set out in web scraping versus primary-source APIs for AI agents. A wire is worth paying for when the need appears at runtime rather than at build time.
Does this wire carry container rates or spot pricing?
No. Freight rate indices are commercial products with their own licensing, and this wire carries news about the market rather than the market's numbers. An agent that needs a spot rate should buy a rate index. Claiming otherwise would waste the call of anyone who assumed coverage.
Is two publishers enough to answer a global question?
For North American freight and logistics coverage it is a reasonable base. For Asia-Europe lanes, regional publishers and local port authorities carry material these two do not, and an agent should scope its answer to what it actually searched rather than implying worldwide coverage.
How fresh is the supply chain wire?
It is polled at most every 15 minutes, which is inside the publishing rhythm of both outlets. The observed ingest interval across the service and the last poll timestamp are published live at /health, and that endpoint is the ground truth for any cadence claim.
Sources
The publication schedule for official container volumes, including that counts in twenty-foot equivalent units for the prior month are released on or around the 15th day of the following month with annual records back to 1981, is published by the Port of Los Angeles. The two publishers this wire reads are FreightWaves and Supply Chain Dive. Poll cadence and per-call pricing for this service are published live at thebotwire.com/health.
Related: Web scraping vs primary-source APIs for AI agents · How do AI agents get energy market and EIA data?