UK Importers & Exporters by Product (HMRC Data) avatar

UK Importers & Exporters by Product (HMRC Data)

Pricing

from $5.00 / 1,000 company rows

Go to Apify Store
UK Importers & Exporters by Product (HMRC Data)

UK Importers & Exporters by Product (HMRC Data)

Find UK companies that imported or exported a product each month, by HS code or keyword, from official HMRC trade data. New traders are flagged for monthly lead lists, with company name, town and postcode district (companies only). No API key; JSON via API or MCP, $5 per 1,000 rows.

Pricing

from $5.00 / 1,000 company rows

Rating

0.0

(0)

Developer

Japan Open Data

Japan Open Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Find UK companies that imported or exported a product (HS code) each month — official HMRC data, no API key. Give a product code such as 8471 (computers) or a keyword such as coffee, and get one clean JSON row per company: company name, town, postcode district, the 8-digit CN8 codes it traded under, and whether it is new (no trade in that product for the previous 12 months).

  • Official source: HM Revenue & Customs' UK Trade Info traders data, queried live through HMRC's own API. About 680,000 trader-product records a month, from 2016 onwards.
  • New traders flagged: isNewTrader: true marks companies that traded the product this month but not in any of the previous 12 months (adjustable). Run it monthly with onlyNewTraders: true for a fresh lead list — for computers (HS 8471) that is about 560 of the 3,400 importing companies returned for July 2026.
  • Search by product: a 2-, 4-, 6- or 8-digit HS/CN8 code, up to 5 codes, or a plain-English keyword ("laptops", "solar panels", "bicycles").
  • Filter by place and name: postcode areas ("B", "LS") or districts ("M1"), and part of a company name.
  • Companies only. Sole traders and other names without a legal form (Ltd, PLC, LLP, GmbH...) are never returned, and addresses are cut to town and postcode district (see Privacy).
  • Built for pipelines and AI agents: flat camelCase fields, a status on every row, plain-English error rows that are free (only the $0.002 run start applies).
  • Price: $5 per 1,000 company rows plus $0.002 per run. No subscription.

What this data is (and is not)

HMRC publishes who traded which product in which month. It does not publish values, quantities, countries of origin, suppliers or shipments. So this is a who imports / exports X in the UK directory, not a bill-of-lading database.

US bill-of-lading scrapers (ImportYeti-style)Paid UK importer databases (e.g. about £25 a month)This Actor
CountryUnited States (sea freight)United KingdomUnited Kingdom, all transport modes
SourceScraped from a third-party websiteHMRC data, repackagedHMRC's official API, live
Company name and locationYesYesYes: name, town, postcode district
ProductFree-text cargo descriptionHS codeHS / CN8 code, or a keyword
Supplier, value, quantity, shipmentsYes (supplier, shipments)NoNo (HMRC does not publish them)
"New this month"NoSometimesYes, isNewTrader
AccessBrowser / scraperBrowser, CSV exportAPI, JSON, schedules, webhooks, MCP
PricingPer resultMonthly subscriptionPay per row, no subscription

What can you do with UK Importers & Exporters by Product?

  • Exporters and overseas suppliers — list the UK companies that import your product (e.g. 9403 furniture, 0901 coffee) and start outreach; filter to a region by postcode area.
  • Freight forwarders, customs brokers and 3PLs — find new UK importers of the goods you handle every month (onlyNewTraders: true) before your competitors do.
  • Market and competitor research — who else imports this product? Which companies started importing it last month?
  • CRM enrichment — check whether your prospects appear as importers or exporters of a product, by company name.
  • AI agents — answer "which UK companies import solar panels?" with one tool call and an official source.

How to use

  1. Click Try for free. The default input lists 20 UK importers of computers (HS 8471) in the latest published month, in about 30 seconds (cost: about $0.10).
  2. Put your product in HS / CN8 product code (look it up on the UK Trade Tariff), or type a word in Product keyword.
  3. Choose Importers or Exporters, and optionally a month, postcode areas, a company name, or Only new traders.
  4. Raise Maximum rows to get the full list (for HS 8471 imports, about 3,400 companies a month).

Run it every month (new importers of your product)

HMRC publishes a new month about two months in arrears (for example, July data in mid-to-late September). Schedule this Actor monthly (for example on the 25th) with {"hsCode": "8471", "onlyNewTraders": true, "maxResults": 500} and connect a webhook, Google Sheets or your CRM to receive the new companies.

Input

