{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/un-comtrade/main/json-schema/trade-record.json", "title": "UN Comtrade Trade Record", "description": "A single international merchandise or services trade data record from the UN Comtrade database.", "type": "object", "properties": { "typeCode": { "type": "string", "enum": ["C", "S"], "description": "Trade type: C=Commodities/Goods, S=Services" }, "freqCode": { "type": "string", "enum": ["A", "M"], "description": "Reporting frequency: A=Annual, M=Monthly" }, "refPeriodId": { "type": "integer", "description": "Reference period as integer (YYYY or YYYYMM)" }, "refYear": { "type": "integer", "minimum": 1962, "description": "Reference year" }, "refMonth": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Reference month (1–12), or 99 for annual data" }, "period": { "type": "string", "pattern": "^(\\d{4}|\\d{6})$", "description": "Period string: YYYY for annual or YYYYMM for monthly" }, "reporterCode": { "type": "integer", "description": "UN M49 numeric code for the reporting country/territory" }, "reporterISO": { "type": "string", "pattern": "^[A-Z]{3}$", "description": "ISO 3166-1 alpha-3 code for the reporting country" }, "reporterDesc": { "type": "string", "description": "Name of the reporting country/territory" }, "flowCode": { "type": "string", "enum": ["M", "X", "MIP", "XIP", "MOP", "XOP", "RM", "RX"], "description": "Trade flow: M=Import, X=Export, MIP=Import in-transit, XIP=Export in-transit, MOP=Import for outward processing, XOP=Export for outward processing, RM=Re-import, RX=Re-export" }, "flowDesc": { "type": "string", "description": "Human-readable trade flow description" }, "partnerCode": { "type": "integer", "description": "UN M49 numeric code for the partner country (0=World)" }, "partnerISO": { "type": "string", "description": "ISO 3166-1 alpha-3 code for the partner country" }, "partnerDesc": { "type": "string", "description": "Name of the partner country" }, "partner2Code": { "type": ["integer", "null"], "description": "Secondary partner UN M49 code (for triangular trade)" }, "partner2ISO": { "type": ["string", "null"], "description": "Secondary partner ISO alpha-3 code" }, "partner2Desc": { "type": ["string", "null"], "description": "Secondary partner name" }, "classificationCode": { "type": "string", "enum": ["HS", "H5", "H4", "H3", "H2", "H1", "H0", "S4", "S3", "S2", "S1", "S0", "B4", "B3", "EB02"], "description": "Commodity classification system and revision" }, "classificationSearchCode": { "type": "string", "description": "Classification code used for querying" }, "isOriginalClassification": { "type": "boolean", "description": "Whether this is the original reported classification" }, "cmdCode": { "type": "string", "description": "Commodity code (e.g., HS 6-digit code)" }, "cmdDesc": { "type": "string", "description": "Commodity description" }, "aggrLevel": { "type": "integer", "enum": [0, 1, 2, 3, 4, 5, 6], "description": "Commodity aggregation level (2=chapter, 4=heading, 6=subheading for HS)" }, "isLeaf": { "type": "boolean", "description": "Whether this is a leaf-level (most granular) commodity code" }, "customsCode": { "type": ["string", "null"], "description": "Customs procedure code" }, "customsDesc": { "type": ["string", "null"], "description": "Customs procedure description" }, "mosCode": { "type": ["string", "null"], "description": "Mode of supply code (for services trade)" }, "motCode": { "type": ["integer", "null"], "description": "Mode of transport code" }, "motDesc": { "type": ["string", "null"], "description": "Mode of transport description" }, "qtyUnitCode": { "type": ["integer", "null"], "description": "Quantity unit code" }, "qtyUnitAbbr": { "type": ["string", "null"], "description": "Quantity unit abbreviation (e.g., kg, m2, u)" }, "qty": { "type": ["number", "null"], "minimum": 0, "description": "Quantity traded in the specified unit" }, "isQtyEstimated": { "type": "boolean", "description": "Whether the quantity value is estimated rather than reported" }, "altQtyUnitCode": { "type": ["integer", "null"], "description": "Alternative quantity unit code" }, "altQtyUnitAbbr": { "type": ["string", "null"], "description": "Alternative quantity unit abbreviation" }, "altQty": { "type": ["number", "null"], "description": "Alternative quantity" }, "isAltQtyEstimated": { "type": "boolean", "description": "Whether the alternative quantity is estimated" }, "netWgt": { "type": ["number", "null"], "minimum": 0, "description": "Net weight in kilograms" }, "isNetWgtEstimated": { "type": "boolean", "description": "Whether net weight is estimated" }, "grossWgt": { "type": ["number", "null"], "minimum": 0, "description": "Gross weight in kilograms" }, "isGrossWgtEstimated": { "type": "boolean", "description": "Whether gross weight is estimated" }, "cifvalue": { "type": ["number", "null"], "minimum": 0, "description": "CIF (Cost, Insurance, Freight) value in USD — used for imports" }, "fobvalue": { "type": ["number", "null"], "minimum": 0, "description": "FOB (Free On Board) value in USD — used for exports" }, "primaryValue": { "type": ["number", "null"], "minimum": 0, "description": "Primary trade value in USD (CIF for imports, FOB for exports)" }, "legacyEstimationFlag": { "type": ["integer", "null"], "description": "Legacy estimation flag from classic UN Comtrade format" }, "isReported": { "type": "boolean", "description": "Whether data was officially reported (true) or mirrored from partner (false)" }, "isAggrAbove": { "type": "boolean", "description": "Whether values are aggregated above the requested commodity level" } }, "required": [ "typeCode", "freqCode", "period", "reporterCode", "flowCode", "cmdCode" ], "additionalProperties": true }