Fully Stocked: In Which City Is This Container Ship Moored?

Bellingcat Maritime Mysteries. A container ship at the quay, no EXIF, no caption. Google Lens found the photo on a dozen sites, one of them leaked a Pexels file name, and the original on Pexels is tagged Hamburg. The cranes and the bridge in the frame confirm it.

Title: Fully Stocked (Bellingcat Challenge, Maritime Mysteries series)

Description: Ship shape and ready to get underway. A picture-perfect ship waiting to be found. Container vessels are a common sight in ports around the world, but this one is particularly well-stocked. They’re a vital part of the global supply chain, but where is this one moored?

Question: In which city would you find this port?

The answer, up front: the photo is a Pexels stock photo by Sascha Hormel, taken in the port of Hamburg at the HHLA Container Terminal Burchardkai. The challenge site accepted the answer.

Hamburg

The title is the hint. “Fully Stocked”, “picture-perfect”: the photo is a stock photo, and stock photos carry their location in the listing.

The challenge photo: the dark hull of a container ship with the white letters U A S C on the left, red gantry cranes reaching over the deck, a row of blue-and-red container cranes on the right, and a cable-stayed bridge on the horizon in the middle

The whole brief. No EXIF: the file carries an edit date from 2024 and nothing else, no camera, no GPS. No caption, no port name in plain view.

Step 1: Google Lens

Cropped to the ship and the cranes, Google Lens returns the same photo over and over:

Google Lens with the challenge photo loaded and the selection box around the ship and the cranes

Lens on the ship side of the frame. The selection leaves out the empty sky, which only adds noise.

Google Lens visual matches: the same ship photo on a dozen sites, among them Rasmus Andresen, Valley Electrical Contractors, Leal Group Mauritius, InnoSolutas, MarketPrint and OBS Business School, each with a different crop and colour grade

The same frame on a Green MEP’s blog, an electrician’s site in the US, a logistics firm in Mauritius, a print shop and a business school. Unrelated sites in four countries using one photo: that is a stock photo.

How sure? Very. Nobody photographs the same ship from the same spot at the same angle for a dozen unrelated companies. One photographer took it once, and everyone else licensed it.

None of these pages says where the ship is. They use it as decoration. What’s needed is the original listing.

Step 2: The file name gives the source away

Open one of the hits in the browser’s dev tools. On Rasmus Andresen’s post the image has an empty alt, but its data-title and its file name are the original upload name:

Firefox Inspector on rasmus-andresen.eu: the img element of the header picture, with data-title pexels-hormel-media-1095814-scaled-aspect-ratio-16-9 in a red box

pexels-hormel-media-1095814: the platform, the photographer’s handle and the photo ID, all in the file name.

pexels-hormel-media-1095814-scaled-aspect-ratio-16-9

Pexels names downloads pexels-<user>-<id>, and WordPress keeps the name on upload. Two leads in one string: the source is Pexels, and the photo ID is 1095814.

Step 3: Find the original on Pexels

Either open the ID directly (pexels.com/photo/1095814/) or put Lens and the platform together: same image, plus the search term pexels.

[challenge image in Google Lens] + pexels

Google Lens with the challenge image and the added search term pexels: the first result, Pexels, Fotografie mit geringer Schärfentiefe von Schwarzschiff, in a red box

First hit: the Pexels listing, “shallow focus photography of black ship”.

The Pexels page has the uncropped original and the metadata the reposts stripped:

The Pexels photo page: photographer Sascha Hormel, the uncropped ship photo, and below it date 16 May 2018, location Hamburg, HH, Germany, and the description Ein großes Frachtschiff im Hamburger Hafen, Kräne laden Container unter einem klaren Himmel in a red box

Sascha Hormel, 16 May 2018, 5184 × 3456. Location: Hamburg, HH, Germany. Description: “A large cargo ship in the port of Hamburg, cranes loading containers under a clear sky.”

How sure? The location field on a stock site is typed in by the uploader, so on its own it is a claim, not a proof. It needs a check from inside the picture. That’s Step 4.

