US container terminals: FIRMS codes, CBP ports and portals

A marine terminal publishes static facts and live facts, and only the static half belongs on anybody else’s website. The FIRMS code, the CBP port and the portal that actually holds the data, for fourteen US container terminals.

A US marine container terminal publishes two different kinds of information, and only one of them is stable. The static half — the CBP FIRMS code that identifies the facility on an entry or in-bond, the CBP port it sits in, and the portal that holds availability and appointments — changes almost never. The live half — vessel schedule, last free day, which steamship line is accepting empties today — changes daily and belongs only on the terminal's own system. Look the first up here; follow the link for the second.

Static facts and live facts are not the same problem

Most terminal pages on the web fail because they try to be both. They copy a vessel schedule into HTML, the schedule moves, and the page is wrong within a week. Port Houston, for example, does not serve the Barbours Cut schedule as a web page at all — it regenerates a PDF at info.porthouston.com/vtraffic/bct/BCT Vessel Schedule.pdf. Maher regenerates its empty-return report the same way, several times a day. Nobody outside the terminal can mirror those honestly, so this page does not try.

What can be published, and is oddly hard to find, is the identity layer: which four-character FIRMS code a customs broker puts in the location of goods field for that pier, which CBP port the facility falls under, and which login the dispatcher actually needs. Those are the columns below.

The terminals

FIRMS codes below are taken from CBP's own Public ACS FIRMS report, processing date 8 September 2023 — the last public snapshot before the list moved into ACE. Codes for established marine terminals are stable, but a code is only authoritative when it is active in ACE today, so confirm anything you are about to file on in ACE report TA-003. What the code is and where it goes on an entry is covered in the CBP FIRMS code lookup.

TerminalCBP portFIRMS code(s)Where the live data actually livesOur page
Maher Terminals, Port Newark–Elizabeth, NJ4601 New York/NewarkE430 (Maher Terminal), E416 (Bldg 2180 CDS), E592 (FCL wharfing)Customer portal mahercsp.maherterminals.com/CSP/; daily empty dispatch and return report at portal.maherterminals.com/reports/EMPTY_DISPATCH_RETURNS.pdfMaher Terminals
Garden City Terminal, Savannah, GA1703 SavannahL737 (berths 50–53, 61–62), L738 (container port berths 1–5); container freight stations L739 and L740GPA WebAccess webaccess.gaports.com; vessel schedule gaports.com/vessel-schedule/Garden City Terminal
Long Beach Container Terminal (Pier E), CA2704 Los AngelesWAC8Trucker portal portal.lbct.com, cargo search at /CargoSearchLBCT
Yusen Terminals (YTI), berths 212–225, Terminal Island, CA2704 Los AngelesY790Lynx lynx.yti.com for availability, truck transactions and export cut-offs; gate link cap.yti.comYusen Terminals
Fenix Marine Services (Pier 300), Los Angeles, CA2704 Los AngelesY257Community portal and appointment app portal.fenixmarineservices.comFenix Marine
TraPac Los Angeles, berths 136–139, Wilmington, CA2704 Los AngelesY258Quick Check losangeles.trapac.com/quick-check/; gate hours at /gate-hours/TraPac Los Angeles
TraPac Oakland, CA2811 OaklandY549Quick Check oakland.trapac.com/quick-check/TraPac Oakland
Oakland International Container Terminal (SSA), CA2811 OaklandZ985Tideworks b58.tideworks.com/fc-OICT/OICT
West Basin Container Terminal, berths 121–131, San Pedro, CA2704 Los AngelesY773Ports America TOS Web Portal tosportal.portsamerica.com, site id WBCT_LAWest Basin
Everport Terminal Services, berths 228–236, Terminal Island, CA2704 Los AngelesY124 (Oakland site: WBA5)Not published on a public terminal page we could verify — ask the line—
Husky Terminal, Tacoma, WA3002 TacomaZ693Ports America portal pahusky.com; TOS Web Portal site id Husky_WAHusky Terminal
Barbours Cut Container Terminal, La Porte, TX5301 HoustonS787 and S793 (Port of Houston Authority), S794 (container dock 2)Vessel schedule PDF under info.porthouston.com/vtraffic/bct/Barbours Cut
Bayport Container Terminal, Pasadena, TX5301 HoustonV136Vessel schedule PDF under info.porthouston.com/vtraffic/BAY/Bayport
South Florida Container Terminal, PortMiami, FL5201 MiamiN775 — but see the note belowsfct.us now redirects to apmterminals.com/en/miamiSouth Florida Container Terminal

Note on N775. Every other code in this table is CBP facility type 03, a pier. The record CBP publishes as SOUTH FLORIDA CONTAINER TERMINAL, 2299 Port Blvd, Miami is type 05, an inspection facility. If you are filing a location of goods against PortMiami, confirm the pier record in ACE rather than assuming N775 is it.

