TradeService

GetTariffTrends

Average applied tariff timeseries for one reporting economy: the MFN rate over all products, or with a partner and/or product group the effectively applied rate on those imports. Not an HS-line rate. PRO-gated. Requires entitlement tier >= 1.

get/api/trade/v1/get-tariff-trends

Request

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

Query parameters

reporting_countrystring

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

partner_countrystring

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

product_sectorstring

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.

yearsinteger

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.

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

fetchedAtstring

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

upstreamUnavailableboolean

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.

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

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.

coverageStartYearinteger

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.

coverageEndYearinteger

Changes

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