Skip to main content
GET
GetTariffTrends

Authorizations

X-WorldMonitor-Key
string
header
required

User-issued WorldMonitor API key.

Query Parameters

reporting_country
string

WTO member code of reporting country, as a 3-digit UN M49 code (for example "840" = United States). Empty selects the "840" default.

Pattern: ^([0-9]{3})?$
partner_country
string

Exporting partner, 3-digit UN M49 code ("000" = World). Empty or "000" with no product_sector selects the MFN series.

Pattern: ^([0-9]{3})?$
product_sector
string

WITS product group: an HS section such as "84-85_MachElec" or "50-63_TextCloth", or "AgrRaw", "Chemical", "Food", "Fuels", "manuf", "OresMtls", "Textiles", "Transp" (case-insensitive). Empty or "all" means all products. Other values are answered NOT_COVERED.

Pattern: ^([a-zA-Z0-9_-]{0,16})?$
years
integer<int32>

Number of years to look back from the newest seeded year, inclusive of both endpoints (years = 10 returns 11 calendar years). 0 selects the default of 10; the maximum is 30, which is the full seeded window.

jmespath
string

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

Successful response

Response containing tariff trend datapoints.

datapoints
object[]
fetchedAt
string

ISO 8601 time the data was fetched from WTO or WITS.

upstreamUnavailable
boolean

True when datapoints could not be served because of a fault — a seeded reporter whose cache entry is gone, or a cache read that failed. False when datapoints are served AND when the request names a combination that is simply not part of seeded coverage, which is a contract answer rather than an outage.

effectiveTariffRate
object

Current effective tariff estimate for countries with coverage beyond WTO MFN baselines.

unavailableReason
enum<string>

TariffTrendUnavailableReason says why no datapoints were returned. The distinction that matters is NOT_COVERED — a contract answer, nothing is broken and a retry cannot help — against every other member, which names a fault.

Available options:
TARIFF_TREND_UNAVAILABLE_REASON_UNSPECIFIED,
TARIFF_TREND_UNAVAILABLE_REASON_INVALID_REQUEST,
TARIFF_TREND_UNAVAILABLE_REASON_NOT_COVERED,
TARIFF_TREND_UNAVAILABLE_REASON_SEED_MISSING,
TARIFF_TREND_UNAVAILABLE_REASON_COVERAGE_UNKNOWN,
TARIFF_TREND_UNAVAILABLE_REASON_CACHE_UNAVAILABLE,
TARIFF_TREND_UNAVAILABLE_REASON_UPSTREAM_UNAVAILABLE
coverageStartYear
integer<int32>

First and last calendar year covered by datapoints. Both are 0 when no datapoints are returned. This is the effective window after slicing to years, which may be narrower than the requested lookback when the seed starts later.

coverageEndYear
integer<int32>