Base URL
https://www.msicdata.com/api/v1/msic
All endpoints use GET requests and return JSON responses. The API is publicly accessible with no authentication required.
Rate Limits
Please be respectful with your API usage. While there are no strict rate limits, excessive requests may be throttled. For bulk data needs, consider caching responses.
Endpoints
GET
Lookup by Code
Get full details for a specific MSIC code.
Endpoint
/api/v1/msic?code={code}
Parameters
| Name | Required | Description |
|---|---|---|
| code | Required | MSIC code (A-U for sections, 2-5 digits for other levels) |
Example Request
curl "https://www.msicdata.com/api/v1/msic?code=62010"
Example Response
{
"data": {
"code": "62010",
"name_en": "Computer programming activities",
"name_ms": "Aktiviti pengaturcaraan komputer",
"name_zh": "计算机编程活动",
"description_en": "...",
"level": 5,
"type": "item",
"class_code": "6201",
"sst_applicable": true,
"sst_rate": 6,
...
}
}GET
Search
Search across all MSIC codes by name (EN/MS/ZH) or description.
Endpoint
/api/v1/msic?q={query}
Parameters
| Name | Required | Description |
|---|---|---|
| q | Required | Search query (min 2 characters) |
| limit | Optional | Max results (default 50, max 100) |
| offset | Optional | Pagination offset (default 0) |
Example Request
curl "https://www.msicdata.com/api/v1/msic?q=consulting"
Example Response
{
"data": [
{ "code": "70201", "name_en": "...", "level": 5, "type": "item" },
{ "code": "70209", "name_en": "...", "level": 5, "type": "item" },
...
],
"pagination": {
"total": 42,
"limit": 50,
"offset": 0,
"hasMore": false
}
}GET
Get Children
Get all child codes under a parent code (e.g., all divisions in section M).
Endpoint
/api/v1/msic?parent={code}
Parameters
| Name | Required | Description |
|---|---|---|
| parent | Required | Parent MSIC code |
| limit | Optional | Max results (default 50, max 100) |
| offset | Optional | Pagination offset (default 0) |
Example Request
curl "https://www.msicdata.com/api/v1/msic?parent=M"
Example Response
{
"parent": "M",
"data": [
{ "code": "69", "name_en": "Legal and accounting activities", "level": 2, "type": "division" },
{ "code": "70", "name_en": "...", "level": 2, "type": "division" },
...
],
"pagination": { ... }
}GET
List by Level
Get all codes at a specific hierarchy level.
Endpoint
/api/v1/msic?level={1-5}
Parameters
| Name | Required | Description |
|---|---|---|
| level | Required | 1=section, 2=division, 3=group, 4=class, 5=item |
| limit | Optional | Max results (default 50, max 100) |
| offset | Optional | Pagination offset (default 0) |
Example Request
curl "https://www.msicdata.com/api/v1/msic?level=5&limit=100"
Example Response
{
"level": 5,
"data": [
{ "code": "01111", "name_en": "...", "level": 5, "type": "item" },
{ "code": "01112", "name_en": "...", "level": 5, "type": "item" },
...
],
"pagination": {
"total": 1526,
"limit": 100,
"offset": 0,
"hasMore": true
}
}Response Fields
| Field | Type | Description |
|---|---|---|
| code | string | MSIC code (e.g., "62010", "M") |
| name_en | string | English name |
| name_ms | string | Malay name |
| name_zh | string | Chinese name |
| description_en | string | English description |
| level | number | 1=section, 2=division, 3=group, 4=class, 5=item |
| type | string | "section", "division", "group", "class", or "item" |
| sst_applicable | boolean | Whether SST applies (items only) |
| sst_rate | number | SST rate percentage (items only) |
| wht_applicable | boolean | Whether withholding tax applies (items only) |
| einvoice_category | string | e-Invoice category (items only) |
| risk_level | string | "low", "medium", or "high" (items only) |
Code Examples
JavaScript / Node.js
// Fetch MSIC code details
const response = await fetch('https://www.msicdata.com/api/v1/msic?code=62010');
const { data } = await response.json();
console.log(data.name_en); // "Computer programming activities"
// Search for codes
const search = await fetch('https://www.msicdata.com/api/v1/msic?q=consulting');
const { data: results } = await search.json();
results.forEach(item => console.log(item.code, item.name_en));Python
import requests
# Fetch MSIC code details
response = requests.get('https://www.msicdata.com/api/v1/msic?code=62010')
data = response.json()['data']
print(data['name_en']) # "Computer programming activities"
# Search for codes
search = requests.get('https://www.msicdata.com/api/v1/msic?q=consulting')
for item in search.json()['data']:
print(item['code'], item['name_en'])Need Help?
If you have questions about the API or encounter issues, please contact us at api@msicdata.my.