Academic tool

US Place Atlas

Trace US ocean imports by port of entry, by consignee city and state (the importer address on the bill), or by shipper city (the foreign factory address). Cluster maps sit on every slice. Click a row to go one step deeper. The URL is the citation.

All research tools · Research Desk · Universe: kirchner.bols

Methods (read before you cite)

  • US Customs ocean Bills of Lading only. Air, truck, rail, and informal entries are out of sample.
  • Port of entry is unloading_port (code, city, ST). That is where the vessel cleared, not the consignee headquarters.
  • Consignee and shipper city/state/zip/country are parsed from consignee_address and shipper_address and stored on kirchner.bols. Bills without a parseable US state+ZIP drop out of consignee-place slices. Shipper country falls back to the filed origin country when the address has no country token.
  • Coordinates prefer a Census street geocode of the full address when it exists; otherwise a US ZIP centroid or a GeoNames city centroid. consignee_geo_precision / shipper_geo_precision is street, zip, or city. Maps cluster those points.
  • Production partners are distinct shipper_name strings. Parties are filing names, not resolved legal entities.
  • Every number below is from the SQL printed under it. Nothing is imputed.
Reset place

West

Retrieved 2026-08-23 UTC from kirchner.bols.

Unique BOLs

6,951,433

US importers

466,811

Production partners

302,185

Origin countries

191

US consignees

Clustered by parsed consignee city / ZIP. Circle size is unique bills.

Foreign production

Clustered by parsed shipper city. Circle size is unique bills.

States in this region

Click a row to drill down. Bars are unique bills in this slice.

Place BOLs Share
California (CA) 6,358,322
Washington (WA) 576,333
Hawaii (HI) 9,823
Oregon (OR) 6,639
Alaska (AK) 530
New Mexico (NM) 9
Arizona (AZ) 5
Utah (UT) 1

Products in this place

HS-4 as filed. Click to keep this geography and filter the product.

  1. 1. 9401 SEAT CUSHION POLYESTER FIBER 224,113
  2. 2. 9403 FLOOR STANDING RACKS IRON 165,077
  3. 3. 3922 PLASTIC WREATH 164,129
  4. 4. 4819 STORAGE BOX 136,133
  5. 5. 3907 CARPET POLYESTER,.. 111,147
  6. 6. 8516 STORAGE CABINET 108,201
  7. 7. 7204 STORAGE SHELVES STAINLESS STEEL, . . 95,084
  8. 8. 5513 PILLOW POLYESTER FIBER 93,686
  9. 9. 6306 PP CAMPING MAT 89,218
  10. 10. 7615 POT 87,530
  11. 11. 8426 SUPPORT CUSHION POLYESTER FIBER 87,241
  12. 12. 5404 FLOOR MAT POLYESTER, . . 83,975

Origin countries

Where the cargo is filed as coming from. Click to keep this geography and filter origin.

  1. 1. CN, CHINA 5,271,433
  2. 2. VN, VIET NAM 441,997
  3. 3. KR, REPUBLIC OF KOREA 165,940
  4. 4. TH, THAILAND 158,732
  5. 5. TW, TAIWAN 147,659
  6. 6. JP, JAPAN 108,833
  7. 7. ID, INDONESIA 92,032
  8. 8. KH, CAMBODIA 72,569
  9. 9. MY, MALAYSIA 52,915
  10. 10. IN, INDIA 43,117
  11. 11. SG, SINGAPORE 34,728
  12. 12. BD, BANGLADESH 30,196

Cite this query

Kirchner Data. Place Atlas: West, 2026–2026. Retrieved 2026-08-23 from https://kirchnerdata.com/research-atlas?from=2026&region=west&to=2026. Universe: US ocean Bills of Lading (CBP), table kirchner.bols. Place mode: port. Consignee/shipper city, state, zip, country, and coordinates are stored columns parsed from the filing address.

SQL that produced these numbers

