oneapi
Sign in
Financiar v1 / Inflatie

External trade by county and product

FOB exports and CIF imports across 42 counties and the Combined Nomenclature of goods, monthly since January 2011. 1,658,800 values from the TEMPO matrices EXP101J and EXP102J — 85% of the whole foreign trade domain and the only cut that goes below national level. Everything in thousand euro; at this level of detail no other currency exists.

⚠️ The nomenclature holds TWO levels in a single list: 22 sections written in Roman numerals and 97 chapters with two digits, plus the total. They cover the same goods, so added together they count twice. Without an explicit filter, the response gives only the total.

✅ The sections are a complete partition: their sum gives the total in 8,140 of 8,140 cells, on both flows, with a maximum deviation of 5 thousand euro.

⚠️ The chapters are NOT a partition: 5,048 of 8,140 for exports and 3,819 of 8,140 for imports — and every deviation falls BELOW the total, none above. The source suppresses small county × chapter × month cells, so that no individual exporter can be identified. In addition, chapter 99 (special codes) is published only up to 2023.

⚠️ The counties give the total only with nespecificat included — trade that cannot be attributed to a county is 1.35% of exports and 1.25% of imports in 2024 (1.82% and 2.07% in 2025), peaking at 4.69% and 4.42% in 2022. Anyone skipping it loses whole percentage points without finding out.

GET
https://oneapi.ro/api/financiar/v1/comert-exterior/judete

Query parameters

NameTypeDescriptionAccepted values
nivel_ncoptional string | null Optional: total (default), sectiune, capitol. The two levels never mix. totalsectiunecapitol
nivel_teritoriuoptional string | null Optional: tara (the default when no county is given), judet, neatribuit. tarajudetneatribuit
de_laoptional string | null Optional, month as YYYY-MM, from 2011-01. e.g. 2024-06-15
pana_laoptional string | null Optional, month as YYYY-MM. e.g. 2024-06-15
fluxlistoptional text Optional: export, import. Both by default. exportimport
judetlistoptional text Optional, comma-separated vehicle codes, plus total and nespecificat. e.g. CJ
nclistoptional text Optional: sections in Roman numerals (I…XXII), two-digit chapters (01…99) or total. e.g. total

How it behaves

  • Exports FOB and imports CIF across 42 counties and the Combined Nomenclature of goods, monthly from January 2011. 1,658,800 values from TEMPO matrices EXP101J and EXP102J — 85% of the whole external-trade domain and the only cut that goes below national level. Everything in thousands of euro; at this level of detail the source publishes no other currency.
  • ⚠️ The nomenclature holds TWO levels in a single list: 22 sections written in Roman numerals (I. Live animals and animal products) and 97 two-digit chapters (01. Live animals), plus the total. They cover the same goods, so adding them together counts twice. Without nc or nivel_nc, the response returns the total only.
  • ✅ The sections are a complete partition: their sum equals the total in 8,140 of 8,140 cells, on both flows, with a maximum deviation of 5 thousand euro — rounding, at a derived tolerance of 11.5 (the source publishes whole thousands, and 23 rounded terms can each drift by 0.5).
  • ⚠️ The chapters are NOT a partition: their sum equals the total in only 5,048 of 8,140 cells for exports and 3,819 of 8,140 for imports — and all 3,092 and 4,321 deviations fall BELOW the total, none above. That is the signature of suppression: the source withholds small county × chapter × month cells so that no individual exporter can be identified. The same pattern as the CAEN hierarchy in /financiar/v1/intreprinderi/indicatori.
  • ⚠️ Chapter 99 (special codes) is published only between 2011 and 2023. From January 2024 it disappears from the breakdown while its value stays in the total — one more reason the chapters do not close.
  • ⚠️ The counties sum to the total only with nespecificat included. Trade that cannot be attributed to a county is 1.35% of exports and 1.25% of imports in 2024 (1.82% and 2.07% in 2025), peaking at 4.69% and 4.42% in 2022; leaving it out loses whole percentage points unnoticed. With it in, the identity closes in 21,207 of 21,207 cells for exports and 21,198 of 21,198 for imports, with a maximum deviation of 8 thousand euro.
  • Counties are requested by their vehicle-registration code (CJ, B), the same as cod_auto in /locations/v1 — all 42 join the territorial nomenclature.