Why the return location is a line decision

The most-asked question about these terminals — where does the empty go back — has no per-terminal answer, which is exactly why it is so hard to look up. The return location is set by the steamship line, per equipment type, and it routinely points away from the terminal the container came out of.

The shape of the problem is the same everywhere a terminal publishes a daily return list. One line will take its 20ft and 40ft dry boxes back at a named berth while refusing high cubes at that facility altogether; its damaged equipment goes to one street address and its damaged 45s and reefers to another; and the next line down the list sends its 40ft dry to a neighbouring terminal entirely. The list is rebuilt through the day, and none of it is inferable from the terminal's name or from where the box was collected.

Two consequences for a dispatcher. First, an empty-return instruction is only valid for the line, the size, the type and the day it was read — a screenshot from last week is not evidence. Second, when a line points at an industry directory instead of the terminal, that directory is the Intermodal Association of North America's Empty Return Location Directory at ianaerld.com, not the terminal's own site.

What goes wrong

  • Filing the wrong FIRMS code. A terminal often holds several codes for different functions — Maher has three in the public file, Garden City has four counting its two container freight stations. A pier code and a CFS code are not interchangeable on an entry.
  • Treating a terminal portal as a tracking system. A terminal portal shows availability, holds and last free day for containers at that facility. It knows nothing about a box that has not discharged yet, and nothing about one that has already gated out.
  • Reading last free day off the carrier's site. Free time is contractual with the line, but the clock that generates the terminal's storage invoice is the terminal's. When the two disagree, the terminal's screen is the one that bills you. The exposure that follows is covered in demurrage and detention, and what the resulting invoice lines actually are, and who is entitled to set each one, is in the charges on an ocean freight invoice.
  • Booking one move against a split chassis. If the chassis and the box are in different places, the driver makes two trips and the appointment slot is spent for nothing. See what a chassis split is.
  • Missing the appointment rather than the vessel. Several of these terminals will not gate a truck without a reservation. OICT has required appointments for most containerised import pick-ups since 6 June 2016, and Fenix requires them for imports, empties and exports including reefers and wheeled units. A missed slot costs a day, not an hour.

How software handles it

None of this is fixed by another browser tab. It is fixed by holding the identity layer on the shipment record so that nobody re-derives it under pressure: the terminal, its FIRMS code, the portal the operation actually uses, and a free-time clock attached to each container rather than to the file. In Linbis a shipment carries its containers with their schedule and cut-offs, every container is tracked against its free time, and a demurrage-risk insight surfaces as a box approaches or passes its last free day, with the blockers, the charges and the documents alongside it. That is the part worth automating. The daily empty list is not, because it is only ever true for a few hours.

For the road leg around all of this, see drayage.

Questions operators actually ask

What is L738?

L738 is the CBP FIRMS code published for CONTAINER PORT BERTHS 1–5 at Garden City Terminals, Savannah, Georgia, CBP port 1703, active in the September 2023 public file. The adjacent berths 50–53 and 61–62 carry L737. It is a facility identifier, not a tracking number — there is nowhere to enter L738 and see a container.

What is WAC8?

WAC8 is the FIRMS code for LBCT LLC, 201 Pico Avenue, Long Beach, California, CBP port 2704. It is the code a broker uses for the Pier E facility. Container status lives in the LBCT trucker portal, not in the code.

What is E416?

E416 is the FIRMS code for MAHER TERM BLDG 2180 CDS on Bay Avenue, Elizabeth, New Jersey, CBP port 4601. The main Maher pier record is E430 and the wharfing record is E592. All three were active in the September 2023 file and they are not interchangeable.

Can I see one vessel schedule covering all of these?

No, and be wary of anyone offering one. Each terminal publishes its own, in its own format — a live portal at TraPac and GPA, a regenerated PDF at Port Houston. A single aggregated schedule is either licensed from the terminals or scraped, and a scraped one goes stale silently.

Does a FIRMS code ever change?

Rarely for an established marine terminal, but codes are added, deactivated and archived, and the public list moved out of the retired ACS report into ACE report TA-003 in April 2024. Treat any code you are about to file on as something to confirm in ACE, not something to remember.

We already pay for container visibility — why put any of this in the operating system?

A visibility subscription tells you where a box is. It does not tell you that the box has no rate on it, that a cut-off passed, that the customer has not been notified, or what the exposure is in money. Those live on the shipment, which is why the free-time clock belongs there too. Whether that is worth a licence is a question about your file volume, and the numbers are on pricing: Startup is $150 a month including one user, Premium is $299 a month, Enterprise is quoted, and the free trial does not take a card.

Linbis for ocean operations

Explore Ocean Import — see how containers, cut-offs and free time sit on a single shipment record.

More terminal pages

Write-ups for terminals outside the verified table above. Live schedules, appointments and empty-return rules stay on each terminal’s own system.