FieldTypeDefaultWhat it does
hsCodetext"8471"2-, 4-, 6- or 8-digit HS / CN8 code, or up to 5 separated by commas. Ignored when productKeyword is set.
productKeywordtextemptyA product in plain English; turned into up to 5 HS codes, which each row shows in hsCode. Takes priority over hsCode.
flowimport / exportimportImporters or exporters of the product.
monthtextlatestlatest, or a month such as "2026-07" (2016-01 or later).
onlyNewTradersbooleanfalseOnly new traders (isNewTrader: true).
newTraderLookbackMonthsinteger12How many earlier months a new trader must be absent from (1-24). 1 = compared with the previous month only; many importers do not import every month, so short lookbacks flag many seasonal importers as "new".
postcodeslist of textallPostcode areas ("B", "LS") or districts ("M1", "B62").
companyNametextemptyOnly names containing this text at the start of a word, e.g. "Dell".
maxResultsinteger20Maximum company rows (charged). New traders first, then companies trading the most CN8 product lines, then A-Z; with several codes, the codes take turns.

Input examples

{ "productKeyword": "coffee", "flow": "import", "postcodes": ["LS", "M", "B"], "maxResults": 100 }
{ "hsCode": "854143", "month": "2026-07", "onlyNewTraders": true, "maxResults": 200 }

Output

Example row (real data, month 2026-07):

{
"status": "ok",
"companyName": "PC SPECIALIST LTD",
"town": "Wakefield",
"postcodeDistrict": "WF4",
"postcodeArea": "WF",
"flow": "import",
"month": "2026-07",
"hmrcCareOfAddress": false,
"isNewTrader": false,
"newTraderLookback": "2025-07 to 2026-06",
"hsCode": "8471",
"productDescription": "Automatic data-processing machines and units thereof; magnetic or optical readers, machines for transcribing data onto data media in coded form and machines for processing such data, n.e.s.",
"cn8Codes": "84713000; 84715000; 84717050; 84717098; 84718000",
"cn8Count": 5,
"traderId": 191,
"query": "8471",
"latestMonthAvailable": "2026-07",
"sourceUrl": "https://www.uktradeinfo.com/find-uk-traders/",
"fetchedAt": "2026-09-24T22:42:31Z",
"attribution": "HMRC UK Trade Info (api.uktradeinfo.com), UK traders data. Contains public sector information licensed under the Open Government Licence v3.0. ..."
}

Free rows (the $0.002 run start still applies): a not_found row when no company matches (with the reason and what to change), and an error row for invalid input, e.g. {"status": "error", "error": "\"847\" is not a valid \"hsCode\"; give a 2-, 4-, 6- or 8-digit HS/CN8 product code such as \"8471\" (computers) ..."}.

Output fields

FieldMeaning
statusok (charged), not_found or error (free)
companyNameAs published by HMRC (companies only)
town, postcodeDistrict, postcodeAreaTown and the first half of the postcode ("B62", "B"). No street address is returned. town is null when it cannot be read reliably
hmrcCareOfAddresstrue when HMRC lists the trader at an HMRC office (usually a business with no UK establishment); town and postcode are then null
flow, monthimport / export and the month (YYYY-MM)
isNewTrader, newTraderLookbacktrue when the company did not trade this product (same code, same flow) in any month of newTraderLookback
hsCode, productDescriptionThe code(s) searched and HMRC's description
cn8Codes, cn8CountThe 8-digit CN8 codes the company traded under within that code, and how many
traderIdHMRC's trader ID, stable across months (use it to join runs)
query, latestMonthAvailable, sourceUrl, fetchedAt, attributionProvenance
errorPlain-English reason on free rows

Each run also saves a RUN_SUMMARY record in its key-value store: traders HMRC listed, how many were withheld by the company-name check, how many matched your filters, and how many rows were returned.

How much does it cost?

Pay per event, with two charges and no subscription:

EventPriceWhen it is charged
Company row (result-row)$0.005 per row ($5.00 per 1,000)Each row with status: "ok"
Run start (apify-actor-start)$0.002 per runOnce per run, including runs that return only a not_found or error row

not_found and error rows themselves are free, but the $0.002 run start is charged on every run, so a run with a typo in the input costs $0.002.

UseRowsCost
Default run (20 importers of HS 8471)20$0.102
New UK importers of one product, run monthly50-500about $0.25-$2.50 a month
Every UK importer of computers (HS 8471) in a month (a one-off market map)about 3,400about $17
Input error or no matching company0 (one free row)$0.002

For comparison: tracking the new UK importers of one product every month costs about $0.25-$2.50 a month here, while paid UK importer databases built on the same HMRC data charge about £25 (about $33) per user per month. Set Maximum cost per run in the run options to cap any run; the Actor stops when the cap is reached.