Step 4: The match

Challenge photo and Pexels original, one above the other:

Above: the challenge photo with red boxes around the UASC lettering, a crane label ending in RDKAI, the bridge pylon and the row of cranes on the right. Below: the Pexels original, wider and less cropped, with red boxes around the same UASC lettering, the same RDKAI label on the boom below the white gantry, the same pylon and the same crane row; above them a higher boom, cut off in the challenge, reads URCHARDKAI

Top: the challenge. Bottom: Pexels 1095814. Same hull, same lettering, same …RDKAI on the boom below the white gantry, same pylon, same crane row. The original shows more boom at the top: the highest one, cut off in the challenge, reads …URCHARDKAI.

The challenge is a crop of the Pexels photo, with a different colour grade. Every fixed feature sits in the same place.

Verification: the picture says Hamburg on its own

The stock listing is one source. The photo itself is the second, and it doesn’t depend on Pexels at all.

The crane label. The ship-to-shore cranes carry their terminal’s name on the boom:

An enlarged crop of the red crane booms over the ship: red boxes around the letters RDKAI on three booms

Three booms, each with the end of the same word: …RDKAI. In the Pexels original the top boom, cut off here, shows more of it: …URCHARDKAI.

“Burchardkai” is the name of Container Terminal Burchardkai (CTB), the largest HHLA terminal in the port of Hamburg, on the former Elbe island of Waltershof. There is no second Burchardkai.

The bridge. On the horizon, between the ship and the crane row:

An enlarged crop of the horizon: a long elevated road bridge with a single tall A-shaped pylon, with stay cables fanning out, in a red box, a lattice electricity pylon to its right and crane booms at the edges

A cable-stayed bridge with an A-shaped pylon and a long, high approach: the Köhlbrandbrücke.

The Köhlbrandbrücke is the most recognisable structure in the port, and the geometry fits. Burchardkai’s berths 1 to 6 line the north side of the Waltershofer Hafen, with Eurogate’s Container Terminal Hamburg on the south side opposite. Looking east out of the basin, Burchardkai is on the left, a row of Eurogate cranes is on the right, and the Köhlbrandbrücke (main span around 53.519, 9.952) stands about 2.5 km away to the east-southeast. That is exactly the layout of the photo. From that angle you look almost along the bridge, so its two pylons line up into one.

Crane label and bridge each point to Hamburg on their own. Together they place the photo in one basin.

The ship. UASC is the United Arab Shipping Company, which merged into Hamburg-based Hapag-Lloyd in 2017. That makes a UASC hull at a Hamburg terminal in 2018 unsurprising, but it’s no proof: these ships call at ports all over the world. The cranes and the bridge are the proof.

Ruling out the alternative: the colour grade and the crop differ between the copies, so the reposts could in theory come from a different shot of a different port. They can’t: the hull lettering, the gap in the crane row and the pylon line up in every copy, and only the uncropped original shows the longer crane label.

The moment it’s settled: …RDKAI on the boom below the white gantry in both frames, and …URCHARDKAI on the boom above it in the original.

Answer

Hamburg

Port of Hamburg, HHLA Container Terminal Burchardkai, with the Köhlbrandbrücke in the background. Pexels photo 1095814 by Sascha Hormel, 16 May 2018.

Takeaways

  • A photo on a dozen unrelated sites is stock. Then the job is no longer geolocation, it’s finding the original listing, because that’s where the metadata survived.
  • Read the reposts’ source code, not their text. Captions get rewritten, but file names and data-title attributes often still carry the platform, the author and the ID.
  • Lens plus a platform name narrows the search. Image plus pexels, unsplash or shutterstock pushes the original listing to the top.
  • A stock location is a claim, so check it inside the frame. Look for anything that carries a name: crane booms, quay walls, signs. Text cut off in a crop is often complete in the original.
  • The challenge title is part of the brief. “Fully Stocked” pointed at stock photos before the first search.

Sources