No complex setup, no SDKs required. Just an API key and standard HTTP requests.
Sign up with your email in under a minute. No credit card, no commitment.
From your dashboard, create a key in one click. Revoke or rotate it anytime.
Send your first request and get structured JSON back — status, ETA, events, and more.
Five focused endpoints covering containers, bills of lading, vessels, and sailing schedules.
Submit a container number and get full tracking data — status, route, ETA, port events, and vessel info.
/api/v1/container/:numberLook up any Bill of Lading number to get the full shipment record — containers, route, milestones, and current status.
/api/v1/bl/:numberRetrieve all shipments saved on your account with summary status and ETA — useful for dashboards and bulk monitoring.
/api/v1/shipmentsReal-time AIS position for any vessel by IMO or MMSI. Returns coordinates, heading, speed, and destination port.
/api/v1/vessel/trackFind all available sailings between two ports for a given date. Carrier, vessel, voyage number, and transit time included.
/api/v1/voyage/schedulesFrom solo developers to enterprise logistics teams, the Traqo API fits seamlessly into your workflow.
Embed tracking into your TMS or customer portal. Give clients live shipment visibility without manual status calls.
Show customers where their goods are. Trigger notifications on milestone events like arrival at destination port.
Add ocean freight tracking alongside air and road modes. One API for container and BL tracking across all major carriers.
Automatically update purchase order statuses in SAP, Oracle, or custom WMS when containers hit key milestones.
Pull historical and live tracking data into your data warehouse. Analyse transit times, delays, and carrier performance.
Build internal operations dashboards with live container maps, delay alerts, and carrier scorecards powered by our data.
Everything developers ask before integrating the Traqo container tracking API.
It is a REST API that returns real-time container, bill of lading (BL) and vessel tracking data as clean JSON. You pass a container or BL number to a single endpoint and get the current status, full port/event timeline, route, ETA and vessel information — across 170+ ocean carriers, without scraping carrier websites.
Create a free account, open the Developer section of your dashboard and generate a key. Requests authenticate with a Bearer token in the Authorization header — no SDK or approval process required.
Yes. The free tier includes API access so you can integrate and test end-to-end at no cost, and there are no per-call charges. The limit is your plan's monthly shipment allowance — how many new references you add in a billing cycle, not how many you may track at once. Shipments added in earlier cycles keep tracking for free until they are delivered, so you can have considerably more in transit at any moment than your monthly number. See pricing for higher tiers.
The API covers 170+ ocean carriers including Maersk, MSC, CMA CGM, Hapag-Lloyd, ONE, Evergreen, COSCO, ZIM and many regional lines — one endpoint and response shape for all of them.
Yes. There are dedicated endpoints for container numbers and for bill of lading (BL) numbers, and both return the same JSON structure, so your integration code stays identical.
Data is pulled continuously from carrier and port sources, and the API responds in under ~400ms on average with 99.9% uptime, so it is suitable for real-time dashboards, TMS/ERP integrations and customer notifications.
120 requests per minute per API key by default, over a fixed 60-second window. Every response carries X-RateLimit-* headers, not just the ones that fail, so you can pace against the remaining count instead of waiting to be refused. Over the limit you get a 429 with Retry-After in seconds. Higher limits can be configured per plan.
Not necessarily — 402 has two distinct causes and data.error tells you which. "shipment_limit_reached" means you have used every shipment slot for the billing period; "payment_overdue" means a payment failed and the grace period has ended. Branch on data.error rather than the message text. Either way, references you already track keep updating; what is blocked is adding new ones.
Yes — the Developer page shows used, limit and remaining live, and the same figures are available to your integration. Poll that rather than learning your position from a 402.
No — keys are stored hashed, so we genuinely cannot read an existing one back. Issue a new key and revoke the old one. That is a deliberate design choice: a key we could show you is a key anyone who reached our database could show themselves.
Two integrations exist today and you can use them now. Webhooks push shipment events to any endpoint you own — set them up under Dashboard, Developer, Webhooks. The REST API gives you container, bill of lading and vessel tracking in your own tools, documented at /developer, and there is a SeaRates-compatible version of it at /developer/searates if you already use theirs. Both need developer mode switched on for your account. Zapier and Make, Google Sheets, Slack alerts, Microsoft Teams and an MCP server for Claude, ChatGPT and Cursor are not built. You can ask for them: open Settings, then Integrations, and press the button beside the one you want. That records your request and shows you how many other accounts have asked for the same thing, which is what decides the order we build them in. Nothing there is scheduled and we do not promise a date — if someone tells you one of these is coming soon, that is not something we have said. Anything not on that list can be requested from Dashboard, Feature requests, where you can also vote on what other customers have asked for.
Free tier included. No credit card required. Production-ready from day one.