Skip to main content
Colombia’s tax and customs authority (DIAN) publishes the national tariff (arancel). For every subpartida arancelaria it lists the official text, the physical unit quantities are declared in, the general import duty (gravamen arancelario), the VAT on imports, the preferential duty under each trade agreement for each country of origin (Comunidad Andina, Mercosur, the FTAs with the United States, the European Union, Canada and others), and the trade regime for imports. Each one comes with its validity (from and to) and the norm behind it. Ask with the full 10-digit subpartida, and optionally a date to get the rates in force on that day, back to 2007. The first ask of a subpartida reads DIAN; later asks within 7 days answer from Croma’s stored answer, which is re-read regularly so it follows each new decree. For what an import needs beyond the rates (vistos buenos, licenses, minimum descriptions), see VUCE. POST /co/dian-arancel/tariff/v1 Lookup What DIAN’s tariff lists today for one subpartida. The example is men’s knitted coats of other textiles: a 40 % general duty, 19 % VAT, and 0 % from most trade partners.
Answers from Croma’s copy when it holds a recent answer for the key, otherwise reads the source and keeps the answer. Every response says when the source was last asked (checked_at) and where the answer came from (served_from).
Returns found, tariff_code, date (the date asked, null for today), checked_at (when DIAN was last asked), served_from (copy, upstream or stale) and tariff. tariff carries tariff_code, chapter, heading and hs_code (its first two, four and six digits; hs_code is the Harmonized System subheading, the same worldwide), as_of (the day the rates are those in force on), nomenclature (e.g. ARIAN), valid_from, valid_to and legal_basis of the subpartida itself, official_text (the texto oficial, one level per line) with official_text_levels, official_text_valid_from, official_text_valid_to and official_text_legal_basis, physical_unit, import_duties, import_duty_percent, vat_rates, agreement_duties, trade_regimes and checked_at. Every rate and regime carries valid_from and valid_to (YYYY-MM-DD; valid_to is null while it has no end date) and legal_basis, the norm DIAN cites for it. physical_unit is the unit quantities are declared in: code (e.g. u, kg) and name. Each entry of import_duties is a general duty: concept (e.g. GRAVAMEN ARANCELARIO), rate verbatim and rate_percent; import_duty_percent is the general duty in force as a number. Each entry of vat_rates is a VAT rate on imports: rate, rate_percent, treatment (EXENTO, EXCLUIDO or null) and applies_to, set when DIAN splits the subpartida by product. Each entry of agreement_duties is the preferential duty under one trade agreement for one country of origin: agreement_code (e.g. 096), agreement, country, concept, rate, rate_percent, preference_index and preference_index_percent (the índice), and pid_rate. Each entry of trade_regimes is the trade regime for imports, regime (e.g. LIBRE IMPORTACIÓN).
A subpartida DIAN does not list, or one not yet in force on the date asked, returns found: false with HTTP 200, not an error. A date reads the rates of a subpartida that exists today; the official text and the physical unit are today’s.

Full reference

Schemas, all response fields, and an interactive playground.