---
name: "markets_products"
area: "markets"
title: "Get a product's production and trade"
price: "$0.02"
method: "POST"
url: "https://api.conecto.chat/v1/tools/markets_products"
mcp_server: "https://api.conecto.chat/mcp/markets"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/markets/markets_products"
---

# Get a product's production and trade (`markets_products`)

A product's sold production from PRODCOM and its imports and exports by CN code, by country and year, with the EU27's apparent consumption.

A product's sold production (value and quantity) from PRODCOM by its 8-digit code, and its imports and exports from Eurostat's trade figures by its 8-digit CN code, by country and year; for the EU27, trade with countries outside the EU and the apparent consumption (production + imports - exports) with each figure's source. The UK's imports and exports by CN code from HMRC. Confidential figures are left out, never filled in. Nothing is charged when no figures come back.

Price: $0.02 a call. A call that fails costs nothing.

## Use it when

To see how much of a product is made, bought abroad and sold abroad, before entering or buying into its market.

- For a whole industry rather than one product, use [markets_size](https://conecto.chat/tools/markets/markets_size.md).

## Say this to your agent

> How much commercial cooking equipment is made in the EU and in Germany, how much comes in from outside, and what does the UK import?

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `prodcom` | string | no | The product's 8-digit PRODCOM code, e.g. 28931580. Matches ^\\d{2}\\.?\\d{2}\\.?\\d{2}\\.?\\d{2}$. |  |  |
| `cn` | string | no | Its 8-digit Combined Nomenclature code, e.g. 84198180, for trade. Matches ^\\d{4} ?\\d{2} ?\\d{2}$. |  |  |
| `countries` | array of strings | no | Two-letter codes (DE, FR, NO...) and EU27_2020 for the whole EU; GB says what the UK publishes. EU27_2020 when left out. Up to 12 items. |  |  |
| `years` | integer | no | How many recent years. 1 to 10. |  | `5` |

## Example

Written for Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff.

MCP: call `markets_products` on the MCP server `https://api.conecto.chat/mcp/markets` with these arguments:

```json
{
  "prodcom": "28931580",
  "cn": "84198180",
  "countries": [
    "EU27_2020",
    "DE",
    "GB"
  ],
  "years": 3
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/markets_products \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prodcom": "28931580", "cn": "84198180", "countries": ["EU27_2020", "DE", "GB"], "years": 3}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "markets_products",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.02",
  "balance_usd": "$19.75",
  "result": {
    "product": {
      "prodcom": "28931580",
      "cn": "84198180",
      "prodcom_label": "Non-domestic equipment for cooking or heating food (excluding non-electric tunnel ovens, non-electric bakery ovens, non-electric percolators)",
      "cn_label": "Machinery, plant and equipment for cooking or heating food (excl. percolators and other appliances for making hot drinks and domestic appliances)"
    },
    "countries": [
      {
        "country": "EU27_2020",
        "name": "European Union (27 countries)",
        "trade_with": "countries outside the EU",
        "years": [
          {
            "year": 2023,
            "production_eur": 1840000000,
            "production_quantity": 1800000,
            "quantity_unit": "items",
            "imports_eur": 415022400,
            "imports_tonnes": 15407.7,
            "exports_eur": 1021571541,
            "exports_tonnes": 27504.9,
            "apparent_consumption_eur": 1233450859,
            "flags": {
              "production_eur": "rounded by Eurostat: the true figure is within 40,000,000 either way",
              "production_quantity": "rounded by Eurostat: the true figure is within 300,000 either way",
              "apparent_consumption_eur": "from a production figure that is rounded by Eurostat: the true figure is within 40,000,000 either way"
            }
          },
          {
            "year": 2024,
            "production_eur": 2000000000,
            "production_quantity": 1400000,
            "quantity_unit": "items",
            "imports_eur": 471749366,
            "imports_tonnes": 20353.5,
            "exports_eur": 1038725523,
            "exports_tonnes": 26557.1,
            "apparent_consumption_eur": 1433023843,
            "flags": {
              "production_eur": "rounded by Eurostat: the true figure is within 400,000,000 either way",
              "production_quantity": "rounded by Eurostat: the true figure is within 200,000 either way",
              "apparent_consumption_eur": "from a production figure that is rounded by Eurostat: the true figure is within 400,000,000 either way"
            }
          }
        ]
      },
      {
        "country": "DE",
        "name": "Germany",
        "trade_with": "all countries",
        "years": [
          {
            "year": 2023,
            "production_eur": 775663000,
            "production_quantity": 166176,
            "quantity_unit": "items",
            "imports_eur": 280438775,
            "imports_tonnes": 12668.7,
            "exports_eur": 938023791,
            "exports_tonnes": 21791.5
          },
          {
            "year": 2024,
            "production_eur": 766459000,
            "production_quantity": 156370,
            "quantity_unit": "items",
            "imports_eur": 342993349,
            "imports_tonnes": 16264.8,
            "exports_eur": 1015676412,
            "exports_tonnes": 24739.8
          }
        ]
      }
    ],
    "apparent_consumption": "Apparent consumption is worked out for the EU27 only: sold production + imports from outside the EU - exports to outside the EU, in euros, each from the source named; with cn, the CN code should cover the same product as the PRODCOM code. Trade between EU countries cancels out, so it is left out; a single country's trade includes goods passing through it, so the same sum would mislead there. A year with a figure missing or confidential has none: nothing is filled in.",
    "units": {
      "production_eur": "sold production, euros",
      "production_quantity": "sold production, in quantity_unit",
      "imports_eur": "imports, euros",
      "exports_eur": "exports, euros",
      "imports_tonnes": "imports, tonnes",
      "exports_tonnes": "exports, tonnes",
      "apparent_consumption_eur": "apparent consumption, euros",
      "imports_gbp": "imports, pounds sterling",
      "exports_gbp": "exports, pounds sterling"
    },
    "sources": [
      {
        "name": "Eurostat, PRODCOM, sold production, exports and imports (to 2024)",
        "dataset": "DS-059358",
        "url": "https://ec.europa.eu/eurostat/databrowser/view/ds-059358/default/table?lang=en",
        "license": "Reuse allowed, commercial too, with Eurostat named as the source",
        "license_url": "https://ec.europa.eu/eurostat/help/copyright-notice",
        "figures": [
          "production_eur",
          "production_quantity"
        ]
      },
      {
        "name": "Eurostat, PRODCOM, sold production, exports and imports by the PRODCOM list for CPA 2.2 (from 2025)",
        "dataset": "DS-059367",
        "url": "https://ec.europa.eu/eurostat/databrowser/view/ds-059367/default/table?lang=en",
        "license": "Reuse allowed, commercial too, with Eurostat named as the source",
        "license_url": "https://ec.europa.eu/eurostat/help/copyright-notice",
        "figures": [
          "production_eur",
          "production_quantity"
        ]
      }
    ],
    "notes": [
      "From 2025 PRODCOM follows a new list (CPA 2.2): a product whose code changed has no 2025 figures under its old code."
    ]
  }
}
```

`result`: product (prodcom, cn and their labels); countries (country, name, trade_with, years: year, production_eur, production_quantity, quantity_unit, imports_eur, exports_eur, imports_tonnes, exports_tonnes, apparent_consumption_eur for the EU27, and flags such as rounded or confidential; for the UK imports_gbp and exports_gbp, so_far for the year under way, and a note); apparent_consumption (how it is worked out); units; sources (name, dataset, url, license, license_url, and the figures each one gave) and notes.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `invalid_input` | 400 | Neither prodcom nor cn was given, or a code isn't 8 digits. | Send the 8-digit PRODCOM code, the 8-digit CN code, or both. |
| `unavailable` | 503 | Eurostat or HMRC didn't answer. | Try again in a minute. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [markets_size](https://conecto.chat/tools/markets/markets_size.md): An industry's turnover, value added, enterprises and persons employed by country and year from Eurostat, and the US's from the 2022 Economic Census. $0.02 a call.
- [markets_prices](https://conecto.chat/tools/markets/markets_prices.md): Producer, import, labour cost or electricity price indices for an industry by country and month, with the change on a year, and BLS series for the US. $0.02 a call.
