# Customs data from a photo of the goods

> Upload a photo of goods and get each item’s name, description, quantity, category, material, HS code, country of origin and value. Free, no account.

Source: https://border.bot/tools/hs-code-from-photo
Last updated: 2026-10-22

Upload a photo of the goods. Every separate product in it comes back with its name, description, quantity, category, material, 6-digit HS code, country of origin and value, each with a confidence, and a box showing where it is in the photo. A “Made in” on a label is read and quoted; without one, the origin is an estimate and says so. Items the photo can’t settle are marked for review.

- **Cost:** Free, no account
- **Input:** One photo
- **You get:** Name, description, quantity, category, material, HS code, origin and value for every item
- **Kept:** Not the photo: only its fingerprint, in the run log

## Use the tool

Choose or take a photo of the goods, laid out in one layer with labels facing the camera. Each item found is boxed on the photo and listed with its customs data; hover a box to find its item.

Open https://border.bot/tools/hs-code-from-photo in a browser, choose or take a photo of the goods, pick the destination and submit. In-browser agents can call the WebMCP tool `inspect_photo_free` on that page with a public https link to the photo and the destination's ISO-2 code.

Every visitor gets a small number of free runs, shared between the classifier, the calculator, the origin finder, screening, the CPSC eFiling checker and the photo tool; the air waybill generator has its own allowance. Free runs are checked by Cloudflare Turnstile and counted per visitor, so they stay available for real people. Create an account for free credits and the full dashboard, API and MCP access.

## Example result

A photo of a folded cotton T-shirt, a pair of sneakers and a calculator

|  | Result |
| --- | --- |
| T-shirt | 6109.10 · made in Vietnam (from its label) · about $24.00 |
| Sneakers | Sole material not visible, so the code is marked for review |
| Calculator | Model name read from the case, which narrows the value |

Illustrative: run the tool on your own photo.

## What comes back for each item

| Field | How it is found | Notes |
| --- | --- | --- |
| Name, description | Seen | In plain words, plus an English customs description |
| Quantity | Counted | Large counts are sent to review |
| Category | Seen | The kind of product |
| Material | Read or seen | A care label settles it |
| HS code | 6 digits | Checked against the live tariff, with a confidence |
| Country of origin | Read from a label, or estimated | An estimate is never shown as more than 60% likely |
| Value | Estimated | A typical retail price in US dollars with a range, not the price paid |

## How to get customs data from a photo with border.bot

1. **Lay the goods out.** Put the items in one layer with a little space between them, in even light, with labels and tags facing the camera.
2. **Take or choose the photo.** Upload it, or take it with your phone’s camera. The photo is shrunk in your browser and its location data left behind before it is sent.
3. **Check each item.** Read each item’s name, quantity, material, HS code, origin and value with their confidences. Anything the photo can’t settle (a material it can’t see, a large count, an uncertain code) is marked for review.

## What decides each answer

### What the item is

The kind of product decides its HS heading. A clear view of each item, apart from the others, is what a photo gives best.

### What it is made of

Material often decides the subheading (a cotton or a synthetic T-shirt, a leather or a textile bag). A care label in the photo settles it; without one the material is read from what shows, with a lower confidence.

### Six digits, the same everywhere

HS codes here are 6-digit subheadings, the digits every country shares, checked against the live tariff. The digits a country adds after them often turn on what a photo can’t show (a unit value, who it’s for), so for a destination’s full line, use the classifier.

### Origin and value

A “Made in” on a label is quoted. Without one, the origin is estimated where the item was most likely manufactured (a UK fashion brand’s dresses are mostly made in Asia), never shown as more than 60% likely, with the other likely countries beside it. Value is an estimated retail price with a range, not the price paid.

## Tips for a photo that reads well

- One layer of items, with space between them: stacked or overlapping goods are hard to count and box.
- Labels, tags and model names facing the camera: the label is what settles material and origin, and a model name sharpens the value.
- Even light without glare on shiny packaging.
- Several identical units? Show a few and count the rest yourself: counts of many units from a photo are sent to review.
- Photograph the goods, not a screen or a printed catalogue page.

## From your own systems and agents

- REST API: `POST /v1/inspect` (with an API client token, charged in credits): [API reference](https://border.bot/docs)
- MCP server: the `inspect_photo` tool at `https://mcp.border.bot/mcp`: [connect an agent](https://border.bot/mcp)
- WebMCP on this page: `inspect_photo_free` (in-browser agents, uses the visitor’s free runs)

## Frequently asked questions

### Can I get an HS code from a photo?

Yes. Upload a photo of the goods and each product in it gets its 6-digit HS code, checked against the live tariff, with a confidence. For a destination’s full national line (10 digits in the US), run the item through the free classifier.

### What does it return for each item?

Name, description, quantity, category, material, HS code, country of origin and value, with a confidence on the code, origin and value, and a box showing where the item is in the photo.

### How many items can one photo have?

The free tool returns up to ten items from one photo, the most prominent first, and says when the photo held more. A busy shelf is better photographed in parts.

### How is the country of origin found?

When a label in the photo says where the item was made (“Made in Vietnam”), that is read and quoted. Without one, it is estimated where the item was most likely manufactured, from the brand’s manufacturing footprint and where that kind of product is made, never from where the brand is based. The estimate is never shown as more than 60% likely, with the other likely countries beside it.

### Is the value the customs value?

No. It is an estimate of the typical retail price of one unit, with a range. Customs value is usually the price actually paid for the goods, which a photo can’t show: declare that price.

### Is the photo stored?

No. The run log keeps a fingerprint (a hash) of the photo, never the photo itself. Your browser also removes the photo’s location data before sending it. Names and addresses visible in the photo are left out of the answer.

### How many free runs do I get?

Each visitor gets a few free runs, shared between the free tools, and the page shows how many you have left. A photo with no product in it isn’t counted. Create an account to keep going with free credits.

## Sources

- [World Customs Organization: the Harmonized System](https://www.wcoomd.org/en/topics/nomenclature/overview/what-is-the-harmonized-system.aspx)
- [WTO: Customs Valuation Agreement](https://www.wto.org/english/tratop_e/cusval_e/cusval_info_e.htm)
