Skip to content
APIREST, OpenAPI and signed webhooks

Container tracking across ocean carriers

Every container. Every carrier. One timeline.

BerthTime tracks ocean shipments by container number, bill of lading or booking reference. Carrier events become one clean, DCSA-style timeline with ETAs, ready for your team and your systems.

One integration for the carriers you already ship with

  • COSCO
  • ONE
  • HMM
  • ZIM
  • Maersk
  • MSC
  • OOCL
  • Evergreen
  • Hede
  • SITC
  • PIL
  • Matson
  • CMA CGM
  • Hapag-Lloyd
  • Yang Ming
  • Wan Hai

Track anything

Paste a reference. Get the whole journey.

Container number, bill of lading or booking: BerthTime detects the type and the carrier, then lays every milestone out on one timeline, actual and estimated.

Try

Interactive demo with generated sample data. Sign up to track real shipments.

Product

Built for the people who chase containers.

Ocean freight visibility for forwarders, shippers and ops teams: one source of truth for every shipment, without logging into a dozen carrier portals.

Unified event timeline

Every carrier speaks its own dialect. BerthTime normalises events into DCSA-style equipment and transport milestones, so one container looks the same whichever line moves it.

ETA and delay tracking

Original and current ETA side by side, the delay in hours, and an event the moment it moves. See what is late before your customer asks.

Teams and companies

Multi-company accounts with owner, admin, member and viewer roles. Invite colleagues, switch companies, keep each client's shipments apart.

API and signed webhooks

Everything in the dashboard is available over REST, documented with OpenAPI. Subscribe to shipment updates, ETA changes and arrivals; each delivery is HMAC-signed and retried with backoff.

Coming soon

Native Odoo integration

Majorbird is an Odoo partner. BerthTime is being built to plug straight into Odoo, so shipment status and ETAs can sit next to your purchase orders, sales orders and transfers.

Reference auto-detection

Container, BL or booking: the type and the carrier are worked out for you. Override when you know better.

Scoped API keys

Read or write keys per company, created and revoked from settings. Bearer auth on every request.

Idempotent writes

Send an Idempotency-Key with POST requests so retries never create duplicate shipments.

Email alerts and digests

Rules for delays and arrivals, plus daily, weekly or monthly digests, straight to your team's inbox.

Developers

An API you'll actually enjoy wiring up.

A container tracking API that stays out of your way. One POST to start tracking. One webhook to hear about every change. Errors come back as RFC 7807 problem details, and the whole surface is described in OpenAPI.

  • REST + OpenAPI reference at /docs
  • Bearer API keys with read / write scopes
  • Webhooks signed with BerthTime-Signature (HMAC-SHA256)
  • Idempotency keys and automatic delivery retries
Explore the API reference

Use BerthTime from Claude, Cursor or any MCP client. MCP server docs

POST /api/v1/shipments
curl -X POST https://berthtime.com/api/v1/shipments \
  -H "Authorization: Bearer $BERTHTIME_API_KEY" \
  -H "Idempotency-Key: 6f1c2a9e-po-4711" \
  -H "Content-Type: application/json" \
  -d '{
    "reference": "MSCU1234566",
    "customer_reference": "PO-4711",
    "tags": ["asia-eu"]
  }'

How it works

Live in an afternoon.

  1. 01

    Add your shipments

    Paste references in the dashboard or POST them to the API. Container, BL or booking, one or many.

  2. 02

    BerthTime tracks them

    Carrier data is fetched on a schedule and normalised into one timeline with current ETA, vessel and voyage.

  3. 03

    Your team and systems react

    Watch the dashboard, filter by ETA window, and receive signed webhooks when something changes.

Pricing

Pay for the shipments you track.

Pick a monthly volume. On paid plans, shipments above it are billed at your plan's extra-shipment rate.