What it is for

  • What a county actually exports, by section of goods, month by month.
  • A county’s dependence on a single product group.
  • The local trade balance as a territorial economic signal.
  • The path of one group of goods across the country, over fifteen years of monthly data.

Response structure

FieldTypeDescription
data.de_la string Start of the interval the response covers.
data.pana_la string End of the interval the response covers, inclusive.
data.unitate string The unit of the values. Read it before plotting or adding them up.
data.filtre.nivel_nc string
data.filtre.nivel_teritoriu string Territorial level of the value (country, region, county, locality).
data.luni array Number of months covered.
data.serii[].flux string Direction of the flow (usually import or export).
data.serii[].judet string The county’s vehicle code, or total / nespecificat.
data.serii[].nivel_teritoriu string Territorial level of the value (country, region, county, locality).
data.serii[].nc string Code from the Combined Nomenclature of goods.
data.serii[].nivel_nc string total, sectiune or capitol. Rows of different levels do not add together.
data.serii[].denumire_nc string
data.serii[].unitate string Unit of measure of the values. Read it before plotting or summing them.
data.serii[].luni_publicate integer How many months the source actually published.
data.serii[].valori object The values of the series, by period.
data.identitati.teritoriu object The county partition, computed from the database — it closes only with nespecificat included.
data.identitati.teritoriu.identitate string The identity being checked — which sum must equal which total.
data.identitati.teritoriu.toleranta string How much deviation is accepted before the identity counts as unclosed — the source rounding, not an error.
data.identitati.teritoriu.nota string A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.teritoriu.masurat_pe_toata_seria.export string The value on the export side.
data.identitati.teritoriu.masurat_pe_toata_seria.import string The value on the import side.
data.identitati.teritoriu.pe_flux[].flux string Direction of the flow (usually import or export).
data.identitati.teritoriu.pe_flux[].verificari integer How many combinations were checked.
data.identitati.teritoriu.pe_flux[].inchise integer How many checks closed within tolerance.
data.identitati.teritoriu.pe_flux[].sub_total integer
data.identitati.teritoriu.pe_flux[].peste_total integer
data.identitati.teritoriu.pe_flux[].abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.sectiuni.identitate string The identity being checked — which sum must equal which total.
data.identitati.sectiuni.toleranta string How much deviation is accepted before the identity counts as unclosed — the source rounding, not an error.
data.identitati.sectiuni.nota string A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.sectiuni.masurat_pe_toata_seria.export string The value on the export side.
data.identitati.sectiuni.masurat_pe_toata_seria.import string The value on the import side.
data.identitati.sectiuni.pe_flux[].flux string Direction of the flow (usually import or export).
data.identitati.sectiuni.pe_flux[].verificari integer How many combinations were checked.
data.identitati.sectiuni.pe_flux[].inchise integer How many checks closed within tolerance.
data.identitati.sectiuni.pe_flux[].sub_total integer
data.identitati.sectiuni.pe_flux[].peste_total integer
data.identitati.sectiuni.pe_flux[].abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.capitole object The chapter check, with the direction of the gaps: all below the total, the signature of suppression.
data.identitati.capitole.identitate string The identity being checked — which sum must equal which total.
data.identitati.capitole.toleranta string How much deviation is accepted before the identity counts as unclosed — the source rounding, not an error.
data.identitati.capitole.nota string A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.capitole.masurat_pe_toata_seria.export string The value on the export side.
data.identitati.capitole.masurat_pe_toata_seria.import string The value on the import side.
data.identitati.capitole.pe_flux[].flux string Direction of the flow (usually import or export).
data.identitati.capitole.pe_flux[].verificari integer How many combinations were checked.
data.identitati.capitole.pe_flux[].inchise integer How many checks closed within tolerance.
data.identitati.capitole.pe_flux[].sub_total integer
data.identitati.capitole.pe_flux[].peste_total integer
data.identitati.capitole.pe_flux[].abatere_maxima string Largest deviation found between the sum of components and the total.
meta.sursa string The official source the data comes from, with its licence where one is required.
meta.acoperire.de_la string The first period we have data for.
meta.acoperire.pana_la string The last period we have data for.
meta.serii_returnate integer How many series were actually returned, after filters and the cell ceiling.
meta.unitate string Unit of measure of the values. Read it before plotting or summing them.
meta.nota_implicit string Which value was used when the parameter was not sent.
meta.nota_nomenclator string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_nespecificat string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_capitole string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_lista string What the list contains and what it does not — its limits.
meta.fara_date data is null and this says why. The projection over the INS data is empty. The list is at /financiar/v1/comert-exterior/nomenclator. The combination has no series; nivel_teritoriu=tara and a county code cannot go together. As for the other series.
meta.fara_date_cod The short, STABLE word for the reason, for clients that branch on it in code: fara_date is prose and may be rephrased, this is not.

