CBP FIRMS code lookup
What a FIRMS code is, the four-character format, where it appears on an in-bond arrival and on an entry, and how to apply for one — with a reference table and the CBP source to verify against.
A FIRMS code is the four-character identifier CBP assigns to a physical facility — a pier, container freight station, bonded warehouse, foreign-trade zone site or examination station — so that a filing can say exactly where the cargo is. It comes from CBP's Facilities Information and Resources Management System. Since 10 August 2024, ACE rejects an in-bond arrival submitted without a valid, active FIRMS code for the destination facility, in every mode of transport except air.
What the code actually is
Four characters, alphanumeric. CBP's Cargo Release implementation guide types the field as 4AN in the SE11 record, and the public FIRMS report bears that out: every code in the September 2023 snapshot that carries a district/port assignment is exactly four characters long and begins with a letter. The file also holds a few placeholder rows that are not facilities — an ***ARCHIVED FIRMS CODE entry, a one-character DO NOT USE entry, and orphan rows above the first page header — which is why the totals below are given as approximations: different parsers include or exclude them and land a handful apart.
Do not assume the last three are digits. Of roughly 15,700 active codes in that snapshot, about three in four follow the familiar letter-plus-three-digits shape (E425, N598, Y124). The remaining quarter do not — WAC8, LCT9, EAJ8. A validation rule that enforces ANNN silently rejects a quarter of the register.
The code identifies a place, not a company, and it is granular to the shed, the lot or the facility class. Dundalk Marine Terminal in Baltimore carries twenty-two of them. 300 Western Avenue on Staten Island appears twice: E005 as a pier, EAJ8 as a bonded warehouse. Filing the pier code for cargo sitting in the bonded warehouse is wrong even though the street address is right.
Where the code turns up on a filing
- In-bond arrival. 19 CFR 18.1(j) requires notification to CBP within two business days of arrival at the port of destination or exportation, and that notification "must include the Facilities Information and Resources Management System (FIRMS) code of the location of the merchandise within the port." Failure to report either the arrival or the code is an irregular delivery.
- Location of goods on cargo release. The SE11 record carries a four-character Location of Goods (FIRMS) field — the code for where the cargo is currently stored.
- Elected exam site. A second four-character FIRMS field in the same record names the filer's preferred Centralized Examination Station. Per CD 3550-29, if there is more than one CES in the port of entry the filer specifies which; if there is only one, the field is left blank.
- Warehouse entry. On entry types 21 and 22, the FIRMS code of the bonded warehouse is mandatory, and CBP validates that it is facility type 04, located in the port of entry (or the recognised local port cluster) and active.
- FTZ entry. On entry type 06 — goods leaving the zone into the customs territory — the FIRMS code of the FTZ site must be entered in the SE11 record (ACE Cargo Release implementation guide, Note 4). Where the port director has approved a single FIRMS code for a subzone with multiple sites under one activity-type-4 bond and one inventory system, that single code may also be declared as Location of Goods.
- FTZ admission (e214). A separate transaction with its own validations. Since 11 December 2025 CBP enforces in production that the declared FIRMS code is not blank, is on file, is an FTZ site, is active, is in the port of entry and is bonded; that the bond is activity type 4 FTZ and active; and that the Zone ID is valid and matches the Zone ID CBP has assigned to that FIRMS code.
Air is the exception. CBP has said the in-bond FIRMS validation does not yet affect in-bonds originating in air mode, regardless of the in-transit mode, and that it is working to deploy the validation across all modes at a future date. Treat the air exemption as temporary.
The table
Read this before you use a code below. These 59 rows come from CBP's own public ACS FIRMS report — the last such file CBP published openly, processing date 8 September 2023. That report was discontinued when the Automated Commercial System was retired, and replaced by ACE Report TA-003 (Public FIRMS), which is live and is the only authoritative source. This table is a partial, dated reference for orientation. It is not a filing source: confirm the code in TA-003 before you transmit it.
Port names in the district/port column follow Census Schedule D. CBP's own port directory names some of them differently — it calls 2704 "Los Angeles/Long Beach Seaport, California", which covers both San Pedro Bay ports, and 4601 "New York/Newark, New Jersey". Match a facility to a port of entry on the four-digit code, not on the name.
Names are reproduced exactly as CBP recorded them, in the report's capitals, which is why several read as trade names that changed hands long ago. CBP's name field is 35 characters; eight names below hit that limit and are cut off, marked with an ellipsis. Every row was active in the snapshot; the roughly 5,200 records CBP had flagged deleted are excluded.
| FIRMS code | Facility, as recorded by CBP | City | District/port (code) | Facility type |
|---|---|---|---|---|
| A295 | P W CONLEY TERMINAL | BOSTON, MA | Boston, MA (0401) | Pier |
| E005 | HOWLAND HOOK FULL CONTAINER ST | STATEN ISLAND, NY | New York, NY (1001) | Pier |
| E026 | RED HOOK TERMINAL | BROOKLYN, NY | New York, NY (1001) | Pier |
| E090 | INTERNATIONAL CARGO TERMINALS | ELIZABETH, NJ | New York/Newark Area, NJ (4601) | Container station (CFS) |
| E364 | GLOBAL TERMINAL & CONTAINER SERVICE … | JERSEY CITY, NJ | New York/Newark Area, NJ (4601) | Pier |
| E416 | MAHER TERM BLDG 2180 CDS | ELIZABETH, NJ | New York/Newark Area, NJ (4601) | Pier |
| E424 | SEALAND TERMINAL SHED 5130 | ELIZABETH, NJ | New York/Newark Area, NJ (4601) | Pier |
| E425 | SEALAND TERMINAL | ELIZABETH, NJ | New York/Newark Area, NJ (4601) | Pier |
| E430 | MAHER TERMINAL | ELIZABETH, NJ | New York/Newark Area, NJ (4601) | Pier |
| E535 | FOREIGN TRADE ZONE 49 | ELIZABETH, NJ | New York/Newark Area, NJ (4601) | Foreign-trade zone |
| E592 | MAHER TERMINAL FCL WHARFING | ELIZABETH, NJ | New York/Newark Area, NJ (4601) | Pier |
| EAJ8 | GLOBAL CONTAINER TERMINALS NEW YORK … | STATEN ISLAND, NY | New York/Newark Area, NJ (4601) | Bonded warehouse |
| F577 | PORT NEWARK CONTAINER TERMINAL LLC | NEWARK, NJ | New York/Newark Area, NJ (4601) | Pier |
| C095 | PACKER AVE CONTAINERS | PHILADELPHIA, PA | Philadelphia, PA (1101) | Pier |
| C324 | SEAGIRT TERMINAL | BALTIMORE, MD | Baltimore, MD (1303) | Pier |
| L005 | NIT CONTAINER OPERATIONS | NORFOLK, VA | Norfolk-Newport News, VA (1401) | Pier |
| L047 | APM TERMINALS | PORTSMOUTH, VA | Norfolk-Newport News, VA (1401) | Pier |
| N195 | VIRGINIA INTERNATIONAL GATEWAY | PORTSMOUTH, VA | Norfolk-Newport News, VA (1401) | Pier |
| L391 | NORTH CHARLESTON SPA TERMINAL | NORTH CHARLESTON, SC | Charleston, SC (1601) | Pier |
| LCT9 | HUGH K. LEATHERMAN TERMINAL | NORTH CHARLESTON, SC | Charleston, SC (1601) | Pier |
| N598 | WANDO TERMINAL | MT. PLEASANT, SC | Charleston, SC (1601) | Pier |
| L737 | GARDEN CITY TER 50-53 61-62 | SAVANNAH, GA | Savannah, GA (1703) | Pier |
| L738 | CONTAINER PORT BERTHS 1-5 | SAVANNAH, GA | Savannah, GA (1703) | Pier |
| L739 | CONTAINER FREIGHT STATION 1 | SAVANNAH, GA | Savannah, GA (1703) | Container station (CFS) |
| L740 | CONTAINER FREIGHT STATION 2 | SAVANNAH, GA | Savannah, GA (1703) | Container station (CFS) |
| O083 | CSX INTERMODALFAIRBURN TERMINALCSXI … | FAIRBURN, GA | Atlanta, GA (1704) | Inspection facility |
| R103 | APM TERMINAL | MOBILE, AL | Mobile, AL (1901) | Pier |
| S792 | BARBOURS CUT, ROLL-ON ROLL-OFF | LA PORTE, TX | Houston, TX (5301) | Pier |
| S794 | BARBOURS CUT, CONTAINER DOCK 02 | LA PORTE, TX | Houston, TX (5301) | Pier |
| S803 | APM TERMINAL | LA PORTE, TX | Houston, TX (5301) | Pier |
| V136 | BAYPORT CONTAINER TERMINAL | PASADENA, TX | Houston, TX (5301) | Pier |
| W182 | PACIFIC CONTAINER-PCT-(LB J246CY) | LONG BEACH, CA | Los Angeles, CA (2704) | Pier |
| W185 | MAERSK SEALAND - APM TERMINALS | TERMINAL ISLAND, CA | Los Angeles, CA (2704) | Pier |
| W517 | CALIFORNIA CARTAGE COMPANY, LLC (CE … | CARSON, CA | Los Angeles, CA (2704) | 09 — no legend entry |
| WAC8 | LBCT LLC | LONG BEACH, CA | Los Angeles, CA (2704) | Pier |
| WAN2 | EMPIRE CONTAINER FREIGHT STATION (C … | COMPTON, CA | Los Angeles, CA (2704) | Container station (CFS) |
| Y124 | EVERPORT TERMINAL SERVICES TI228-23 … | TERMINAL ISLAND, CA | Los Angeles, CA (2704) | Pier |
| Y257 | FENIX MARINE SERVICES, LTD. | SAN PEDRO, CA | Los Angeles, CA (2704) | Pier |
| Y266 | LACT - LA CONTAINER TERM.(SP127-129 … | SAN PEDRO, CA | Los Angeles, CA (2704) | Pier |
| Y292 | ST. GEORGE WAREHOUSING CO. (CFS) | COMPTON, CA | Los Angeles, CA (2704) | Container station (CFS) |
| Y309 | I.T.S. {LB 234} (CY) | LONG BEACH, CA | Los Angeles, CA (2704) | Pier |
| Y773 | WEST BASIN CONTAINER TERMINAL | SAN PEDRO, CA | Los Angeles, CA (2704) | Pier |
| Y790 | YUSEN TERMINAL INC (LA) BERTH 214 | TERMINAL ISLAND, CA | Los Angeles, CA (2704) | Pier |
| Z611 | SSA MATSON TERMINALS (LB60-LB62) | LONG BEACH, CA | Los Angeles, CA (2704) | Pier |
| Z978 | SSA TERM.- ZIM/MSC LINES (LB88-96) | LONG BEACH, CA | Los Angeles, CA (2704) | Pier |
| Z773 | SHIPPERS TRANSPORT EXPRESS (CFS) | CARSON, CA | Long Beach, CA (2709) | Container station (CFS) |
| W577 | TRANSBAY CONTAINER TERMINAL | OAKLAND, CA | Oakland, CA (2811) | Pier |
| W933 | MATSON NAVIGATION CO., INC. | OAKLAND, CA | Oakland, CA (2811) | Pier |
| Z985 | SSA TERMINALS | OAKLAND, CA | Oakland, CA (2811) | Pier |
| WBA5 | EVERPORT TERMINAL SERVICES, INC. | OAKLAND, CA | San Francisco, CA (2809) | Pier |
| X117 | TERMINAL 18 CENTRAL | SEATTLE, WA | Seattle, WA (3001) | Pier |
| Y197 | TERMINAL 30 | SEATTLE, WA | Seattle, WA (3001) | Pier |
| Y400 | TERMINAL 5 CONTAINER YARD | SEATTLE, WA | Seattle, WA (3001) | Pier |
| X215 | PIERCE COUNTY TERMINAL | TACOMA, WA | Tacoma, WA (3002) | Pier |
| X335 | APM TERMINALS PACIFIC LTD | TACOMA, WA | Tacoma, WA (3002) | Pier |
| Z693 | HUSKY TERMINAL | TACOMA, WA | Tacoma, WA (3002) | Pier |
| Z705 | HYUNDAI DBA WASHINGTON UNITED TERM. … | TACOMA, WA | Tacoma, WA (3002) | Pier |
| H572 | BNSF LOGISTICS PARK - CHICAGO | ELWOOD, IL | Chicago, IL (3901) | Importer premises |
| J697 | DHL EXPRESS (USA), INC. | ERLANGER, KY | DHL Cincinnati, OH (4197) | Inspection facility |
Facility types, in CBP's own words
The report's legend defines eight: 01 Customs container station, 02 foreign-trade zone, 03 pier, 04 bonded warehouse, 05 inspection facility, 06 importer premises, 07 DP site, 08 CBP administrative site — and notes that 07 and 08 are not valid on an entry as the location of goods. The September 2023 active codes split as roughly 5,250 inspection facilities, 2,370 foreign-trade zones, 2,015 importer premises, 1,910 bonded warehouses, 1,700 piers, 1,655 container stations, 500 administrative sites and 31 DP sites, plus a few hundred records carrying type values the legend does not define. One of those, W517, is in the table above; we have not published a meaning for it because CBP does not.
Looking up a code that is not in this table
The live list is ACE Report TA-003 (Public FIRMS), deployed in April 2024 to replace the retired ACS report and available to all ACE Reports users. It returns facility name, type, status and address, for any port of entry or nationally. The path is Public Reports → ACE → Trade → Importer → Reference → Trade Accounts → TA-003 (Public FIRMS), and you need an ACE Portal account to get there.
Check it even when the facility gives you the code over the phone. The 2023 snapshot alone holds roughly 5,200 retired codes, some of which are still printed on rate sheets.
How a facility gets a FIRMS code
CBP publishes no standalone FIRMS application form that we could locate. The code is created when CBP establishes the facility in its systems, so the route depends on what the facility is, and it always starts with the port director.
- Bonded warehouse. Written application to the director of the port nearest the warehouse, describing the premises, its location and the class of warehouse wanted (19 CFR 19.2). A procedures manual covering inventory control and recordkeeping must be held at the warehouse, with a certification that it meets 19 CFR 19.12. Fire-insurance evidence and a blueprint of the space go with the application; physical security must satisfy the port director.
- Container freight station. A station independent of the importing carrier may be established at any port or part of a port on application to and approval by the port director, with a bond on CBP Form 301 carrying the 19 CFR 113.63 conditions in the amount the port director requires (19 CFR 19.40). CBP charges a published fee to establish, relocate or alter a station, calculated under 19 CFR 24.17(d).
- Centralized examination station. You cannot apply unsolicited. The port director announces that applications to operate a CES are being accepted, and applications are only accepted in response to that notice, within 60 calendar days of it (19 CFR 118.2).
- FTZ site. The code comes with the zone site. Before you file an e214 against it, confirm the FIRMS code is on file, is an FTZ site, is active, is in the port of entry and is bonded; that the bond is activity type 4 FTZ and active; and that the Zone ID you declare is valid and is the one CBP has assigned to that FIRMS code. The Zone ID match is the validation that bites an operator running several sites.
For policy and operational questions about the submission requirement itself, CBP's August 2024 trade notice directs filers to cscwarehousing@cbp.dhs.gov rather than to a form.
What goes wrong
- The code is right but the facility class is wrong. The same address can hold a pier code and a bonded warehouse code. On a type 21 or 22 warehouse entry CBP checks that the code is facility type 04; a pier code fails.
- The code belongs to another port. ACE checks that the FIRMS code is within the arrival port. On truck arrivals the rejections are 157 (FIRMS code required), 158 (FIRMS code not on file), 159 (firm not active) and 164 (firm not on file for DDPP); ocean and rail return 157 only; FTZ returns 028 (FIRMS code not on file).
- The bond is not attached to the code. For locations that require one, ACE verifies the correct bond type is in place against the code. CBP warned filers to secure and associate the bond before the August 2024 deployment, and enforces the FTZ equivalent — activity type 4, active status — on e214.
- A validator that assumes letter-plus-three-digits. A quarter of active codes break that pattern.
- A name mismatch that is not an error. CBP's record keeps the name the facility had when it was set up. A code returning a carrier that left the trade twenty years ago can still be the correct, active code for that berth.
- Missing the clock. Arrival must be reported within two business days. Sixteen days after the whole in-bond shipment arrives, the merchandise becomes subject to general order (19 CFR 18.1(k)) — and general order is where demurrage and storage charges stop being an argument and start being an invoice.
How software handles it
The FIRMS code is reference data with an expiry date on it, which is exactly the kind of field that rots quietly in a spreadsheet. What operational software should do with it is unglamorous: hold the code against the facility record rather than retyping it per shipment, keep the facility type next to it so the wrong class cannot be picked for a warehouse entry, and carry it onto the arrival message and the paperwork without a second keystroke. Linbis holds the operational record — the facility, its FIRMS code and its type — and carries it onto the paperwork: the warehouse register holds the cargo and the location it sits in, and warehouse receipts and consolidation documents are generated from that same record. Linbis is not an ABI filer, and verifying the code itself still happens in TA-003. No software should claim otherwise.
If you want the definitional background rather than the lookup, we keep that on a separate page: CBP FIRMS codes explained. For how the code sits alongside the rest of an entry, see customs clearance software, and for the document it most often travels with, the bill of lading.
Frequently asked questions
What does FIRMS stand for?
Facilities Information and Resources Management System. CBP uses it to identify the facility or location where cargo physically sits within a port.
How many characters is a FIRMS code?
Four. CBP's Cargo Release implementation guide defines the Location of Goods (FIRMS) field as four alphanumeric characters, and every code in CBP's published FIRMS report that carries a district/port assignment is four characters beginning with a letter.
Where is the official CBP FIRMS code list?
ACE Report TA-003 (Public FIRMS), inside ACE Reports, under Public Reports → ACE → Trade → Importer → Reference → Trade Accounts. It replaced the ACS Public FIRMS report, which CBP discontinued in 2023 when the Automated Commercial System was retired. The last file CBP published openly on cbp.gov carries a processing date of 8 September 2023, which is the snapshot this page's table comes from.
Is a FIRMS code required on air in-bonds?
Yes. 19 CFR 18.1(j) requires the FIRMS code in the arrival notification in every mode of transport. What excludes air is CBP's automated check, not the rule: in-bonds originating in air mode are not affected by the August 2024 ACE validation, so an air arrival without a code will transmit rather than reject. The requirement, the irregular-delivery consequence and the liquidated-damages exposure are unchanged, and CBP has said it is working to deploy the validation across all modes.
What happens if we arrive an in-bond without one?
The transaction is rejected — the arrival is never transmitted — and failure to report arrival within the prescribed period is an irregular delivery. CBP has said non-compliance with 19 CFR 18.1(j) will result in liquidated damages.
Our broker files the in-bonds. Why would our own system need to hold FIRMS codes?
Because the broker files what you tell them. Which yard, which CFS, which of a terminal's several codes — that is a fact only your operations team holds. When it lives solely in the broker's file, every deconsolidation to a new warehouse becomes an email thread, and a rejected arrival costs a day you do not have before the general-order clock runs. Holding it on your own facility record is a setup task, not a project.
Explore the platform
- freight forwarding software
- ocean freight software
- air freight software
- warehouse management for forwarders
- freight quoting
Explore Linbis Warehousing — the warehouse register that feeds the freight file.