TradeService

GetBilateralTariff

Applied tariff on one HS6 product between two countries (UNCTAD TRAINS). PRO-gated. Requires entitlement tier >= 1.

get/api/trade/v1/get-bilateral-tariff

Request

  • Base URL: https://api.worldmonitor.app
  • URL: https://api.worldmonitor.app/api/trade/v1/get-bilateral-tariff
  • Auth: one of:
    • API key in header X-WorldMonitor-Key
    • API key in header X-Api-Key
    • HTTP bearer

Query parameters

reporting_countrystring required

Importer, 3-digit UN M49 ("840"). EU members use the EU schedule.

partner_countrystring required

Exporter, 3-digit UN M49 ("484"). "000" returns MFN only.

hs_codestring required

Six-digit HS subheading ("870323").

yearinteger

Tariff year; 0 = latest year TRAINS lists for the importer.

jmespathstring

Optional JMESPath expression applied server-side to project or reduce the JSON response before it is returned (mirrors the MCP jmespath argument). Invalid expressions, expressions larger than 1024 UTF-8 bytes, or projections that exceed the 256 KB output cap return HTTP 400 with a {_jmespath_error, original_keys} envelope. Grammar and worked examples: https://www.worldmonitor.app/docs/mcp-jmespath.

Response

OK

reportingCountrystring

Importer code, as requested.

partnerCountrystring

Exporter code, as requested.

hsCodestring

HS6 code, as requested.

yearinteger

Year served; 0 when none.

nomenclaturestring

HS edition the importer filed in ("H5" = HS 2017).

basis'APPLIED_TARIFF_BASIS_UNSPECIFIED' | 'APPLIED_TARIFF_BASIS_PREFERENTIAL' | 'APPLIED_TARIFF_BASIS_MFN' | 'APPLIED_TARIFF_BASIS_MFN_PREFERENCES_NOT_REPORTED'

Source of applied_rate.

sourcestring

Data source.

sourceUrlstring

WITS query behind the rows.

upstreamUnavailableboolean

True on a fault, false on a coverage answer.

unavailableReason'BILATERAL_TARIFF_UNAVAILABLE_REASON_UNSPECIFIED' | 'BILATERAL_TARIFF_UNAVAILABLE_REASON_INVALID_REQUEST' | 'BILATERAL_TARIFF_UNAVAILABLE_REASON_NOT_COVERED' | 'BILATERAL_TARIFF_UNAVAILABLE_REASON_UPSTREAM_UNAVAILABLE'

Why no rate was served. NOT_COVERED is final; UPSTREAM_UNAVAILABLE is a fault.

filingReporterstring

Reporter code queried: "918" for EU members.

Changes

No recorded changes to this operation across all 1 revision of this API.