totals · 1 row
SELECT uniqExact(bill_of_lading) AS bols, uniqExact(consignee_name) AS firms, uniqExact(shipper_name) AS partners, uniqExact(country) AS origins, uniqExact(unloading_port) AS ports, round(sum(weight_in_kg)) AS kg FROM bols WHERE (actual_arrival_date >= toDate('2026-01-01') AND actual_arrival_date <= toDate('2026-12-31')) AND trimBoth(unloading_port) != '' AND upperUTF8(trim(extract(trimBoth(unloading_port), ',\\s*([A-Z]{2})\\s*$'))) IN ('AZ','CO','ID','MT','NV','NM','UT','WY','AK','CA','HI','OR','WA')
products · 12 rows
SELECT substring(replaceAll(hs_code, '.', ''), 1, 4) AS hs4, anyHeavy(product_desc) AS sample, uniqExact(bill_of_lading) AS bols FROM bols WHERE (actual_arrival_date >= toDate('2026-01-01') AND actual_arrival_date <= toDate('2026-12-31')) AND trimBoth(unloading_port) != '' AND upperUTF8(trim(extract(trimBoth(unloading_port), ',\\s*([A-Z]{2})\\s*$'))) IN ('AZ','CO','ID','MT','NV','NM','UT','WY','AK','CA','HI','OR','WA') AND length(replaceAll(hs_code, '.', '')) >= 4 GROUP BY hs4 ORDER BY bols DESC LIMIT 12
origins · 12 rows
SELECT country AS name, uniqExact(bill_of_lading) AS bols, uniqExact(shipper_name) AS partners FROM bols WHERE (actual_arrival_date >= toDate('2026-01-01') AND actual_arrival_date <= toDate('2026-12-31')) AND trimBoth(unloading_port) != '' AND upperUTF8(trim(extract(trimBoth(unloading_port), ',\\s*([A-Z]{2})\\s*$'))) IN ('AZ','CO','ID','MT','NV','NM','UT','WY','AK','CA','HI','OR','WA') AND trimBoth(country) != '' AND lengthUTF8(trimBoth(country)) >= 3 AND upperUTF8(trimBoth(country)) NOT IN ('N/A','NA','NONE','NULL','UNKNOWN','-','--','N.A.') GROUP BY name ORDER BY bols DESC LIMIT 12
map_consignees · 400 rows
SELECT consignee_city AS city, consignee_state AS state, consignee_zip AS zip, any(consignee_lat) AS lat, any(consignee_lon) AS lon, any(consignee_geo_precision) AS precision, uniqExact(bill_of_lading) AS bols FROM bols WHERE (actual_arrival_date >= toDate('2026-01-01') AND actual_arrival_date <= toDate('2026-12-31')) AND trimBoth(unloading_port) != '' AND upperUTF8(trim(extract(trimBoth(unloading_port), ',\\s*([A-Z]{2})\\s*$'))) IN ('AZ','CO','ID','MT','NV','NM','UT','WY','AK','CA','HI','OR','WA') AND consignee_lat != 0 AND consignee_lon != 0 GROUP BY city, state, zip ORDER BY bols DESC LIMIT 400
map_shippers · 400 rows
SELECT shipper_city AS city, shipper_country AS country, any(shipper_lat) AS lat, any(shipper_lon) AS lon, any(shipper_geo_precision) AS precision, uniqExact(bill_of_lading) AS bols FROM bols WHERE (actual_arrival_date >= toDate('2026-01-01') AND actual_arrival_date <= toDate('2026-12-31')) AND trimBoth(unloading_port) != '' AND upperUTF8(trim(extract(trimBoth(unloading_port), ',\\s*([A-Z]{2})\\s*$'))) IN ('AZ','CO','ID','MT','NV','NM','UT','WY','AK','CA','HI','OR','WA') AND shipper_lat != 0 AND shipper_lon != 0 AND shipper_city != '' GROUP BY city, country ORDER BY bols DESC LIMIT 400
places · 8 rows
SELECT upperUTF8(trim(extract(trimBoth(unloading_port), ',\\s*([A-Z]{2})\\s*$'))) AS name, uniqExact(bill_of_lading) AS bols, uniqExact(unloading_port) AS ports, uniqExact(consignee_name) AS firms, uniqExact(shipper_name) AS partners FROM bols WHERE (actual_arrival_date >= toDate('2026-01-01') AND actual_arrival_date <= toDate('2026-12-31')) AND trimBoth(unloading_port) != '' AND upperUTF8(trim(extract(trimBoth(unloading_port), ',\\s*([A-Z]{2})\\s*$'))) IN ('AZ','CO','ID','MT','NV','NM','UT','WY','AK','CA','HI','OR','WA') GROUP BY name ORDER BY bols DESC LIMIT 30