beta.trademap.org APIbeta.trademap.org ↗
Access ITC Trade Map goods and services trade statistics, HS/EBOPS codes, time series, and trade indicators for 200+ countries via 8 structured endpoints.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/9f9021d2-26de-464e-a412-80acf4d30519/get_countries' \ -H 'X-API-Key: $PARSE_API_KEY'
Get list of all countries/territories with their trade data coverage periods for goods and services.
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer total number of countries",
"countries": "array of country objects with countryCd, label, and coverage period info"
},
"sample": {
"data": {
"total": 254,
"countries": [
{
"ti": false,
"nes": false,
"label": "World",
"countryCd": "000",
"yearly246": {
"lastPeriod": 2025,
"firstPeriod": 2001
},
"yearlyServices": {
"lastPeriod": 2024,
"firstPeriod": 2000
}
}
]
},
"status": "success"
}
}About the beta.trademap.org API
The ITC Trade Map API provides 8 endpoints covering international goods and services trade data, including yearly time series, trade indicators (value, balance, growth rates), and full HS and EBOPS product classifications. The goods_time_series endpoint returns paginated import/export values by reporter country, partner, and HS code across a configurable year range, while goods_trade_indicators delivers VAL, BAL, GV5, and GV2 metrics for a given reference year.
Coverage and Classification
The API exposes the full ITC Trade Map dataset. The get_countries endpoint returns every country and territory with its trade data coverage period for both goods and services. The get_country_groups endpoint lists economic groupings (BRICS, OECD, LDCs), geographic regions (Africa, Asia), and customs unions (EU, MERCOSUR, ASEAN) with id, label, type, and note fields. Product classification is handled by two separate endpoints: get_products_hs delivers HS codes at the 2-digit (chapter), 4-digit (heading), and 6-digit (subheading) levels including revision metadata, while get_services_ebops returns EBOPS codes with productCd, label, displayCd, and maxLevel.
Goods Trade Data
The goods_time_series endpoint accepts a 3-digit reporter country code (country), a partner code (partner, use 000 for all partners), an HS product code or ALL, and a by parameter to pivot results either byProduct or byCountry. The hs_level parameter controls granularity at 2, 4, or 6 digits. Responses include paginated records arrays where each record carries reporterCd, partnerCd, productCd, and a data array of period/value pairs, alongside aggregateRecords for totals. Note that country=000 (World) is not supported as a reporter; a specific country code is required. The goods_trade_indicators endpoint follows the same parameter pattern and adds a refYear field to the response, with indicator codes VAL (trade value), BAL (trade balance), GV5 (5-year growth), GV2 (2-year growth), and GV5W (world 5-year growth).
Services Trade Data
The services_time_series endpoint mirrors the goods time series structure but uses EBOPS service codes instead of HS codes and a byService pivot option. A page_size parameter (max 500) controls response volume. The sort_dir parameter accepts desc or asc; using asc on large datasets is documented to cause timeouts, so desc or omitting the parameter is recommended. The get_coverage endpoint queries either goods or services via the data_type parameter and returns the number of reporting countries and the latest available period for each data frequency (yearly, quarterly, monthly).
- Build an export market dashboard showing a country's top trade partners using
goods_time_seriesfiltered by reporter andbyCountry. - Track bilateral trade balances over time by pairing
goods_trade_indicatorsBAL values for a specific country-partner-product combination. - Generate HS chapter-level trade breakdowns by querying
goods_time_serieswithhs_level=2andby=byProduct. - Identify fast-growing product categories by sorting
goods_trade_indicatorson GV5 (5-year growth rate) for a given reporter country. - Map services trade flows across EBOPS categories using
services_time_serieswithby=byServicefor a specific country. - Populate a country-selector UI with trade coverage dates from
get_countriesso users know which periods are available. - Filter analysis to EU or ASEAN members by retrieving group membership from
get_country_groupsand cross-referencing with trade records.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ITC Trade Map have an official developer API?+
What does `goods_trade_indicators` return, and how is it different from `goods_time_series`?+
goods_trade_indicators returns summary metrics for a single reference year (refYear): trade value (VAL), trade balance (BAL), 5-year value growth (GV5), 2-year value growth (GV2), and world 5-year growth (GV5W). goods_time_series returns annual period/value pairs across a range of years without computed growth indicators — it's for raw trend data rather than pre-calculated performance metrics.Can I use `country=000` to retrieve aggregate World-level trade data as the reporter?+
goods_time_series and goods_trade_indicators require a specific 3-digit reporter country code. The World aggregate (000) is only valid as a partner code meaning all partners combined. You can fork this API on Parse and revise it to add a dedicated world-aggregate endpoint if your use case requires it.Does the API expose quarterly or monthly trade data, not just yearly figures?+
get_coverage endpoint reports that quarterly and monthly data frequencies exist in the source (dataType codes Q and M alongside Y for yearly), but the time series endpoints (goods_time_series and services_time_series) return yearly figures. Sub-annual granularity is not currently served. You can fork this API on Parse and revise it to add endpoints targeting those frequencies.Are there any known timeout or performance issues to be aware of?+
services_time_series endpoint is documented to timeout when sort_dir=asc is used on large result sets. The recommended approach is to omit the parameter or set sort_dir=desc. Using page_size (max 500) and requesting specific service codes rather than ALL also reduces response size and latency.