Response examples

GEThttps://oneapi.ro/api/financiar/v1/comert-exterior/judete
{
    "data": {
        "de_la": "2011-01",
        "pana_la": "2026-06",
        "unitate": "mii EUR",
        "filtre": {
            "nivel_nc": "total",
            "nivel_teritoriu": "tara"
        },
        "luni": [
            "2011-01",
            "2011-02",
            "2011-03",
            "2011-04",
            "2011-05",
            "2011-06",
            "2011-07",
            "2011-08",
            "2011-09",
            "2011-10",
            "2011-11",
            "2011-12",
            "2012-01",
            "2012-02",
            "2012-03",
            "2012-04",
            "2012-05",
            "2012-06",
            "2012-07",
            "2012-08",
            "2012-09",
            "2012-10",
            "2012-11",
            "2012-12",
            "2013-01",
            "2013-02",
            "2013-03",
            "2013-04",
            "2013-05",
            "2013-06",
            "2013-07",
            "2013-08",
            "2013-09",
            "2013-10",
            "2013-11",
            "2013-12",
            "2014-01",
            "2014-02",
            "2014-03",
            "2014-04",
            "2014-05",
            "2014-06",
            "2014-07",
            "2014-08",
            "2014-09",
            "2014-10",
            "2014-11",
            "2014-12",
            "2015-01",
            "2015-02",
            "2015-03",
            "2015-04",
            "2015-05",
            "2015-06",
            "2015-07",
            "2015-08",
            "2015-09",
            "2015-10",
            "2015-11",
            "2015-12",
            "2016-01",
            "2016-02",
            "2016-03",
            "2016-04",
            "2016-05",
            "2016-06",
            "2016-07",
            "2016-08",
            "2016-09",
            "2016-10",
            "2016-11",
            "2016-12",
            "2017-01",
            "2017-02",
            "2017-03",
            "2017-04",
            "2017-05",
            "2017-06",
            "2017-07",
            "2017-08",
            "2017-09",
            "2017-10",
            "2017-11",
            "2017-12",
            "2018-01",
            "2018-02",
            "2018-03",
            "2018-04",
            "2018-05",
            "2018-06",
            "2018-07",
            "2018-08",
            "2018-09",
            "2018-10",
            "2018-11",
            "2018-12",
            "2019-01",
            "2019-02",
            "2019-03",
            "2019-04",
            "2019-05",
            "2019-06",
            "2019-07",
            "2019-08",
            "2019-09",
            "2019-10",
            "2019-11",
            "2019-12",
            "2020-01",
            "2020-02",
            "2020-03",
            "2020-04",
            "2020-05",
            "2020-06",
            "2020-07",
            "2020-08",
            "2020-09",
            "2020-10",
            "2020-11",
            "2020-12",
            "2021-01",
            "2021-02",
            "2021-03",
            "2021-04",
            "2021-05",
            "2021-06",
            "2021-07",
            "2021-08",
            "2021-09",
            "2021-10",
            "2021-11",
            "2021-12",
            "2022-01",
            "2022-02",
            "2022-03",
            "2022-04",
            "2022-05",
            "2022-06",
            "2022-07",
            "2022-08",
            "2022-09",
            "2022-10",
            "2022-11",
            "2022-12",
            "2023-01",
            "2023-02",
            "2023-03",
            "2023-04",
            "2023-05",
            "2023-06",
            "2023-07",
            "2023-08",
            "2023-09",
            "2023-10",
            "2023-11",
            "2023-12",
            "2024-01",
            "2024-02",
            "2024-03",
            "2024-04",
            "2024-05",
            "2024-06",
            "2024-07",
            "2024-08",
            "2024-09",
            "2024-10",
            "2024-11",
            "2024-12",
            "2025-01",
            "2025-02",
            "2025-03",
            "2025-04",
            "2025-05",
            "2025-06",
            "2025-07",
            "2025-08",
            "2025-09",
            "2025-10",
            "2025-11",
            "2025-12",
            "2026-01",
            "2026-02",
            "2026-03",
            "2026-04",
            "2026-05",
            "2026-06"
        ],
        "serii": [
            {
                "flux": "export",
                "judet": "total",
                "nivel_teritoriu": "tara",
                "nc": "total",
                "nivel_nc": "total",
                "denumire_nc": "Total",
                "unitate": "mii EUR",
                "luni_publicate": 186,
                "valori": {
                    "2011-01": "3422943",
                    "2011-02": "3528003",
                    "2011-03": "4128091",
                    "2011-04": "3421696",
                    "2011-05": "3872666",
                    "2011-06": "3801977",
                    "2011-07": "3823274",
                    "2011-08": "3475050",
                    "2011-09": "4217360",
                    "2011-10": "4138835",
                    "2011-11": "4165480",
                    "2011-12": "3296160",
                    "2012-01": "3488391",
                    "2012-02": "3520652",
                    "2012-03": "4063797",
                    "2012-04": "3537165",
                    "2012-05": "4020114",
                    "2012-06": "3756142",
                    "2012-07": "3795847",
                    "2012-08": "3504020",
                    "2012-09": "3835310",
                    "2012-10": "4196740",
                    "2012-11": "4202263",
                    "2012-12": "3148724",
                    "2013-01": "3702293",
                    "2013-02": "3873488",
                    "2013-03": "4005923",
                    "2013-04": "4088015",
                    "2013-05": "4022273",
                    "2013-06": "4023428",
                    "2013-07": "4482172",
                    "2013-08": "3829146",
                    "2013-09": "4454191",
                    "2013-10": "4701744",
                    "2013-11": "4523783",
                    "2013-12": "3855685",
                    "2014-01": "3936715",
                    "2014-02": "4340882",
                    "2014-03": "4481238",
                    "2014-04": "4170634",
                    "2014-05": "4346506",
                    "2014-06": "4240936",
                    "2014-07": "4775629",
                    "2014-08": "3864314",
                    "2014-09": "4906512",
                    "2014-10": "4932887",
                    "2014-11": "4665901",
                    "2014-12": "3803883",
                    "2015-01": "4187309",
                    "2015-02": "4396429",
                    "2015-03": "4800911",
                    "2015-04": "4399723",
                    "2015-05": "4489317",
                    "2015-06": "4767629",
                    "2015-07": "5043326",
                    "2015-08": "3923544",
                    "2015-09": "4915054",
                    "2015-10": "4993365",
                    "2015-11": "4751223",
                    "2015-12": "3941940",
                    "2016-01": "4118555",
                    "2016-02": "4813226",
                    "2016-03": "4929561",
                    "2016-04": "4704652",
                    "2016-05": "4675165",
                    "2016-06": "4941792",
                    "2016-07": "4811014",
                    "2016-08": "4445931",
                    "2016-09": "5241107",
                    "2016-10": "5086666",
                    "2016-11": "5311409",
                    "2016-12": "4313166",
                    "2017-01": "4679391",
                    "2017-02": "5070650",
                    "2017-03": "5727772",
                    "2017-04": "4773636",
                    "2017-05": "5578985",
                    "2017-06": "5065558",
                    "2017-07": "5226138",
                    "2017-08": "4920873",
                    "2017-09": "5557122",
                    "2017-10": "5762916",
                    "2017-11": "5785801",
                    "2017-12": "4495240",
                    "2018-01": "5424427",
                    "2018-02": "5456572",
                    "2018-03": "6107198",
                    "2018-04": "5233951",
                    "2018-05": "5870795",
                    "2018-06": "5883556",
                    "2018-07": "5899146",
                    "2018-08": "5130684",
                    "2018-09": "5839695",
                    "2018-10": "6336962",
                    "2018-11": "5937519",
                    "2018-12": "4602924",
                    "2019-01": "5509249",
                    "2019-02": "5893867",
                    "2019-03": "6129872",
                    "2019-04": "5531005",
                    "2019-05": "6270819",
                    "2019-06": "5560695",
                    "2019-07": "5853097",
                    "2019-08": "5000520",
                    "2019-09": "6104148",
                    "2019-10": "6328036",
                    "2019-11": "5995446",
                    "2019-12": "4825003",
                    "2020-01": "5686984",
                    "2020-02": "5937279",
                    "2020-03": "5433070",
                    "2020-04": "2931298",
                    "2020-05": "3758505",
                    "2020-06": "4842540",
                    "2020-07": "5553146",
                    "2020-08": "4599210",
                    "2020-09": "6068478",
                    "2020-10": "6260243",
                    "2020-11": "6031029",
                    "2020-12": "5071759",
                    "2021-01": "5408115",
                    "2021-02": "5784213",
                    "2021-03": "6526891",
                    "2021-04": "6236433",
                    "2021-05": "5946323",
                    "2021-06": "6246015",
                    "2021-07": "6361194",
                    "2021-08": "5672703",
                    "2021-09": "6351145",
                    "2021-10": "6546806",
                    "2021-11": "7093269",
                    "2021-12": "6531408",
                    "2022-01": "6757836",
                    "2022-02": "7041230",
                    "2022-03": "8230082",
                    "2022-04": "6888130",
                    "2022-05": "7995551",
                    "2022-06": "7862695",
                    "2022-07": "7893705",
                    "2022-08": "7616511",
                    "2022-09": "8582889",
                    "2022-10": "7964025",
                    "2022-11": "8408684",
                    "2022-12": "6703238",
                    "2023-01": "7178923",
                    "2023-02": "7875750",
                    "2023-03": "8765707",
                    "2023-04": "7223387",
                    "2023-05": "8638824",
                    "2023-06": "7743525",
                    "2023-07": "7657770",
                    "2023-08": "7079169",
                    "2023-09": "8123170",
                    "2023-10": "8407408",
                    "2023-11": "8256121",
                    "2023-12": "6143463",
                    "2024-01": "7082328",
                    "2024-02": "7954737",
                    "2024-03": "7952213",
                    "2024-04": "8301503",
                    "2024-05": "7238022",
                    "2024-06": "7735860",
                    "2024-07": "8318212",
                    "2024-08": "6542696",
                    "2024-09": "8147789",
                    "2024-10": "8443138",
                    "2024-11": "8379524",
                    "2024-12": "6578699",
                    "2025-01": "7243569",
                    "2025-02": "7884109",
                    "2025-03": "8435491",
                    "2025-04": "7868133",
                    "2025-05": "7970092",
                    "2025-06": "8215957",
                    "2025-07": "8881681",
                    "2025-08": "6771217",
                    "2025-09": "8903686",
                    "2025-10": "8872550",
                    "2025-11": "8364983",
                    "2025-12": "7196272",
                    "2026-01": "6895082",
                    "2026-02": "7958595",
                    "2026-03": "8958833",
                    "2026-04": "8196963",
                    "2026-05": "8321015",
                    "2026-06": "8691604"
                }
            }
        ],
        "identitati": {
            "teritoriu": {
                "identitate": "suma celor 42 de judeţe plus `nespecificat` = totalul ţării",
                "toleranta": "22",
                "nota": "⚠️ Se închide NUMAI cu `nespecificat` inclus: comerţul care nu se poate atribui unui judeţ e 1,35% din export şi 1,25% din import în 2024 (1,82% şi 2,07% în 2025), dar a urcat până la 4,69% şi 4,42% în 2022. Cine îl sare pierde procente întregi fără să afle.",
                "masurat_pe_toata_seria": {
                    "export": "21.207/21.207",
                    "import": "21.198/21.198"
                },
                "pe_flux": [
                    {
                        "flux": "export",
                        "verificari": 186,
                        "inchise": 186,
                        "sub_total": 0,
                        "peste_total": 0,
                        "abatere_maxima": "6.0"
                    }
                ]
            },
            "sectiuni": {
                "identitate": "suma celor 22 de secţiuni = totalul",
                "toleranta": "11.5",
                "nota": "Partiţie completă, verificată pe toată seria.",
                "masurat_pe_toata_seria": {
                    "export": "8.140/8.140",
                    "import": "8.140/8.140"
                },
                "pe_flux": [
                    {
                        "flux": "export",
                        "verificari": 186,
                        "inchise": 186,
                        "sub_total": 0,
                        "peste_total": 0,
                        "abatere_maxima": "4.0"
                    }
                ]
            },
            "capitole": {
                "identitate": "suma celor 97 de capitole = totalul",
                "toleranta": "49",
                "nota": "⚠️ NU e o partiţie: sursa suprimă celulele mici judeţ × capitol × lună, ca să nu poată fi identificat un exportator anume. Abaterile cad toate SUB total — semnătura suprimării, nu a unei erori. Capitolul `99` (coduri speciale) se publică doar până în 2023.",
                "masurat_pe_toata_seria": {
                    "export": "5.048/8.140",
                    "import": "3.819/8.140"
                },
                "pe_flux": [
                    {
                        "flux": "export",
                        "verificari": 186,
                        "inchise": 0,
                        "sub_total": 186,
                        "peste_total": 0,
                        "abatere_maxima": "273006.0"
                    }
                ]
            }
        }
    },
    "meta": {
        "sursa": "Institutul Naţional de Statistică — exporturile şi importurile pe judeţe şi pe secţiuni/capitole ale Nomenclatorului Combinat (TEMPO, matricile EXP101J şi EXP102J).",
        "acoperire": {
            "de_la": "2011-01",
            "pana_la": "2026-06"
        },
        "serii_returnate": 2,
        "unitate": "mii EUR",
        "nota_implicit": "Fără `nivel_nc` şi `nivel_teritoriu`, răspunsul ar amesteca cele două niveluri de nomenclator ori ar purta toate cele 44 de rânduri teritoriale. Implicit: totalul ţării, pe totalul mărfurilor.",
        "nota_nomenclator": "Secţiunile şi capitolele sunt două tăieturi ale aceloraşi mărfuri; `nivel_nc` alege una singură.",
        "nota_nespecificat": "⚠️ Se închide NUMAI cu `nespecificat` inclus: comerţul care nu se poate atribui unui judeţ e 1,35% din export şi 1,25% din import în 2024 (1,82% şi 2,07% în 2025), dar a urcat până la 4,69% şi 4,42% în 2022. Cine îl sare pierde procente întregi fără să afle.",
        "nota_capitole": "⚠️ NU e o partiţie: sursa suprimă celulele mici judeţ × capitol × lună, ca să nu poată fi identificat un exportator anume. Abaterile cad toate SUB total — semnătura suprimării, nu a unei erori. Capitolul `99` (coduri speciale) se publică doar până în 2023.",
        "nota_lista": "Nomenclatorul complet, cu nivelul şi anii fiecărui cod: /financiar/v1/comert-exterior/nomenclator."
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatMissing or invalid token.
403feature_indisponibilfinanciar.indici is not in the current plan.
422raspuns_prea_mareOver 20,000 cells. Plus flux, county, code or level outside the expected form; a month written other than YYYY-MM.
429cota_depasitaThe plan's monthly quota has been exceeded (see Retry-After).

All errors share the same shape. eroare.cod is stable and is the value you should branch on in code — not the text in mesaj, which may change.

{
    "eroare": {
        "cod": "raspuns_prea_mare",
        "mesaj": "Over 20,000 cells. Plus flux, county, code or level outside the expected form; a month written other than YYYY-MM.",
        "detalii": {
            "nivel_nc": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}