14-day trial, up to 100 shipments, no card.

  • Free

    $0/ month

    Free, no card

    Shipments / month
    5
    Extra shipment
    Upgrade for more
    Start free
  • Starter

    $49/ month

    Billed monthly

    Shipments / month
    25
    Extra shipment
    $2.40
    Start trial
  • Growth

    $299/ month

    Billed monthly

    Shipments / month
    150
    Extra shipment
    $2.20
    Start trial
  • Business

    $1,199/ month

    Billed monthly

    Shipments / month
    600
    Extra shipment
    $2

    White-label tracking portal

    Start trial
  • Scale

    $2,399/ month

    Billed monthly

    Shipments / month
    1,200
    Extra shipment
    $1.80

    White-label portal on your own domain

    Start trial

Everything included on every plan: API webhooks unlimited users CSV import route maps

Enterprise

Custom volume and pricing, plus:

  • White-label portal on your own domain
  • Native Odoo moduleComing soon
  • SLA
  • Dedicated connectors, including your own carrier API credentials
  • Invoicing by bank transfer
Talk to us

How we count

  1. 01

    One reference, one shipment, per month

    A shipment is one container, bill of lading or booking number tracked during a calendar month. A bill of lading or booking counts once, however many containers it holds.

  2. 02

    Found twice, counted once

    If the same shipment shows up under another reference (say its container and its bill of lading), we merge them and count it once.

  3. 03

    No data, no charge

    A shipment is not counted in a month where the carrier returns no data for it, for example a mistyped reference or one the carrier has not published yet.

  4. 04

    Archive to stop counting

    Archive a shipment at any time. It stops counting from the next month.

Prices in USD.

FAQ

Container tracking, answered.

Shipment tracking by container, bill of lading or booking, ETAs, the API and how billing counts: the short version.

What is BerthTime?

BerthTime is a container and ocean-shipment tracking service built by Majorbird. Add a container number, bill of lading or booking reference and BerthTime collects the carrier's events into one normalised, DCSA-style timeline with the current ETA, in a web dashboard and over a REST API.

What can I track: containers, bills of lading, bookings?

All three. Container tracking works with the ISO 6346 container number: four letters and seven digits, for example MSCU1234566. Bill of lading tracking and booking tracking use the carrier's BL or booking number. BerthTime detects the reference type and, where the format allows, the carrier; you can override the carrier when you know better.

Which carriers are supported?

Major ocean carriers, including COSCO, ONE, HMM, ZIM, Maersk, MSC, OOCL, Evergreen, Hede, SITC, PIL, Matson, CMA CGM, Hapag-Lloyd, Yang Ming, and Wan Hai. What a carrier publishes can differ by reference type (container, bill of lading or booking). If a carrier you ship with is missing, contact us.

How does the ETA work?

BerthTime shows the carrier's current estimated time of arrival next to the original one, with the delay in hours. When the ETA moves, the timeline updates and a shipment.eta_changed webhook is sent to your systems.

Is there a container tracking API, webhooks and MCP?

Yes. Everything in the dashboard is available over a REST API, documented with OpenAPI at /docs and authenticated with read or write API keys. Webhooks notify you of shipment updates, ETA changes and arrivals; every delivery is HMAC-signed (BerthTime-Signature) and retried with backoff. A remote MCP server, using the same API keys, lets AI assistants such as Claude or Cursor look up and add shipments.

How is a shipment counted?

A shipment is one container, bill of lading or booking number tracked during a calendar month. A bill of lading or booking counts once, however many containers it holds. If the same shipment shows up under another reference (say its container and its bill of lading), we merge them and count it once. A shipment is not counted in a month where the carrier returns no data for it, for example a mistyped reference or one the carrier has not published yet.

Is there a free trial?

Yes: 14 days, up to 100 shipments, no card. After the trial you can pick a paid plan or stay on Free, which includes 5 shipments a month. Prices are in USD.

Does it work with Odoo?

A native Odoo integration is coming soon. Until then, the REST API and webhooks connect BerthTime to any system, Odoo included.

Another question? Contact us.

Know where every box is.

Create an account, add your first reference and see the timeline in minutes.