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

Partner country as a 3-digit UN M49 code. Accepted for forward compatibility; TP_A_0010 is an MFN applied average for the reporting economy and has no partner dimension, so this field never changes the answer. Empty is the documented default.

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

Product sector filter. Empty or "all" selects the All-products aggregate, which is the only sector currently covered. Any other value is accepted by validation and answered with unavailable_reason TARIFF_TREND_UNAVAILABLE_REASON_NOT_COVERED so sector coverage can widen without a contract change. Max 16 characters, alphanumeric / underscore / hyphen.

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 timestamp when data was fetched from WTO.

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
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>