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

Production locations

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

Unique BOLs

11,431,327

US importers

702,463

Production partners

574,859

Origin countries

229

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.

Shipper countries

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

Place BOLs Share
CHINA 6,445,494
VIET NAM 748,540
INDIA 385,906
SOUTH KOREA 280,569
THAILAND 276,916
GERMANY 245,105
TAIWAN 226,865
ITALY 202,430
INDONESIA 162,532
HONG KONG 162,348
JAPAN 156,682
CAMBODIA 116,168
MALAYSIA 107,689
BANGLADESH 99,493
BELGIUM 94,212
BRAZIL 92,562
SPAIN 85,703
MEXICO 82,638
TURKEY 75,658
FRANCE 72,704
SINGAPORE 68,951
NETHERLANDS 66,363
SRI LANKA 65,687
UNITED STATES 62,440
DOMINICAN REPUBLIC 59,306
UNITED KINGDOM 56,012
CANADA 54,214
PAKISTAN 50,875
CHILE 42,712
PORTUGAL 41,365
NORWAY 40,737
GUATEMALA 37,175
COLUMBIA 35,740
POLAND 34,914
HONDURAS 34,616
AUSTRALIA 32,769
LAO 32,425
COSTA RICA 28,037
PHILIPPINES 25,728
PERU 25,187

Products in this place

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

  1. 1. 9401 CAR SEAT COVER, . . 315,303
  2. 2. 9403 FURNITURE FEET METAL, . . 270,191
  3. 3. 3922 PLASTIC PLANTER PLASTIC PLANTER 196,872
  4. 4. 4819 STORAGE BOX 157,391
  5. 5. 5513 PILLOW POLYESTER FIBER,.. 144,228
  6. 6. 8516 STORAGE RACK, . . 133,344
  7. 7. 3907 CARPET POLYESTER,.. 127,640
  8. 8. 7204 STORAGE SHELVES STAINLESS STEEL, . . 109,478
  9. 9. 9503 JIGSAW PUZZLE, . . 107,325
  10. 10. 8474 PACKAGE(S) OF CC UTV CFUZ-K PO THIS SHIPME 102,400
  11. 11. 8428 CHAIR CUSHION POLYESTER FIBER, . . 99,973
  12. 12. 6306 PP TARPAULIN 99,522

Origin countries

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

  1. 1. CN, CHINA 6,621,942
  2. 2. VN, VIET NAM 753,306
  3. 3. IN, INDIA 375,978
  4. 4. KR, REPUBLIC OF KOREA 288,700
  5. 5. TH, THAILAND 282,342
  6. 6. DE, GERMANY 240,398
  7. 7. TW, TAIWAN 207,984
  8. 8. IT, ITALY 198,463
  9. 9. ID, INDONESIA 161,622
  10. 10. JP, JAPAN 152,680
  11. 11. KH, CAMBODIA 115,832
  12. 12. MY, MALAYSIA 110,403

Cite this query

Kirchner Data. Place Atlas: Production locations, 2026–2026. Retrieved 2026-08-23 from https://kirchnerdata.com/research-atlas?from=2026&place=shipper&to=2026. Universe: US ocean Bills of Lading (CBP), table kirchner.bols. Place mode: shipper. 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 shipper_country != ''
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 shipper_country != '' 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 shipper_country != '' 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 shipper_country != '' 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 shipper_country != '' AND shipper_lat != 0 AND shipper_lon != 0 AND shipper_city != '' GROUP BY city, country ORDER BY bols DESC LIMIT 400
places · 40 rows
SELECT shipper_country AS name, uniqExact(bill_of_lading) AS bols, uniqExact(shipper_city) AS cities, 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 shipper_country != '' GROUP BY name ORDER BY bols DESC LIMIT 40