Use via API & MCP (AI agents)

REST API (synchronous, returns the rows):

curl -X POST "https://api.apify.com/v2/acts/japan-open-data~uk-importer-exporter-directory/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"productKeyword": "coffee", "maxResults": 20}'

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("japan-open-data/uk-importer-exporter-directory").call(
run_input={"hsCode": "8471", "onlyNewTraders": True, "maxResults": 100})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if row["status"] == "ok":
print(row["companyName"], row["town"], row["postcodeDistrict"], row["cn8Codes"])

MCP: add the Apify MCP server (https://mcp.apify.com) to Claude, Cursor or any MCP client and enable the tool japan-open-data/uk-importer-exporter-directory.

Recommended settings for agents:

  • To answer "which UK companies import X?", use productKeyword: "<X>" and maxResults: 20; check hsCode in the rows to confirm the product, and pass hsCode directly next time.
  • Prefer an HS code when you know it: 4 digits is a good default; 2 digits (a whole chapter) can be very large.
  • isNewTrader: true means "no trade in this product in the previous 12 months" (see newTraderLookback), not "new company".
  • Say that the data is monthly and about two months old (month, latestMonthAvailable), and quote sourceUrl.
  • The data has no values, quantities, countries or suppliers; do not infer them.

Summary for AI assistants: This tool lists UK companies that imported or exported a product (HS/CN8 code or keyword) in a given month, from HMRC's official UK Trade Info traders data, one JSON row per company with the town, postcode district, CN8 codes and a flag for companies new this month. Companies only; no values, quantities or suppliers.

Privacy: companies only

HMRC's traders list includes sole traders under their own names and home addresses. Personal data is outside the Open Government Licence, so this Actor returns a trader only when its name carries a company legal form (Ltd, Limited, PLC, LLP, LLC, Inc, GmbH, AG, SA, BV, AB, A/S, Oy, Pte, Co Ltd and others) and a second check does not read it as a person's name (for example "

Addresses are cut to the town (only when it is a known town name) and the outward postcode ("B62"); the street address is never returned.

FAQ

How fresh is the data?

HMRC publishes each month about two months in arrears. latest always uses the newest month HMRC has published (shown in latestMonthAvailable); every run queries HMRC's API live.

Why is a company I know missing?

It may not have traded that exact product code that month (try a 4-digit code instead of 8), it may trade under another company name, it may have asked HMRC not to be published, or it may have been withheld by the company-name check. HMRC lists non-EU importers from 2016 and exporters to the EU from 2021 in its traders data.

Is this the same as ImportYeti for the UK?

No. There are no suppliers, shipments, values or quantities: HMRC does not publish them. You get the list of UK companies trading each product each month, from the official source.

Is this an official HMRC service?

No. It re-publishes HMRC's open data under the Open Government Licence. It is not affiliated with or endorsed by HM Revenue & Customs.

Troubleshooting

SymptomFix
not_found: no HS heading matches the keywordUse a simpler word ("bicycles", "coffee"), or find the code on the UK Trade Tariff and use hsCode
error: month not published yetUse latest; HMRC publishes about two months in arrears
error: more rows than one run handlesUse a longer code (4 or 6 digits instead of a 2-digit chapter)
Few rows with postcodesUse the postcode area letters ("B") rather than a district ("B62")
An HMRC API error rowHMRC's API was busy or down; run again in a few minutes (the row is free; only the $0.002 run start was charged)

Known limitations

  • Monthly data, about two months old. No values, quantities, countries, ports or suppliers.
  • About 31% of HMRC's traders are withheld by the company-name check, including some genuine companies.
  • town is null when the address does not contain a recognisable town; postcodeDistrict is still given.
  • isNewTrader looks back 12 months by default; a company that trades this product less than once a year still shows as new.
  • The keyword search maps everyday words to HS codes with a built-in list and HMRC's descriptions; check hsCode in the rows.
  • HMRC's API allows 60 requests a minute; this Actor stays under it, so each code takes about 15-30 seconds with the 12-month new-trader lookback (a keyword that maps to 5 codes, or a 2-digit chapter: about 2-3 minutes).

Data source and licence

Source: HM Revenue & Customs, UK Trade Info — Find UK traders, via the UK Trade Info API. Contains public sector information licensed under the Open Government Licence v3.0. This Actor is not affiliated with, or endorsed by, HM Revenue & Customs.

More from Japan Open Data

Feedback

Found a wrong row, a company withheld that should not be, or a keyword that maps to the wrong product? Open an issue on the Issues tab — it will be read.