TradeAtlas APIapiv2.tradeatlas.com ↗
Search TradeAtlas shipment records, company lists, and trade statistics by HS code, country, date range, and company name via 5 structured endpoints.
What is the TradeAtlas API?
The TradeAtlas API exposes 5 endpoints covering global import/export shipment records, company directories, and aggregate trade statistics drawn from bill-of-lading and customs declaration data. The search_shipments endpoint returns individual shipment records filtered by 6-digit HS code, date range, importer/exporter country, and company name. Alongside it, get_trade_statistics delivers roll-up counts and breakdowns by country and firm, while list_trade_companies ranks importers or exporters by shipment volume.
curl -X GET 'https://api.parse.bot/scraper/6829c8f1-379e-424e-b52a-47d34e3507ad/search_hs_codes?query=coffee' \ -H 'X-API-Key: $PARSE_API_KEY'
Looks up 6-digit Harmonized System (HS) product codes by product keyword (for example a commodity name) or by a code fragment. Returns up to about 20 matching codes with their English descriptions; an empty list is a valid result when nothing matches. Use the returned hs_code as the hs_code input of the other endpoints. One upstream request, not paginated.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Product keyword or HS code fragment, at least 3 characters. |
{
"type": "object",
"fields": {
"count": "number of codes returned",
"query": "echo of the search keyword",
"hs_codes": "array of {hs_code (6-digit string), name (English description)}"
},
"sample": {
"data": {
"count": 2,
"query": "coffee",
"hs_codes": [
{
"name": "Coffee, Not Roasted, Not Decaffeinated",
"hs_code": "090111"
},
{
"name": "Coffee, Not Roasted, Decaffeinated",
"hs_code": "090112"
}
]
},
"status": "success"
}
}About the TradeAtlas API
Shipment Records and Filtering
The search_shipments endpoint returns up to 30 shipments per page, ordered by arrival_date descending. Each record includes hs_code, hs_code_description, product_detail, importer_name, importer_country, exporter_name, exporter_country, and a masked boolean. Pages beyond the first may contain masked rows — the response includes a masked_count field indicating how many records on that page have asterisked values. All filter inputs (hs_code, start_date, end_date, importer_country, exporter_country, importer_name, exporter_name, product_keyword) are echoed back in the filters field of every response.
Trade Statistics and Company Profiles
get_trade_statistics aggregates across a query and returns shipment_count, hs_code_count, importer_firm_count, exporter_firm_count, importer_country_count, and exporter_country_count, plus array breakdowns (hs_code_breakdown, importer_country_breakdown, exporter_country_breakdown) giving per-value shipment counts. No pagination is needed here — the endpoint returns all breakdowns in a single response.
list_trade_companies accepts a role parameter (importing or exporting) and returns 30 companies per page ranked by shipment_count. Each company row includes name, company_code, slug, country_code, city_state, address, and any available contact fields, plus the company's top counterpart. The response also includes monthly_shipments (a time series of month and shipment_count) and an exporter_countries breakdown with importer_firm_count and exporter_firm_count per country.
HS Code Lookup and Country Reference
Before querying trade data, use search_hs_codes to resolve a commodity keyword or partial code to a 6-digit hs_code. The endpoint returns up to ~20 matches, each with a name in English. An empty hs_codes array is a valid response when no match is found. list_countries provides the full reference list of ~300 countries and regional groups (such as 'AFRICA'); entries without an ISO code have country_code: null and use only the slug for filtering. Pass those slugs as importer_country or exporter_country inputs to any of the trade endpoints.
The TradeAtlas API is a managed, monitored endpoint for apiv2.tradeatlas.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when apiv2.tradeatlas.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official apiv2.tradeatlas.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Identify the top importers of a specific commodity by running
list_trade_companieswithrole=importingand a resolved HS code - Track monthly shipment volume trends for a product category using the
monthly_shipmentstime series fromlist_trade_companies - Map supplier relationships by extracting
exporter_nameandexporter_countryfromsearch_shipmentsfiltered by a known importer name - Build a competitive intelligence tool showing which countries dominate exports for a given HS code via
exporter_country_breakdownfromget_trade_statistics - Resolve commodity names to 6-digit HS codes programmatically using
search_hs_codesbefore feeding codes into downstream trade queries - Validate trade partner diversity by comparing
importer_country_countandexporter_country_countacross multiple HS codes - Enrich a B2B lead list with shipment counts, addresses, and country data by matching company names through
list_trade_companies
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does TradeAtlas offer an official developer API?+
What does the `masked` field mean in shipment and company results?+
search_shipments and list_trade_companies have sensitive fields replaced with asterisks by the source. The masked boolean on each record flags these rows, and masked_count in the response tells you how many masked records appear on that page. Page 1 typically has fewer masked rows than subsequent pages.Does the API return individual shipment-level financial values such as declared customs value or weight?+
arrival_date, hs_code, product_detail, and company/country identifiers, but do not expose declared value, weight, or unit price fields. The hs_code_breakdown in get_trade_statistics uses a count (shipments) rather than a monetary value. You can fork this API on Parse and revise it to add endpoints that surface those additional fields if they become available.How do regional country groups like 'AFRICA' work in filtering?+
list_countries endpoint returns ~300 entries including both individual countries and regional groups. Groups have country_code: null and is_group: true. Their slug values (e.g. 'africa') can be passed as importer_country or exporter_country to broaden a query to the entire region rather than a single country.Does the API cover import/export data for all countries, or only specific trade lanes?+
get_trade_statistics response will reflect the actual available data — a shipment_count of zero indicates no records match, not necessarily that the trade does not exist.